@@ -15438,42 +15438,58 @@ ir.cpp:
1543815438#-----| Default -> Block 6
1543915439
1544015440# 2206| Block 5
15441- # 2206| v2206_1(void) = NoOp :
15442- # 2207| r2207_1(glval<ClassWithDestructor>) = VariableAddress[x] :
15443- # 2207| r2207_2(glval<unknown>) = FunctionAddress[set_x] :
15444- # 2207| r2207_3(char) = Constant[97] :
15445- # 2207| v2207_4(void) = Call[set_x] : func:r2207_2, this:r2207_1, 0:r2207_3
15446- # 2207| m2207_5(unknown) = ^CallSideEffect : ~m2205_6
15447- # 2207| m2207_6(unknown) = Chi : total:m2205_6, partial:m2207_5
15448- # 2207| v2207_7(void) = ^IndirectReadSideEffect[-1] : &:r2207_1, m2205_8
15449- # 2207| m2207_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2207_1
15450- # 2207| m2207_9(ClassWithDestructor) = Chi : total:m2205_8, partial:m2207_8
15451- # 2208| v2208_1(void) = NoOp :
15441+ # 2206| v2206_1(void) = NoOp :
15442+ # 2207| r2207_1(glval<ClassWithDestructor>) = VariableAddress[x] :
15443+ # 2207| r2207_2(glval<unknown>) = FunctionAddress[set_x] :
15444+ # 2207| r2207_3(char) = Constant[97] :
15445+ # 2207| v2207_4(void) = Call[set_x] : func:r2207_2, this:r2207_1, 0:r2207_3
15446+ # 2207| m2207_5(unknown) = ^CallSideEffect : ~m2205_6
15447+ # 2207| m2207_6(unknown) = Chi : total:m2205_6, partial:m2207_5
15448+ # 2207| v2207_7(void) = ^IndirectReadSideEffect[-1] : &:r2207_1, m2205_8
15449+ # 2207| m2207_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2207_1
15450+ # 2207| m2207_9(ClassWithDestructor) = Chi : total:m2205_8, partial:m2207_8
15451+ # 2212| r2212_1(glval<ClassWithDestructor>) = VariableAddress[x] :
15452+ # 2212| r2212_2(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
15453+ # 2212| v2212_3(void) = Call[~ClassWithDestructor] : func:r2212_2, this:r2212_1
15454+ # 2212| m2212_4(unknown) = ^CallSideEffect : ~m2207_6
15455+ # 2212| m2212_5(unknown) = Chi : total:m2207_6, partial:m2212_4
15456+ # 2212| v2212_6(void) = ^IndirectReadSideEffect[-1] : &:r2212_1, m2207_9
15457+ # 2212| m2212_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2212_1
15458+ # 2212| m2212_8(ClassWithDestructor) = Chi : total:m2207_9, partial:m2212_7
15459+ # 2208| v2208_1(void) = NoOp :
1545215460#-----| Goto -> Block 7
1545315461
1545415462# 2209| Block 6
15455- # 2209| v2209_1(void) = NoOp :
15456- # 2210| r2210_1(glval<ClassWithDestructor>) = VariableAddress[x] :
15457- # 2210| r2210_2(glval<unknown>) = FunctionAddress[set_x] :
15458- # 2210| r2210_3(char) = Constant[98] :
15459- # 2210| v2210_4(void) = Call[set_x] : func:r2210_2, this:r2210_1, 0:r2210_3
15460- # 2210| m2210_5(unknown) = ^CallSideEffect : ~m2205_6
15461- # 2210| m2210_6(unknown) = Chi : total:m2205_6, partial:m2210_5
15462- # 2210| v2210_7(void) = ^IndirectReadSideEffect[-1] : &:r2210_1, m2205_8
15463- # 2210| m2210_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2210_1
15464- # 2210| m2210_9(ClassWithDestructor) = Chi : total:m2205_8, partial:m2210_8
15465- # 2211| v2211_1(void) = NoOp :
15463+ # 2209| v2209_1(void) = NoOp :
15464+ # 2210| r2210_1(glval<ClassWithDestructor>) = VariableAddress[x] :
15465+ # 2210| r2210_2(glval<unknown>) = FunctionAddress[set_x] :
15466+ # 2210| r2210_3(char) = Constant[98] :
15467+ # 2210| v2210_4(void) = Call[set_x] : func:r2210_2, this:r2210_1, 0:r2210_3
15468+ # 2210| m2210_5(unknown) = ^CallSideEffect : ~m2205_6
15469+ # 2210| m2210_6(unknown) = Chi : total:m2205_6, partial:m2210_5
15470+ # 2210| v2210_7(void) = ^IndirectReadSideEffect[-1] : &:r2210_1, m2205_8
15471+ # 2210| m2210_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2210_1
15472+ # 2210| m2210_9(ClassWithDestructor) = Chi : total:m2205_8, partial:m2210_8
15473+ # 2212| r2212_9(glval<ClassWithDestructor>) = VariableAddress[x] :
15474+ # 2212| r2212_10(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
15475+ # 2212| v2212_11(void) = Call[~ClassWithDestructor] : func:r2212_10, this:r2212_9
15476+ # 2212| m2212_12(unknown) = ^CallSideEffect : ~m2210_6
15477+ # 2212| m2212_13(unknown) = Chi : total:m2210_6, partial:m2212_12
15478+ # 2212| v2212_14(void) = ^IndirectReadSideEffect[-1] : &:r2212_9, m2210_9
15479+ # 2212| m2212_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2212_9
15480+ # 2212| m2212_16(ClassWithDestructor) = Chi : total:m2210_9, partial:m2212_15
15481+ # 2211| v2211_1(void) = NoOp :
1546615482#-----| Goto -> Block 7
1546715483
1546815484# 2212| Block 7
15469- # 2212| m2212_1 (unknown) = Phi : from 5:~m2207_6 , from 6:~m2210_6
15470- # 2212| v2212_2 (void) = NoOp :
15485+ # 2212| m2212_17 (unknown) = Phi : from 5:~m2212_5 , from 6:~m2212_13
15486+ # 2212| v2212_18 (void) = NoOp :
1547115487# 2214| r2214_1(glval<ClassWithDestructor>) = VariableAddress[x] :
1547215488# 2214| m2214_2(ClassWithDestructor) = Uninitialized[x] : &:r2214_1
1547315489# 2214| r2214_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
1547415490# 2214| v2214_4(void) = Call[ClassWithDestructor] : func:r2214_3, this:r2214_1
15475- # 2214| m2214_5(unknown) = ^CallSideEffect : ~m2212_1
15476- # 2214| m2214_6(unknown) = Chi : total:m2212_1 , partial:m2214_5
15491+ # 2214| m2214_5(unknown) = ^CallSideEffect : ~m2212_17
15492+ # 2214| m2214_6(unknown) = Chi : total:m2212_17 , partial:m2214_5
1547715493# 2214| m2214_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2214_1
1547815494# 2214| m2214_8(ClassWithDestructor) = Chi : total:m2214_2, partial:m2214_7
1547915495# 2215| r2215_1(glval<vector<ClassWithDestructor>>) = VariableAddress[ys] :
@@ -18024,21 +18040,38 @@ ir.cpp:
1802418040#-----| Default -> Block 2
1802518041
1802618042# 2512| Block 1
18027- # 2512| v2512_1(void) = NoOp :
18028- # 2513| v2513_1(void) = NoOp :
18043+ # 2512| v2512_1(void) = NoOp :
18044+ # 2518| r2518_1(glval<ClassWithDestructor>) = VariableAddress[y] :
18045+ # 2518| r2518_2(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
18046+ # 2518| v2518_3(void) = Call[~ClassWithDestructor] : func:r2518_2, this:r2518_1
18047+ # 2518| m2518_4(unknown) = ^CallSideEffect : ~m2511_6
18048+ # 2518| m2518_5(unknown) = Chi : total:m2511_6, partial:m2518_4
18049+ # 2518| v2518_6(void) = ^IndirectReadSideEffect[-1] : &:r2518_1, m2511_8
18050+ # 2518| m2518_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2518_1
18051+ # 2518| m2518_8(ClassWithDestructor) = Chi : total:m2511_8, partial:m2518_7
18052+ # 2513| v2513_1(void) = NoOp :
1802918053#-----| Goto -> Block 3
1803018054
1803118055# 2515| Block 2
18032- # 2515| v2515_1(void) = NoOp :
18033- # 2516| v2516_1(void) = NoOp :
18056+ # 2515| v2515_1(void) = NoOp :
18057+ # 2518| r2518_9(glval<ClassWithDestructor>) = VariableAddress[y] :
18058+ # 2518| r2518_10(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
18059+ # 2518| v2518_11(void) = Call[~ClassWithDestructor] : func:r2518_10, this:r2518_9
18060+ # 2518| m2518_12(unknown) = ^CallSideEffect : ~m2511_6
18061+ # 2518| m2518_13(unknown) = Chi : total:m2511_6, partial:m2518_12
18062+ # 2518| v2518_14(void) = ^IndirectReadSideEffect[-1] : &:r2518_9, m2511_8
18063+ # 2518| m2518_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2518_9
18064+ # 2518| m2518_16(ClassWithDestructor) = Chi : total:m2511_8, partial:m2518_15
18065+ # 2516| v2516_1(void) = NoOp :
1803418066#-----| Goto -> Block 3
1803518067
1803618068# 2518| Block 3
18037- # 2518| v2518_1(void) = NoOp :
18038- # 2519| v2519_1(void) = NoOp :
18039- # 2510| v2510_7(void) = ReturnVoid :
18040- # 2510| v2510_8(void) = AliasedUse : ~m2511_6
18041- # 2510| v2510_9(void) = ExitFunction :
18069+ # 2518| m2518_17(unknown) = Phi : from 1:~m2518_5, from 2:~m2518_13
18070+ # 2518| v2518_18(void) = NoOp :
18071+ # 2519| v2519_1(void) = NoOp :
18072+ # 2510| v2510_7(void) = ReturnVoid :
18073+ # 2510| v2510_8(void) = AliasedUse : ~m2518_17
18074+ # 2510| v2510_9(void) = ExitFunction :
1804218075
1804318076# 2521| void destruction_in_switch_3(int)
1804418077# 2521| Block 0
@@ -18092,17 +18125,25 @@ ir.cpp:
1809218125#-----| Goto -> Block 3
1809318126
1809418127# 2527| Block 2
18095- # 2527| v2527_1(void) = NoOp :
18096- # 2528| v2528_1(void) = NoOp :
18128+ # 2527| v2527_1(void) = NoOp :
18129+ # 2530| r2530_9(glval<ClassWithDestructor>) = VariableAddress[y] :
18130+ # 2530| r2530_10(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
18131+ # 2530| v2530_11(void) = Call[~ClassWithDestructor] : func:r2530_10, this:r2530_9
18132+ # 2530| m2530_12(unknown) = ^CallSideEffect : ~m2522_6
18133+ # 2530| m2530_13(unknown) = Chi : total:m2522_6, partial:m2530_12
18134+ # 2530| v2530_14(void) = ^IndirectReadSideEffect[-1] : &:r2530_9, m2522_8
18135+ # 2530| m2530_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2530_9
18136+ # 2530| m2530_16(ClassWithDestructor) = Chi : total:m2522_8, partial:m2530_15
18137+ # 2528| v2528_1(void) = NoOp :
1809718138#-----| Goto -> Block 3
1809818139
1809918140# 2530| Block 3
18100- # 2530| m2530_9 (unknown) = Phi : from 1:~m2530_5, from 2:~m2522_6
18101- # 2530| v2530_10 (void) = NoOp :
18102- # 2531| v2531_1(void) = NoOp :
18103- # 2521| v2521_7(void) = ReturnVoid :
18104- # 2521| v2521_8(void) = AliasedUse : ~m2530_9
18105- # 2521| v2521_9(void) = ExitFunction :
18141+ # 2530| m2530_17 (unknown) = Phi : from 1:~m2530_5, from 2:~m2530_13
18142+ # 2530| v2530_18 (void) = NoOp :
18143+ # 2531| v2531_1(void) = NoOp :
18144+ # 2521| v2521_7(void) = ReturnVoid :
18145+ # 2521| v2521_8(void) = AliasedUse : ~m2530_17
18146+ # 2521| v2521_9(void) = ExitFunction :
1810618147
1810718148perf-regression.cpp:
1810818149# 6| void Big::Big()
0 commit comments