@@ -12473,6 +12473,160 @@ ir.cpp:
1247312473# 2121| v2121_6(void) = AliasedUse : ~m2122_8
1247412474# 2121| v2121_7(void) = ExitFunction :
1247512475
12476+ # 2125| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&)
12477+ # 2125| Block 0
12478+ # 2125| v2125_1(void) = EnterFunction :
12479+ # 2125| m2125_2(unknown) = AliasedDefinition :
12480+ # 2125| m2125_3(unknown) = InitializeNonLocal :
12481+ # 2125| m2125_4(unknown) = Chi : total:m2125_2, partial:m2125_3
12482+ # 2125| r2125_5(glval<unknown>) = VariableAddress[#this] :
12483+ # 2125| m2125_6(glval<ClassWithDestructor>) = InitializeParameter[#this] : &:r2125_5
12484+ # 2125| r2125_7(glval<ClassWithDestructor>) = Load[#this] : &:r2125_5, m2125_6
12485+ # 2125| m2125_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2125_7
12486+ #-----| r0_1(glval<ClassWithDestructor &>) = VariableAddress[(unnamed parameter 0)] :
12487+ #-----| m0_2(ClassWithDestructor &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
12488+ #-----| r0_3(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
12489+ #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
12490+ # 2125| r2125_9(glval<char *>) = FieldAddress[x] : m2125_6
12491+ # 2125| r2125_10(glval<ClassWithDestructor &>) = VariableAddress[(unnamed parameter 0)] :
12492+ # 2125| r2125_11(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2125_10, m0_2
12493+ # 2125| r2125_12(glval<ClassWithDestructor>) = CopyValue : r2125_11
12494+ # 2125| r2125_13(glval<char *>) = FieldAddress[x] : r2125_12
12495+ # 2125| r2125_14(char *) = Load[?] : &:r2125_13, ~m0_4
12496+ # 2125| m2125_15(char *) = Store[?] : &:r2125_9, r2125_14
12497+ # 2125| m2125_16(unknown) = Chi : total:m2125_8, partial:m2125_15
12498+ # 2125| v2125_17(void) = NoOp :
12499+ # 2125| v2125_18(void) = ReturnIndirection[#this] : &:r2125_7, m2125_16
12500+ #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
12501+ # 2125| v2125_19(void) = ReturnVoid :
12502+ # 2125| v2125_20(void) = AliasedUse : m2125_3
12503+ # 2125| v2125_21(void) = ExitFunction :
12504+
12505+ # 2128| void ClassWithDestructor::ClassWithDestructor()
12506+ # 2128| Block 0
12507+ # 2128| v2128_1(void) = EnterFunction :
12508+ # 2128| m2128_2(unknown) = AliasedDefinition :
12509+ # 2128| m2128_3(unknown) = InitializeNonLocal :
12510+ # 2128| m2128_4(unknown) = Chi : total:m2128_2, partial:m2128_3
12511+ # 2128| r2128_5(glval<unknown>) = VariableAddress[#this] :
12512+ # 2128| m2128_6(glval<ClassWithDestructor>) = InitializeParameter[#this] : &:r2128_5
12513+ # 2128| r2128_7(glval<ClassWithDestructor>) = Load[#this] : &:r2128_5, m2128_6
12514+ # 2128| m2128_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2128_7
12515+ # 2128| r2128_9(glval<unknown>) = FunctionAddress[operator new] :
12516+ # 2128| r2128_10(unsigned long) = Constant[1] :
12517+ # 2128| r2128_11(void *) = Call[operator new] : func:r2128_9, 0:r2128_10
12518+ # 2128| m2128_12(unknown) = ^CallSideEffect : ~m2128_4
12519+ # 2128| m2128_13(unknown) = Chi : total:m2128_4, partial:m2128_12
12520+ # 2128| m2128_14(unknown) = ^InitializeDynamicAllocation : &:r2128_11
12521+ # 2128| r2128_15(char *) = Convert : r2128_11
12522+ # 2128| r2128_16(glval<unknown>) = VariableAddress[#this] :
12523+ # 2128| r2128_17(ClassWithDestructor *) = Load[#this] : &:r2128_16, m2128_6
12524+ # 2128| r2128_18(glval<char *>) = FieldAddress[x] : r2128_17
12525+ # 2128| m2128_19(char *) = Store[?] : &:r2128_18, r2128_15
12526+ # 2128| m2128_20(unknown) = Chi : total:m2128_8, partial:m2128_19
12527+ # 2128| v2128_21(void) = NoOp :
12528+ # 2128| v2128_22(void) = ReturnIndirection[#this] : &:r2128_7, m2128_20
12529+ # 2128| v2128_23(void) = ReturnVoid :
12530+ # 2128| v2128_24(void) = AliasedUse : ~m2128_13
12531+ # 2128| v2128_25(void) = ExitFunction :
12532+
12533+ # 2129| void ClassWithDestructor::~ClassWithDestructor()
12534+ # 2129| Block 0
12535+ # 2129| v2129_1(void) = EnterFunction :
12536+ # 2129| m2129_2(unknown) = AliasedDefinition :
12537+ # 2129| m2129_3(unknown) = InitializeNonLocal :
12538+ # 2129| m2129_4(unknown) = Chi : total:m2129_2, partial:m2129_3
12539+ # 2129| r2129_5(glval<unknown>) = VariableAddress[#this] :
12540+ # 2129| m2129_6(glval<ClassWithDestructor>) = InitializeParameter[#this] : &:r2129_5
12541+ # 2129| r2129_7(glval<ClassWithDestructor>) = Load[#this] : &:r2129_5, m2129_6
12542+ # 2129| m2129_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2129_7
12543+ # 2129| r2129_9(glval<unknown>) = FunctionAddress[operator delete] :
12544+ # 2129| r2129_10(glval<unknown>) = VariableAddress[#this] :
12545+ # 2129| r2129_11(ClassWithDestructor *) = Load[#this] : &:r2129_10, m2129_6
12546+ # 2129| r2129_12(glval<char *>) = FieldAddress[x] : r2129_11
12547+ # 2129| r2129_13(char *) = Load[?] : &:r2129_12, ~m2129_8
12548+ # 2129| v2129_14(void) = Call[operator delete] : func:r2129_9, 0:r2129_13
12549+ # 2129| m2129_15(unknown) = ^CallSideEffect : ~m2129_4
12550+ # 2129| m2129_16(unknown) = Chi : total:m2129_4, partial:m2129_15
12551+ # 2129| v2129_17(void) = NoOp :
12552+ # 2129| v2129_18(void) = ReturnIndirection[#this] : &:r2129_7, m2129_8
12553+ # 2129| v2129_19(void) = ReturnVoid :
12554+ # 2129| v2129_20(void) = AliasedUse : ~m2129_16
12555+ # 2129| v2129_21(void) = ExitFunction :
12556+
12557+ # 2131| void ClassWithDestructor::set_x(char)
12558+ # 2131| Block 0
12559+ # 2131| v2131_1(void) = EnterFunction :
12560+ # 2131| m2131_2(unknown) = AliasedDefinition :
12561+ # 2131| m2131_3(unknown) = InitializeNonLocal :
12562+ # 2131| m2131_4(unknown) = Chi : total:m2131_2, partial:m2131_3
12563+ # 2131| r2131_5(glval<unknown>) = VariableAddress[#this] :
12564+ # 2131| m2131_6(glval<ClassWithDestructor>) = InitializeParameter[#this] : &:r2131_5
12565+ # 2131| r2131_7(glval<ClassWithDestructor>) = Load[#this] : &:r2131_5, m2131_6
12566+ # 2131| m2131_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2131_7
12567+ # 2131| r2131_9(glval<char>) = VariableAddress[y] :
12568+ # 2131| m2131_10(char) = InitializeParameter[y] : &:r2131_9
12569+ # 2131| r2131_11(glval<char>) = VariableAddress[y] :
12570+ # 2131| r2131_12(char) = Load[y] : &:r2131_11, m2131_10
12571+ # 2131| r2131_13(glval<unknown>) = VariableAddress[#this] :
12572+ # 2131| r2131_14(ClassWithDestructor *) = Load[#this] : &:r2131_13, m2131_6
12573+ # 2131| r2131_15(glval<char *>) = FieldAddress[x] : r2131_14
12574+ # 2131| r2131_16(char *) = Load[?] : &:r2131_15, ~m2131_8
12575+ # 2131| r2131_17(glval<char>) = CopyValue : r2131_16
12576+ # 2131| m2131_18(char) = Store[?] : &:r2131_17, r2131_12
12577+ # 2131| m2131_19(unknown) = Chi : total:m2131_4, partial:m2131_18
12578+ # 2131| v2131_20(void) = NoOp :
12579+ # 2131| v2131_21(void) = ReturnIndirection[#this] : &:r2131_7, m2131_8
12580+ # 2131| v2131_22(void) = ReturnVoid :
12581+ # 2131| v2131_23(void) = AliasedUse : ~m2131_19
12582+ # 2131| v2131_24(void) = ExitFunction :
12583+
12584+ # 2134| bool initialization_with_destructor_bool
12585+ # 2134| Block 0
12586+ # 2134| v2134_1(void) = EnterFunction :
12587+ # 2134| m2134_2(unknown) = AliasedDefinition :
12588+ # 2134| r2134_3(glval<bool>) = VariableAddress[initialization_with_destructor_bool] :
12589+ # 2134| r2134_4(bool) = Constant[1] :
12590+ # 2134| m2134_5(bool) = Store[initialization_with_destructor_bool] : &:r2134_3, r2134_4
12591+ # 2134| m2134_6(unknown) = Chi : total:m2134_2, partial:m2134_5
12592+ # 2134| v2134_7(void) = ReturnVoid :
12593+ # 2134| v2134_8(void) = AliasedUse : ~m2134_6
12594+ # 2134| v2134_9(void) = ExitFunction :
12595+
12596+ # 2136| void initialization_with_destructor(bool, char)
12597+ # 2136| Block 0
12598+ # 2136| v2136_1(void) = EnterFunction :
12599+ # 2136| m2136_2(unknown) = AliasedDefinition :
12600+ # 2136| m2136_3(unknown) = InitializeNonLocal :
12601+ # 2136| m2136_4(unknown) = Chi : total:m2136_2, partial:m2136_3
12602+ # 2136| r2136_5(glval<bool>) = VariableAddress[b] :
12603+ # 2136| m2136_6(bool) = InitializeParameter[b] : &:r2136_5
12604+ # 2136| r2136_7(glval<char>) = VariableAddress[c] :
12605+ # 2136| m2136_8(char) = InitializeParameter[c] : &:r2136_7
12606+ # 2137| r2137_1(glval<ClassWithDestructor>) = VariableAddress[x] :
12607+ # 2137| m2137_2(ClassWithDestructor) = Uninitialized[x] : &:r2137_1
12608+ # 2137| r2137_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
12609+ # 2137| v2137_4(void) = Call[ClassWithDestructor] : func:r2137_3, this:r2137_1
12610+ # 2137| m2137_5(unknown) = ^CallSideEffect : ~m2136_4
12611+ # 2137| m2137_6(unknown) = Chi : total:m2136_4, partial:m2137_5
12612+ # 2137| m2137_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2137_1
12613+ # 2137| m2137_8(ClassWithDestructor) = Chi : total:m2137_2, partial:m2137_7
12614+ # 2137| r2137_9(glval<bool>) = VariableAddress[b] :
12615+ # 2137| r2137_10(bool) = Load[b] : &:r2137_9, m2136_6
12616+ # 2137| v2137_11(void) = ConditionalBranch : r2137_10
12617+ #-----| True -> Block 1
12618+
12619+ # 2138| Block 1
12620+ # 2138| r2138_1(glval<ClassWithDestructor>) = VariableAddress[x] :
12621+ # 2138| r2138_2(glval<unknown>) = FunctionAddress[set_x] :
12622+ # 2138| r2138_3(char) = Constant[97] :
12623+ # 2138| v2138_4(void) = Call[set_x] : func:r2138_2, this:r2138_1, 0:r2138_3
12624+ # 2138| m2138_5(unknown) = ^CallSideEffect : ~m2137_6
12625+ # 2138| m2138_6(unknown) = Chi : total:m2137_6, partial:m2138_5
12626+ # 2138| v2138_7(void) = ^IndirectReadSideEffect[-1] : &:r2138_1, m2137_8
12627+ # 2138| m2138_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2138_1
12628+ # 2138| m2138_9(ClassWithDestructor) = Chi : total:m2137_8, partial:m2138_8
12629+
1247612630perf-regression.cpp:
1247712631# 6| void Big::Big()
1247812632# 6| Block 0
0 commit comments