C++: Accept test changes.

This commit is contained in:
Mathias Vorreiter Pedersen
2024-04-04 20:02:02 +01:00
parent f098b8eb82
commit b6ddb97e40
7 changed files with 294 additions and 240 deletions

View File

@@ -1088,7 +1088,7 @@ destructors_for_temps.cpp:
#-----| True -> Block 3
# 42| Block 1
# 42| m42_7(unknown) = Phi : from 2:~m45_22, from 4:~m47_6
# 42| m42_7(unknown) = Phi : from 2:~m47_5, from 4:~m47_14
# 42| v42_8(void) = AliasedUse : ~m42_7
# 42| v42_9(void) = ExitFunction :
@@ -1097,44 +1097,60 @@ destructors_for_temps.cpp:
#-----| Goto -> Block 1
# 45| Block 3
# 45| r45_1(glval<ClassWithConstructor>) = VariableAddress[#throw45:7] :
# 45| m45_2(ClassWithConstructor) = Uninitialized[#throw45:7] : &:r45_1
# 45| r45_3(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 45| r45_4(char) = Constant[120] :
# 45| r45_5(glval<ClassWithDestructor2>) = VariableAddress[#temp45:39] :
# 45| m45_6(ClassWithDestructor2) = Uninitialized[#temp45:39] : &:r45_5
# 45| r45_7(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 45| v45_8(void) = Call[ClassWithDestructor2] : func:r45_7, this:r45_5
# 45| m45_9(unknown) = ^CallSideEffect : ~m43_6
# 45| m45_10(unknown) = Chi : total:m43_6, partial:m45_9
# 45| m45_11(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5
# 45| m45_12(ClassWithDestructor2) = Chi : total:m45_6, partial:m45_11
# 45| r45_13(glval<unknown>) = FunctionAddress[get_x] :
# 45| r45_14(char) = Call[get_x] : func:r45_13, this:r45_5
# 45| m45_15(unknown) = ^CallSideEffect : ~m45_10
# 45| m45_16(unknown) = Chi : total:m45_10, partial:m45_15
# 45| v45_17(void) = ^IndirectReadSideEffect[-1] : &:r45_5, m45_12
# 45| m45_18(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5
# 45| m45_19(ClassWithDestructor2) = Chi : total:m45_12, partial:m45_18
# 45| v45_20(void) = Call[ClassWithConstructor] : func:r45_3, this:r45_1, 0:r45_4, 1:r45_14
# 45| m45_21(unknown) = ^CallSideEffect : ~m45_16
# 45| m45_22(unknown) = Chi : total:m45_16, partial:m45_21
# 45| m45_23(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r45_1
# 45| m45_24(ClassWithConstructor) = Chi : total:m45_2, partial:m45_23
# 45| v45_25(void) = ThrowValue : &:r45_1, m45_24
# 45| r45_1(glval<ClassWithConstructor>) = VariableAddress[#throw45:7] :
# 45| m45_2(ClassWithConstructor) = Uninitialized[#throw45:7] : &:r45_1
# 45| r45_3(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 45| r45_4(char) = Constant[120] :
# 45| r45_5(glval<ClassWithDestructor2>) = VariableAddress[#temp45:39] :
# 45| m45_6(ClassWithDestructor2) = Uninitialized[#temp45:39] : &:r45_5
# 45| r45_7(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 45| v45_8(void) = Call[ClassWithDestructor2] : func:r45_7, this:r45_5
# 45| m45_9(unknown) = ^CallSideEffect : ~m43_6
# 45| m45_10(unknown) = Chi : total:m43_6, partial:m45_9
# 45| m45_11(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5
# 45| m45_12(ClassWithDestructor2) = Chi : total:m45_6, partial:m45_11
# 45| r45_13(glval<unknown>) = FunctionAddress[get_x] :
# 45| r45_14(char) = Call[get_x] : func:r45_13, this:r45_5
# 45| m45_15(unknown) = ^CallSideEffect : ~m45_10
# 45| m45_16(unknown) = Chi : total:m45_10, partial:m45_15
# 45| v45_17(void) = ^IndirectReadSideEffect[-1] : &:r45_5, m45_12
# 45| m45_18(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5
# 45| m45_19(ClassWithDestructor2) = Chi : total:m45_12, partial:m45_18
# 45| v45_20(void) = Call[ClassWithConstructor] : func:r45_3, this:r45_1, 0:r45_4, 1:r45_14
# 45| m45_21(unknown) = ^CallSideEffect : ~m45_16
# 45| m45_22(unknown) = Chi : total:m45_16, partial:m45_21
# 45| m45_23(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r45_1
# 45| m45_24(ClassWithConstructor) = Chi : total:m45_2, partial:m45_23
# 45| v45_25(void) = ThrowValue : &:r45_1, m45_24
# 45| r45_26(glval<ClassWithDestructor2>) = CopyValue : r45_5
# 45| r45_27(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 45| v45_28(void) = Call[~ClassWithDestructor2] : func:r45_27, this:r45_26
# 45| m45_29(unknown) = ^CallSideEffect : ~m45_22
# 45| m45_30(unknown) = Chi : total:m45_22, partial:m45_29
# 45| v45_31(void) = ^IndirectReadSideEffect[-1] : &:r45_26, m45_19
# 45| m45_32(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_26
# 45| m45_33(ClassWithDestructor2) = Chi : total:m45_19, partial:m45_32
# 47| r47_1(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 47| r47_2(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 47| v47_3(void) = Call[~ClassWithDestructor2] : func:r47_2, this:r47_1
# 47| m47_4(unknown) = ^CallSideEffect : ~m45_30
# 47| m47_5(unknown) = Chi : total:m45_30, partial:m47_4
# 47| v47_6(void) = ^IndirectReadSideEffect[-1] : &:r47_1, m43_8
# 47| m47_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r47_1
# 47| m47_8(ClassWithDestructor2) = Chi : total:m43_8, partial:m47_7
#-----| Exception -> Block 2
# 47| Block 4
# 47| v47_1(void) = NoOp :
# 47| r47_2(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 47| r47_3(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 47| v47_4(void) = Call[~ClassWithDestructor2] : func:r47_3, this:r47_2
# 47| m47_5(unknown) = ^CallSideEffect : ~m43_6
# 47| m47_6(unknown) = Chi : total:m43_6, partial:m47_5
# 47| v47_7(void) = ^IndirectReadSideEffect[-1] : &:r47_2, m43_8
# 47| m47_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r47_2
# 47| m47_9(ClassWithDestructor2) = Chi : total:m43_8, partial:m47_8
# 42| v42_11(void) = ReturnVoid :
# 47| v47_9(void) = NoOp :
# 47| r47_10(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 47| r47_11(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 47| v47_12(void) = Call[~ClassWithDestructor2] : func:r47_11, this:r47_10
# 47| m47_13(unknown) = ^CallSideEffect : ~m43_6
# 47| m47_14(unknown) = Chi : total:m43_6, partial:m47_13
# 47| v47_15(void) = ^IndirectReadSideEffect[-1] : &:r47_10, m43_8
# 47| m47_16(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r47_10
# 47| m47_17(ClassWithDestructor2) = Chi : total:m43_8, partial:m47_16
# 42| v42_11(void) = ReturnVoid :
#-----| Goto -> Block 1
# 49| void temp_test7(bool)
@@ -1161,7 +1177,7 @@ destructors_for_temps.cpp:
#-----| True -> Block 3
# 49| Block 1
# 49| m49_7(unknown) = Phi : from 2:~m51_26, from 4:~m52_6
# 49| m49_7(unknown) = Phi : from 2:~m52_5, from 4:~m52_14
# 49| v49_8(void) = AliasedUse : ~m49_7
# 49| v49_9(void) = ExitFunction :
@@ -1170,31 +1186,39 @@ destructors_for_temps.cpp:
#-----| Goto -> Block 1
# 51| Block 3
# 51| r51_5(glval<ClassWithConstructor>) = VariableAddress[#throw51:9] :
# 51| m51_6(ClassWithConstructor) = Uninitialized[#throw51:9] : &:r51_5
# 51| r51_7(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 51| r51_8(char) = Constant[120] :
# 51| r51_9(glval<ClassWithDestructor2>) = VariableAddress[#temp51:41] :
# 51| m51_10(ClassWithDestructor2) = Uninitialized[#temp51:41] : &:r51_9
# 51| r51_11(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 51| v51_12(void) = Call[ClassWithDestructor2] : func:r51_11, this:r51_9
# 51| m51_13(unknown) = ^CallSideEffect : ~m50_6
# 51| m51_14(unknown) = Chi : total:m50_6, partial:m51_13
# 51| m51_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_9
# 51| m51_16(ClassWithDestructor2) = Chi : total:m51_10, partial:m51_15
# 51| r51_17(glval<unknown>) = FunctionAddress[get_x] :
# 51| r51_18(char) = Call[get_x] : func:r51_17, this:r51_9
# 51| m51_19(unknown) = ^CallSideEffect : ~m51_14
# 51| m51_20(unknown) = Chi : total:m51_14, partial:m51_19
# 51| v51_21(void) = ^IndirectReadSideEffect[-1] : &:r51_9, m51_16
# 51| m51_22(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_9
# 51| m51_23(ClassWithDestructor2) = Chi : total:m51_16, partial:m51_22
# 51| v51_24(void) = Call[ClassWithConstructor] : func:r51_7, this:r51_5, 0:r51_8, 1:r51_18
# 51| m51_25(unknown) = ^CallSideEffect : ~m51_20
# 51| m51_26(unknown) = Chi : total:m51_20, partial:m51_25
# 51| m51_27(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r51_5
# 51| m51_28(ClassWithConstructor) = Chi : total:m51_6, partial:m51_27
# 51| v51_29(void) = ThrowValue : &:r51_5, m51_28
# 51| r51_5(glval<ClassWithConstructor>) = VariableAddress[#throw51:9] :
# 51| m51_6(ClassWithConstructor) = Uninitialized[#throw51:9] : &:r51_5
# 51| r51_7(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 51| r51_8(char) = Constant[120] :
# 51| r51_9(glval<ClassWithDestructor2>) = VariableAddress[#temp51:41] :
# 51| m51_10(ClassWithDestructor2) = Uninitialized[#temp51:41] : &:r51_9
# 51| r51_11(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 51| v51_12(void) = Call[ClassWithDestructor2] : func:r51_11, this:r51_9
# 51| m51_13(unknown) = ^CallSideEffect : ~m50_6
# 51| m51_14(unknown) = Chi : total:m50_6, partial:m51_13
# 51| m51_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_9
# 51| m51_16(ClassWithDestructor2) = Chi : total:m51_10, partial:m51_15
# 51| r51_17(glval<unknown>) = FunctionAddress[get_x] :
# 51| r51_18(char) = Call[get_x] : func:r51_17, this:r51_9
# 51| m51_19(unknown) = ^CallSideEffect : ~m51_14
# 51| m51_20(unknown) = Chi : total:m51_14, partial:m51_19
# 51| v51_21(void) = ^IndirectReadSideEffect[-1] : &:r51_9, m51_16
# 51| m51_22(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_9
# 51| m51_23(ClassWithDestructor2) = Chi : total:m51_16, partial:m51_22
# 51| v51_24(void) = Call[ClassWithConstructor] : func:r51_7, this:r51_5, 0:r51_8, 1:r51_18
# 51| m51_25(unknown) = ^CallSideEffect : ~m51_20
# 51| m51_26(unknown) = Chi : total:m51_20, partial:m51_25
# 51| m51_27(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r51_5
# 51| m51_28(ClassWithConstructor) = Chi : total:m51_6, partial:m51_27
# 51| v51_29(void) = ThrowValue : &:r51_5, m51_28
# 52| r52_1(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 52| r52_2(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 52| v52_3(void) = Call[~ClassWithDestructor2] : func:r52_2, this:r52_1
# 52| m52_4(unknown) = ^CallSideEffect : ~m51_26
# 52| m52_5(unknown) = Chi : total:m51_26, partial:m52_4
# 52| v52_6(void) = ^IndirectReadSideEffect[-1] : &:r52_1, m50_8
# 52| m52_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r52_1
# 52| m52_8(ClassWithDestructor2) = Chi : total:m50_8, partial:m52_7
#-----| Exception -> Block 2
# 51| Block 4
@@ -1212,15 +1236,15 @@ destructors_for_temps.cpp:
# 51| r51_41(glval<ClassWithDestructor2>) = VariableAddress[#temp51:5] :
# 51| r51_42(ClassWithDestructor2) = Load[#temp51:5] : &:r51_41, m51_40
# 51| m51_43(ClassWithDestructor2) = Store[#temp51:5] : &:r51_1, r51_42
# 52| v52_1(void) = NoOp :
# 52| r52_2(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 52| r52_3(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 52| v52_4(void) = Call[~ClassWithDestructor2] : func:r52_3, this:r52_2
# 52| m52_5(unknown) = ^CallSideEffect : ~m51_35
# 52| m52_6(unknown) = Chi : total:m51_35, partial:m52_5
# 52| v52_7(void) = ^IndirectReadSideEffect[-1] : &:r52_2, m50_8
# 52| m52_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r52_2
# 52| m52_9(ClassWithDestructor2) = Chi : total:m50_8, partial:m52_8
# 52| v52_9(void) = NoOp :
# 52| r52_10(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 52| r52_11(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 52| v52_12(void) = Call[~ClassWithDestructor2] : func:r52_11, this:r52_10
# 52| m52_13(unknown) = ^CallSideEffect : ~m51_35
# 52| m52_14(unknown) = Chi : total:m51_35, partial:m52_13
# 52| v52_15(void) = ^IndirectReadSideEffect[-1] : &:r52_10, m50_8
# 52| m52_16(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r52_10
# 52| m52_17(ClassWithDestructor2) = Chi : total:m50_8, partial:m52_16
# 49| v49_11(void) = ReturnVoid :
#-----| Goto -> Block 1
@@ -14652,7 +14676,7 @@ ir.cpp:
# 2273| v2273_9(void) = ExitFunction :
# 2273| Block 2
# 2273| m2273_10(unknown) = Phi : from 6:~m2282_8, from 9:~m2275_6
# 2273| m2273_10(unknown) = Phi : from 6:~m2282_8, from 9:~m2280_5
# 2273| v2273_11(void) = Unwind :
#-----| Goto -> Block 1
@@ -14662,6 +14686,14 @@ ir.cpp:
# 2277| r2277_3(char *) = Convert : r2277_2
# 2277| m2277_4(char *) = Store[#throw2277:7] : &:r2277_1, r2277_3
# 2277| v2277_5(void) = ThrowValue : &:r2277_1, m2277_4
# 2280| r2280_1(glval<String>) = VariableAddress[s] :
# 2280| r2280_2(glval<unknown>) = FunctionAddress[~String] :
# 2280| v2280_3(void) = Call[~String] : func:r2280_2, this:r2280_1
# 2280| m2280_4(unknown) = ^CallSideEffect : ~m2275_6
# 2280| m2280_5(unknown) = Chi : total:m2275_6, partial:m2280_4
# 2280| v2280_6(void) = ^IndirectReadSideEffect[-1] : &:r2280_1, m2275_8
# 2280| m2280_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1
# 2280| m2280_8(String) = Chi : total:m2275_8, partial:m2280_7
#-----| Exception -> Block 5
# 2279| Block 4
@@ -14673,22 +14705,22 @@ ir.cpp:
# 2279| m2279_6(unknown) = Chi : total:m2275_6, partial:m2279_5
# 2279| m2279_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2279_1
# 2279| m2279_8(String) = Chi : total:m2279_2, partial:m2279_7
# 2280| r2280_1(glval<String>) = VariableAddress[s2] :
# 2280| r2280_2(glval<unknown>) = FunctionAddress[~String] :
# 2280| v2280_3(void) = Call[~String] : func:r2280_2, this:r2280_1
# 2280| m2280_4(unknown) = ^CallSideEffect : ~m2279_6
# 2280| m2280_5(unknown) = Chi : total:m2279_6, partial:m2280_4
# 2280| v2280_6(void) = ^IndirectReadSideEffect[-1] : &:r2280_1, m2279_8
# 2280| m2280_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1
# 2280| m2280_8(String) = Chi : total:m2279_8, partial:m2280_7
# 2280| r2280_9(glval<String>) = VariableAddress[s] :
# 2280| r2280_9(glval<String>) = VariableAddress[s2] :
# 2280| r2280_10(glval<unknown>) = FunctionAddress[~String] :
# 2280| v2280_11(void) = Call[~String] : func:r2280_10, this:r2280_9
# 2280| m2280_12(unknown) = ^CallSideEffect : ~m2280_5
# 2280| m2280_13(unknown) = Chi : total:m2280_5, partial:m2280_12
# 2280| v2280_14(void) = ^IndirectReadSideEffect[-1] : &:r2280_9, m2275_8
# 2280| m2280_12(unknown) = ^CallSideEffect : ~m2279_6
# 2280| m2280_13(unknown) = Chi : total:m2279_6, partial:m2280_12
# 2280| v2280_14(void) = ^IndirectReadSideEffect[-1] : &:r2280_9, m2279_8
# 2280| m2280_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_9
# 2280| m2280_16(String) = Chi : total:m2275_8, partial:m2280_15
# 2280| m2280_16(String) = Chi : total:m2279_8, partial:m2280_15
# 2280| r2280_17(glval<String>) = VariableAddress[s] :
# 2280| r2280_18(glval<unknown>) = FunctionAddress[~String] :
# 2280| v2280_19(void) = Call[~String] : func:r2280_18, this:r2280_17
# 2280| m2280_20(unknown) = ^CallSideEffect : ~m2280_13
# 2280| m2280_21(unknown) = Chi : total:m2280_13, partial:m2280_20
# 2280| v2280_22(void) = ^IndirectReadSideEffect[-1] : &:r2280_17, m2275_8
# 2280| m2280_23(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_17
# 2280| m2280_24(String) = Chi : total:m2275_8, partial:m2280_23
#-----| Goto -> Block 10
# 2281| Block 5
@@ -14707,8 +14739,8 @@ ir.cpp:
# 2282| r2282_4(glval<char *>) = VariableAddress[s] :
# 2282| r2282_5(char *) = Load[s] : &:r2282_4, m2281_3
# 2282| v2282_6(void) = Call[String] : func:r2282_3, this:r2282_1, 0:r2282_5
# 2282| m2282_7(unknown) = ^CallSideEffect : ~m2275_6
# 2282| m2282_8(unknown) = Chi : total:m2275_6, partial:m2282_7
# 2282| m2282_7(unknown) = ^CallSideEffect : ~m2280_5
# 2282| m2282_8(unknown) = Chi : total:m2280_5, partial:m2282_7
# 2282| v2282_9(void) = ^BufferReadSideEffect[0] : &:r2282_5, ~m2281_5
# 2282| m2282_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2282_1
# 2282| m2282_11(String) = Chi : total:m2282_2, partial:m2282_10
@@ -14734,7 +14766,7 @@ ir.cpp:
#-----| Exception -> Block 2
# 2289| Block 10
# 2289| m2289_1(unknown) = Phi : from 4:~m2280_13, from 8:~m2275_6
# 2289| m2289_1(unknown) = Phi : from 4:~m2280_21, from 8:~m2280_5
# 2289| v2289_2(void) = NoOp :
# 2273| v2273_12(void) = ReturnVoid :
#-----| Goto -> Block 1
@@ -15926,9 +15958,12 @@ ir.cpp:
# 2437| v2437_6(void) = ^IndirectReadSideEffect[-1] : &:r2437_1, m2435_8
# 2437| m2437_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2437_1
# 2437| m2437_8(ClassWithDestructor) = Chi : total:m2435_8, partial:m2437_7
# 2434| v2434_7(void) = ReturnVoid :
# 2434| v2434_8(void) = AliasedUse : ~m2437_5
# 2434| v2434_9(void) = ExitFunction :
#-----| Exception -> Block 1
# 2434| Block 1
# 2434| v2434_7(void) = Unwind :
# 2434| v2434_8(void) = AliasedUse : ~m2437_5
# 2434| v2434_9(void) = ExitFunction :
perf-regression.cpp:
# 6| void Big::Big()

View File

@@ -979,8 +979,8 @@
| destructors_for_temps.cpp:39:32:39:53 | StoreValue | r39_37 |
| destructors_for_temps.cpp:42:6:42:15 | ChiPartial | partial:m42_3 |
| destructors_for_temps.cpp:42:6:42:15 | ChiTotal | total:m42_2 |
| destructors_for_temps.cpp:42:6:42:15 | Phi | from 2:~m45_22 |
| destructors_for_temps.cpp:42:6:42:15 | Phi | from 4:~m47_6 |
| destructors_for_temps.cpp:42:6:42:15 | Phi | from 2:~m47_5 |
| destructors_for_temps.cpp:42:6:42:15 | Phi | from 4:~m47_14 |
| destructors_for_temps.cpp:42:6:42:15 | SideEffect | ~m42_7 |
| destructors_for_temps.cpp:42:22:42:22 | Address | &:r42_5 |
| destructors_for_temps.cpp:43:26:43:26 | Address | &:r43_1 |
@@ -1011,36 +1011,57 @@
| destructors_for_temps.cpp:45:39:45:60 | Address | &:r45_5 |
| destructors_for_temps.cpp:45:39:45:60 | Address | &:r45_5 |
| destructors_for_temps.cpp:45:39:45:60 | Address | &:r45_5 |
| destructors_for_temps.cpp:45:39:45:60 | Address | &:r45_26 |
| destructors_for_temps.cpp:45:39:45:60 | Address | &:r45_26 |
| destructors_for_temps.cpp:45:39:45:60 | Arg(this) | this:r45_5 |
| destructors_for_temps.cpp:45:39:45:60 | Arg(this) | this:r45_5 |
| destructors_for_temps.cpp:45:39:45:60 | Arg(this) | this:r45_26 |
| destructors_for_temps.cpp:45:39:45:60 | CallTarget | func:r45_7 |
| destructors_for_temps.cpp:45:39:45:60 | CallTarget | func:r45_27 |
| destructors_for_temps.cpp:45:39:45:60 | ChiPartial | partial:m45_9 |
| destructors_for_temps.cpp:45:39:45:60 | ChiPartial | partial:m45_11 |
| destructors_for_temps.cpp:45:39:45:60 | ChiPartial | partial:m45_18 |
| destructors_for_temps.cpp:45:39:45:60 | ChiPartial | partial:m45_29 |
| destructors_for_temps.cpp:45:39:45:60 | ChiPartial | partial:m45_32 |
| destructors_for_temps.cpp:45:39:45:60 | ChiTotal | total:m43_6 |
| destructors_for_temps.cpp:45:39:45:60 | ChiTotal | total:m45_6 |
| destructors_for_temps.cpp:45:39:45:60 | ChiTotal | total:m45_12 |
| destructors_for_temps.cpp:45:39:45:60 | ChiTotal | total:m45_19 |
| destructors_for_temps.cpp:45:39:45:60 | ChiTotal | total:m45_22 |
| destructors_for_temps.cpp:45:39:45:60 | SideEffect | m45_12 |
| destructors_for_temps.cpp:45:39:45:60 | SideEffect | m45_19 |
| destructors_for_temps.cpp:45:39:45:60 | SideEffect | ~m43_6 |
| destructors_for_temps.cpp:45:39:45:60 | SideEffect | ~m45_22 |
| destructors_for_temps.cpp:45:39:45:60 | Unary | r45_5 |
| destructors_for_temps.cpp:45:62:45:66 | Arg(1) | 1:r45_14 |
| destructors_for_temps.cpp:45:62:45:66 | CallTarget | func:r45_13 |
| destructors_for_temps.cpp:45:62:45:66 | ChiPartial | partial:m45_15 |
| destructors_for_temps.cpp:45:62:45:66 | ChiTotal | total:m45_10 |
| destructors_for_temps.cpp:45:62:45:66 | SideEffect | ~m45_10 |
| destructors_for_temps.cpp:47:1:47:1 | Address | &:r47_2 |
| destructors_for_temps.cpp:47:1:47:1 | Address | &:r47_2 |
| destructors_for_temps.cpp:47:1:47:1 | Arg(this) | this:r47_2 |
| destructors_for_temps.cpp:47:1:47:1 | CallTarget | func:r47_3 |
| destructors_for_temps.cpp:47:1:47:1 | ChiPartial | partial:m47_5 |
| destructors_for_temps.cpp:47:1:47:1 | ChiPartial | partial:m47_8 |
| destructors_for_temps.cpp:47:1:47:1 | Address | &:r47_1 |
| destructors_for_temps.cpp:47:1:47:1 | Address | &:r47_1 |
| destructors_for_temps.cpp:47:1:47:1 | Address | &:r47_10 |
| destructors_for_temps.cpp:47:1:47:1 | Address | &:r47_10 |
| destructors_for_temps.cpp:47:1:47:1 | Arg(this) | this:r47_1 |
| destructors_for_temps.cpp:47:1:47:1 | Arg(this) | this:r47_10 |
| destructors_for_temps.cpp:47:1:47:1 | CallTarget | func:r47_2 |
| destructors_for_temps.cpp:47:1:47:1 | CallTarget | func:r47_11 |
| destructors_for_temps.cpp:47:1:47:1 | ChiPartial | partial:m47_4 |
| destructors_for_temps.cpp:47:1:47:1 | ChiPartial | partial:m47_7 |
| destructors_for_temps.cpp:47:1:47:1 | ChiPartial | partial:m47_13 |
| destructors_for_temps.cpp:47:1:47:1 | ChiPartial | partial:m47_16 |
| destructors_for_temps.cpp:47:1:47:1 | ChiTotal | total:m43_6 |
| destructors_for_temps.cpp:47:1:47:1 | ChiTotal | total:m43_8 |
| destructors_for_temps.cpp:47:1:47:1 | ChiTotal | total:m43_8 |
| destructors_for_temps.cpp:47:1:47:1 | ChiTotal | total:m45_30 |
| destructors_for_temps.cpp:47:1:47:1 | SideEffect | m43_8 |
| destructors_for_temps.cpp:47:1:47:1 | SideEffect | m43_8 |
| destructors_for_temps.cpp:47:1:47:1 | SideEffect | ~m43_6 |
| destructors_for_temps.cpp:47:1:47:1 | SideEffect | ~m45_30 |
| destructors_for_temps.cpp:49:6:49:15 | ChiPartial | partial:m49_3 |
| destructors_for_temps.cpp:49:6:49:15 | ChiTotal | total:m49_2 |
| destructors_for_temps.cpp:49:6:49:15 | Phi | from 2:~m51_26 |
| destructors_for_temps.cpp:49:6:49:15 | Phi | from 4:~m52_6 |
| destructors_for_temps.cpp:49:6:49:15 | Phi | from 2:~m52_5 |
| destructors_for_temps.cpp:49:6:49:15 | Phi | from 4:~m52_14 |
| destructors_for_temps.cpp:49:6:49:15 | SideEffect | ~m49_7 |
| destructors_for_temps.cpp:49:22:49:22 | Address | &:r49_5 |
| destructors_for_temps.cpp:50:26:50:26 | Address | &:r50_1 |
@@ -1104,15 +1125,25 @@
| destructors_for_temps.cpp:51:75:51:96 | Load | m51_37 |
| destructors_for_temps.cpp:51:75:51:96 | SideEffect | ~m50_6 |
| destructors_for_temps.cpp:51:75:51:96 | StoreValue | r51_38 |
| destructors_for_temps.cpp:52:1:52:1 | Address | &:r52_2 |
| destructors_for_temps.cpp:52:1:52:1 | Address | &:r52_2 |
| destructors_for_temps.cpp:52:1:52:1 | Arg(this) | this:r52_2 |
| destructors_for_temps.cpp:52:1:52:1 | CallTarget | func:r52_3 |
| destructors_for_temps.cpp:52:1:52:1 | ChiPartial | partial:m52_5 |
| destructors_for_temps.cpp:52:1:52:1 | ChiPartial | partial:m52_8 |
| destructors_for_temps.cpp:52:1:52:1 | Address | &:r52_1 |
| destructors_for_temps.cpp:52:1:52:1 | Address | &:r52_1 |
| destructors_for_temps.cpp:52:1:52:1 | Address | &:r52_10 |
| destructors_for_temps.cpp:52:1:52:1 | Address | &:r52_10 |
| destructors_for_temps.cpp:52:1:52:1 | Arg(this) | this:r52_1 |
| destructors_for_temps.cpp:52:1:52:1 | Arg(this) | this:r52_10 |
| destructors_for_temps.cpp:52:1:52:1 | CallTarget | func:r52_2 |
| destructors_for_temps.cpp:52:1:52:1 | CallTarget | func:r52_11 |
| destructors_for_temps.cpp:52:1:52:1 | ChiPartial | partial:m52_4 |
| destructors_for_temps.cpp:52:1:52:1 | ChiPartial | partial:m52_7 |
| destructors_for_temps.cpp:52:1:52:1 | ChiPartial | partial:m52_13 |
| destructors_for_temps.cpp:52:1:52:1 | ChiPartial | partial:m52_16 |
| destructors_for_temps.cpp:52:1:52:1 | ChiTotal | total:m50_8 |
| destructors_for_temps.cpp:52:1:52:1 | ChiTotal | total:m50_8 |
| destructors_for_temps.cpp:52:1:52:1 | ChiTotal | total:m51_26 |
| destructors_for_temps.cpp:52:1:52:1 | ChiTotal | total:m51_35 |
| destructors_for_temps.cpp:52:1:52:1 | SideEffect | m50_8 |
| destructors_for_temps.cpp:52:1:52:1 | SideEffect | m50_8 |
| destructors_for_temps.cpp:52:1:52:1 | SideEffect | ~m51_26 |
| destructors_for_temps.cpp:52:1:52:1 | SideEffect | ~m51_35 |
| destructors_for_temps.cpp:54:6:54:15 | ChiPartial | partial:m54_3 |
| destructors_for_temps.cpp:54:6:54:15 | ChiTotal | total:m54_2 |
@@ -12258,7 +12289,7 @@
| ir.cpp:2273:6:2273:24 | ChiTotal | total:m2273_2 |
| ir.cpp:2273:6:2273:24 | Phi | from 2:~m2273_10 |
| ir.cpp:2273:6:2273:24 | Phi | from 6:~m2282_8 |
| ir.cpp:2273:6:2273:24 | Phi | from 9:~m2275_6 |
| ir.cpp:2273:6:2273:24 | Phi | from 9:~m2280_5 |
| ir.cpp:2273:6:2273:24 | Phi | from 10:~m2289_1 |
| ir.cpp:2273:6:2273:24 | SideEffect | ~m2273_7 |
| ir.cpp:2273:31:2273:31 | Address | &:r2273_5 |
@@ -12292,22 +12323,32 @@
| ir.cpp:2280:3:2280:3 | Address | &:r2280_1 |
| ir.cpp:2280:3:2280:3 | Address | &:r2280_9 |
| ir.cpp:2280:3:2280:3 | Address | &:r2280_9 |
| ir.cpp:2280:3:2280:3 | Address | &:r2280_17 |
| ir.cpp:2280:3:2280:3 | Address | &:r2280_17 |
| ir.cpp:2280:3:2280:3 | Arg(this) | this:r2280_1 |
| ir.cpp:2280:3:2280:3 | Arg(this) | this:r2280_9 |
| ir.cpp:2280:3:2280:3 | Arg(this) | this:r2280_17 |
| ir.cpp:2280:3:2280:3 | CallTarget | func:r2280_2 |
| ir.cpp:2280:3:2280:3 | CallTarget | func:r2280_10 |
| ir.cpp:2280:3:2280:3 | CallTarget | func:r2280_18 |
| ir.cpp:2280:3:2280:3 | ChiPartial | partial:m2280_4 |
| ir.cpp:2280:3:2280:3 | ChiPartial | partial:m2280_7 |
| ir.cpp:2280:3:2280:3 | ChiPartial | partial:m2280_12 |
| ir.cpp:2280:3:2280:3 | ChiPartial | partial:m2280_15 |
| ir.cpp:2280:3:2280:3 | ChiPartial | partial:m2280_20 |
| ir.cpp:2280:3:2280:3 | ChiPartial | partial:m2280_23 |
| ir.cpp:2280:3:2280:3 | ChiTotal | total:m2275_6 |
| ir.cpp:2280:3:2280:3 | ChiTotal | total:m2275_8 |
| ir.cpp:2280:3:2280:3 | ChiTotal | total:m2275_8 |
| ir.cpp:2280:3:2280:3 | ChiTotal | total:m2279_6 |
| ir.cpp:2280:3:2280:3 | ChiTotal | total:m2279_8 |
| ir.cpp:2280:3:2280:3 | ChiTotal | total:m2280_5 |
| ir.cpp:2280:3:2280:3 | ChiTotal | total:m2280_13 |
| ir.cpp:2280:3:2280:3 | SideEffect | m2275_8 |
| ir.cpp:2280:3:2280:3 | SideEffect | m2275_8 |
| ir.cpp:2280:3:2280:3 | SideEffect | m2279_8 |
| ir.cpp:2280:3:2280:3 | SideEffect | ~m2275_6 |
| ir.cpp:2280:3:2280:3 | SideEffect | ~m2279_6 |
| ir.cpp:2280:3:2280:3 | SideEffect | ~m2280_5 |
| ir.cpp:2280:3:2280:3 | SideEffect | ~m2280_13 |
| ir.cpp:2281:22:2281:22 | Address | &:r2281_2 |
| ir.cpp:2281:22:2281:22 | Address | &:r2281_2 |
| ir.cpp:2281:22:2281:22 | Address | &:r2281_4 |
@@ -12319,10 +12360,10 @@
| ir.cpp:2282:5:2282:19 | CallTarget | func:r2282_3 |
| ir.cpp:2282:5:2282:19 | ChiPartial | partial:m2282_7 |
| ir.cpp:2282:5:2282:19 | ChiPartial | partial:m2282_10 |
| ir.cpp:2282:5:2282:19 | ChiTotal | total:m2275_6 |
| ir.cpp:2282:5:2282:19 | ChiTotal | total:m2280_5 |
| ir.cpp:2282:5:2282:19 | ChiTotal | total:m2282_2 |
| ir.cpp:2282:5:2282:19 | Load | m2282_11 |
| ir.cpp:2282:5:2282:19 | SideEffect | ~m2275_6 |
| ir.cpp:2282:5:2282:19 | SideEffect | ~m2280_5 |
| ir.cpp:2282:18:2282:18 | Address | &:r2282_4 |
| ir.cpp:2282:18:2282:18 | Address | &:r2282_5 |
| ir.cpp:2282:18:2282:18 | Arg(0) | 0:r2282_5 |
@@ -12332,8 +12373,8 @@
| ir.cpp:2284:24:2284:24 | Address | &:r2284_2 |
| ir.cpp:2284:24:2284:24 | Address | &:r2284_4 |
| ir.cpp:2284:24:2284:24 | Load | m2284_3 |
| ir.cpp:2289:1:2289:1 | Phi | from 4:~m2280_13 |
| ir.cpp:2289:1:2289:1 | Phi | from 8:~m2275_6 |
| ir.cpp:2289:1:2289:1 | Phi | from 4:~m2280_21 |
| ir.cpp:2289:1:2289:1 | Phi | from 8:~m2280_5 |
| ir.cpp:2291:6:2291:18 | ChiPartial | partial:m2291_3 |
| ir.cpp:2291:6:2291:18 | ChiTotal | total:m2291_2 |
| ir.cpp:2291:6:2291:18 | SideEffect | ~m2299_14 |

View File

@@ -20,7 +20,6 @@ multipleIRTypes
lostReachability
backEdgeCountMismatch
useNotDominatedByDefinition
| destructors_for_temps.cpp:45:39:45:60 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | destructors_for_temps.cpp:42:6:42:15 | void temp_test6(bool) | void temp_test6(bool) |
| ir.cpp:1535:8:1535:8 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1535:8:1535:8 | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() |
| try_except.c:13:13:13:13 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:6:6:6:6 | void f() | void f() |
| try_except.c:13:13:13:13 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:6:6:6:6 | void f() | void f() |

View File

@@ -1008,7 +1008,7 @@ destructors_for_temps.cpp:
# 44| r44_1(glval<bool>) = VariableAddress[b] :
# 44| r44_2(bool) = Load[b] : &:r44_1, ~m?
# 44| v44_3(void) = ConditionalBranch : r44_2
#-----| False -> Block 5
#-----| False -> Block 4
#-----| True -> Block 3
# 42| Block 1
@@ -1020,28 +1020,25 @@ destructors_for_temps.cpp:
#-----| Goto -> Block 1
# 45| Block 3
# 45| r45_1(glval<ClassWithConstructor>) = VariableAddress[#throw45:7] :
# 45| mu45_2(ClassWithConstructor) = Uninitialized[#throw45:7] : &:r45_1
# 45| r45_3(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 45| r45_4(char) = Constant[120] :
# 45| r45_5(glval<ClassWithDestructor2>) = VariableAddress[#temp45:39] :
# 45| mu45_6(ClassWithDestructor2) = Uninitialized[#temp45:39] : &:r45_5
# 45| r45_7(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 45| v45_8(void) = Call[ClassWithDestructor2] : func:r45_7, this:r45_5
# 45| mu45_9(unknown) = ^CallSideEffect : ~m?
# 45| mu45_10(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5
# 45| r45_11(glval<unknown>) = FunctionAddress[get_x] :
# 45| r45_12(char) = Call[get_x] : func:r45_11, this:r45_5
# 45| mu45_13(unknown) = ^CallSideEffect : ~m?
# 45| v45_14(void) = ^IndirectReadSideEffect[-1] : &:r45_5, ~m?
# 45| mu45_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5
# 45| v45_16(void) = Call[ClassWithConstructor] : func:r45_3, this:r45_1, 0:r45_4, 1:r45_12
# 45| mu45_17(unknown) = ^CallSideEffect : ~m?
# 45| mu45_18(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r45_1
# 45| v45_19(void) = ThrowValue : &:r45_1, ~m?
#-----| Exception -> Block 2
# 45| Block 4
# 45| r45_1(glval<ClassWithConstructor>) = VariableAddress[#throw45:7] :
# 45| mu45_2(ClassWithConstructor) = Uninitialized[#throw45:7] : &:r45_1
# 45| r45_3(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 45| r45_4(char) = Constant[120] :
# 45| r45_5(glval<ClassWithDestructor2>) = VariableAddress[#temp45:39] :
# 45| mu45_6(ClassWithDestructor2) = Uninitialized[#temp45:39] : &:r45_5
# 45| r45_7(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 45| v45_8(void) = Call[ClassWithDestructor2] : func:r45_7, this:r45_5
# 45| mu45_9(unknown) = ^CallSideEffect : ~m?
# 45| mu45_10(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5
# 45| r45_11(glval<unknown>) = FunctionAddress[get_x] :
# 45| r45_12(char) = Call[get_x] : func:r45_11, this:r45_5
# 45| mu45_13(unknown) = ^CallSideEffect : ~m?
# 45| v45_14(void) = ^IndirectReadSideEffect[-1] : &:r45_5, ~m?
# 45| mu45_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_5
# 45| v45_16(void) = Call[ClassWithConstructor] : func:r45_3, this:r45_1, 0:r45_4, 1:r45_12
# 45| mu45_17(unknown) = ^CallSideEffect : ~m?
# 45| mu45_18(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r45_1
# 45| v45_19(void) = ThrowValue : &:r45_1, ~m?
# 45| r45_20(glval<ClassWithDestructor2>) = CopyValue : r45_5
# 45| r45_21(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 45| v45_22(void) = Call[~ClassWithDestructor2] : func:r45_21, this:r45_20
@@ -1054,9 +1051,9 @@ destructors_for_temps.cpp:
# 47| mu47_4(unknown) = ^CallSideEffect : ~m?
# 47| v47_5(void) = ^IndirectReadSideEffect[-1] : &:r47_1, ~m?
# 47| mu47_6(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r47_1
#-----| Goto -> Block 5
#-----| Exception -> Block 2
# 47| Block 5
# 47| Block 4
# 47| v47_7(void) = NoOp :
# 47| r47_8(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 47| r47_9(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
@@ -1084,8 +1081,8 @@ destructors_for_temps.cpp:
# 51| r51_2(glval<bool>) = VariableAddress[b] :
# 51| r51_3(bool) = Load[b] : &:r51_2, ~m?
# 51| v51_4(void) = ConditionalBranch : r51_3
#-----| False -> Block 6
#-----| True -> Block 4
#-----| False -> Block 4
#-----| True -> Block 3
# 49| Block 1
# 49| v49_6(void) = AliasedUse : ~m?
@@ -1096,61 +1093,55 @@ destructors_for_temps.cpp:
#-----| Goto -> Block 1
# 51| Block 3
# 51| r51_5(ClassWithDestructor2) = Load[#temp51:5] : &:r51_35, ~m?
# 51| mu51_6(ClassWithDestructor2) = Store[#temp51:5] : &:r51_1, r51_5
# 52| v52_1(void) = NoOp :
# 52| r52_2(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 52| r52_3(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 52| v52_4(void) = Call[~ClassWithDestructor2] : func:r52_3, this:r52_2
# 52| mu52_5(unknown) = ^CallSideEffect : ~m?
# 52| v52_6(void) = ^IndirectReadSideEffect[-1] : &:r52_2, ~m?
# 52| mu52_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r52_2
# 49| v49_9(void) = ReturnVoid :
#-----| Goto -> Block 1
# 51| Block 4
# 51| r51_7(glval<ClassWithConstructor>) = VariableAddress[#throw51:9] :
# 51| mu51_8(ClassWithConstructor) = Uninitialized[#throw51:9] : &:r51_7
# 51| r51_9(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 51| r51_10(char) = Constant[120] :
# 51| r51_11(glval<ClassWithDestructor2>) = VariableAddress[#temp51:41] :
# 51| mu51_12(ClassWithDestructor2) = Uninitialized[#temp51:41] : &:r51_11
# 51| r51_13(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 51| v51_14(void) = Call[ClassWithDestructor2] : func:r51_13, this:r51_11
# 51| mu51_15(unknown) = ^CallSideEffect : ~m?
# 51| mu51_16(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_11
# 51| r51_17(glval<unknown>) = FunctionAddress[get_x] :
# 51| r51_18(char) = Call[get_x] : func:r51_17, this:r51_11
# 51| mu51_19(unknown) = ^CallSideEffect : ~m?
# 51| v51_20(void) = ^IndirectReadSideEffect[-1] : &:r51_11, ~m?
# 51| mu51_21(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_11
# 51| v51_22(void) = Call[ClassWithConstructor] : func:r51_9, this:r51_7, 0:r51_10, 1:r51_18
# 51| mu51_23(unknown) = ^CallSideEffect : ~m?
# 51| mu51_24(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r51_7
# 51| v51_25(void) = ThrowValue : &:r51_7, ~m?
# 51| r51_5(glval<ClassWithConstructor>) = VariableAddress[#throw51:9] :
# 51| mu51_6(ClassWithConstructor) = Uninitialized[#throw51:9] : &:r51_5
# 51| r51_7(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 51| r51_8(char) = Constant[120] :
# 51| r51_9(glval<ClassWithDestructor2>) = VariableAddress[#temp51:41] :
# 51| mu51_10(ClassWithDestructor2) = Uninitialized[#temp51:41] : &:r51_9
# 51| r51_11(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 51| v51_12(void) = Call[ClassWithDestructor2] : func:r51_11, this:r51_9
# 51| mu51_13(unknown) = ^CallSideEffect : ~m?
# 51| mu51_14(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_9
# 51| r51_15(glval<unknown>) = FunctionAddress[get_x] :
# 51| r51_16(char) = Call[get_x] : func:r51_15, this:r51_9
# 51| mu51_17(unknown) = ^CallSideEffect : ~m?
# 51| v51_18(void) = ^IndirectReadSideEffect[-1] : &:r51_9, ~m?
# 51| mu51_19(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_9
# 51| v51_20(void) = Call[ClassWithConstructor] : func:r51_7, this:r51_5, 0:r51_8, 1:r51_16
# 51| mu51_21(unknown) = ^CallSideEffect : ~m?
# 51| mu51_22(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r51_5
# 51| v51_23(void) = ThrowValue : &:r51_5, ~m?
# 52| r52_1(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 52| r52_2(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 52| v52_3(void) = Call[~ClassWithDestructor2] : func:r52_2, this:r52_1
# 52| mu52_4(unknown) = ^CallSideEffect : ~m?
# 52| v52_5(void) = ^IndirectReadSideEffect[-1] : &:r52_1, ~m?
# 52| mu52_6(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r52_1
#-----| Exception -> Block 2
# 52| Block 5
# 52| r52_8(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 52| r52_9(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 52| v52_10(void) = Call[~ClassWithDestructor2] : func:r52_9, this:r52_8
# 52| mu52_11(unknown) = ^CallSideEffect : ~m?
# 52| v52_12(void) = ^IndirectReadSideEffect[-1] : &:r52_8, ~m?
# 52| mu52_13(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r52_8
#-----| Goto -> Block 3
# 51| Block 6
# 51| r51_26(glval<ClassWithDestructor2>) = VariableAddress[#temp51:75] :
# 51| mu51_27(ClassWithDestructor2) = Uninitialized[#temp51:75] : &:r51_26
# 51| r51_28(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 51| v51_29(void) = Call[ClassWithDestructor2] : func:r51_28, this:r51_26
# 51| mu51_30(unknown) = ^CallSideEffect : ~m?
# 51| mu51_31(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_26
# 51| r51_32(ClassWithDestructor2) = Load[#temp51:75] : &:r51_26, ~m?
# 51| r51_33(glval<ClassWithDestructor2>) = VariableAddress[#temp51:5] :
# 51| mu51_34(ClassWithDestructor2) = Store[#temp51:5] : &:r51_33, r51_32
# 51| r51_35(glval<ClassWithDestructor2>) = VariableAddress[#temp51:5] :
#-----| Goto -> Block 3
# 51| Block 4
# 51| r51_24(glval<ClassWithDestructor2>) = VariableAddress[#temp51:75] :
# 51| mu51_25(ClassWithDestructor2) = Uninitialized[#temp51:75] : &:r51_24
# 51| r51_26(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 51| v51_27(void) = Call[ClassWithDestructor2] : func:r51_26, this:r51_24
# 51| mu51_28(unknown) = ^CallSideEffect : ~m?
# 51| mu51_29(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_24
# 51| r51_30(ClassWithDestructor2) = Load[#temp51:75] : &:r51_24, ~m?
# 51| r51_31(glval<ClassWithDestructor2>) = VariableAddress[#temp51:5] :
# 51| mu51_32(ClassWithDestructor2) = Store[#temp51:5] : &:r51_31, r51_30
# 51| r51_33(glval<ClassWithDestructor2>) = VariableAddress[#temp51:5] :
# 51| r51_34(ClassWithDestructor2) = Load[#temp51:5] : &:r51_33, ~m?
# 51| mu51_35(ClassWithDestructor2) = Store[#temp51:5] : &:r51_1, r51_34
# 52| v52_7(void) = NoOp :
# 52| r52_8(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 52| r52_9(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 52| v52_10(void) = Call[~ClassWithDestructor2] : func:r52_9, this:r52_8
# 52| mu52_11(unknown) = ^CallSideEffect : ~m?
# 52| v52_12(void) = ^IndirectReadSideEffect[-1] : &:r52_8, ~m?
# 52| mu52_13(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r52_8
# 49| v49_9(void) = ReturnVoid :
#-----| Goto -> Block 1
# 54| void temp_test8(bool)
# 54| Block 0
@@ -1194,7 +1185,6 @@ destructors_for_temps.cpp:
# 55| mu55_21(unknown) = ^CallSideEffect : ~m?
# 55| mu55_22(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r55_5
# 55| v55_23(void) = ThrowValue : &:r55_5, ~m?
#-----| Exception -> Block 2
# 55| Block 4
# 55| r55_24(glval<ClassWithDestructor2>) = VariableAddress[#temp55:75] :
@@ -1249,7 +1239,6 @@ destructors_for_temps.cpp:
# 59| mu59_15(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r59_5
# 59| mu59_16(char) = Store[#throw59:9] : &:r59_4, r59_12
# 59| v59_17(void) = ThrowValue : &:r59_4, ~m?
#-----| Exception -> Block 2
# 59| Block 4
# 59| r59_18(char) = Constant[97] :
@@ -4629,7 +4618,6 @@ ir.cpp:
# 728| r728_3(char *) = Convert : r728_2
# 728| mu728_4(char *) = Store[#throw728:7] : &:r728_1, r728_3
# 728| v728_5(void) = ThrowValue : &:r728_1, ~m?
#-----| Exception -> Block 9
# 730| Block 4
# 730| r730_1(glval<int>) = VariableAddress[x] :
@@ -4668,7 +4656,6 @@ ir.cpp:
# 731| v731_18(void) = ^BufferReadSideEffect[0] : &:r731_15, ~m?
# 731| mu731_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r731_11
# 731| v731_20(void) = ThrowValue : &:r731_11, ~m?
#-----| Exception -> Block 9
# 733| Block 8
# 733| r733_1(int) = Constant[7] :
@@ -4696,7 +4683,6 @@ ir.cpp:
# 736| v736_8(void) = ^BufferReadSideEffect[0] : &:r736_5, ~m?
# 736| mu736_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r736_1
# 736| v736_10(void) = ThrowValue : &:r736_1, ~m?
#-----| Exception -> Block 2
# 738| Block 11
# 738| v738_1(void) = CatchByType[const String &] :
@@ -4714,7 +4700,6 @@ ir.cpp:
# 740| Block 13
# 740| v740_1(void) = CatchAny :
# 741| v741_1(void) = ReThrow :
#-----| Exception -> Block 2
# 743| Block 14
# 743| v743_1(void) = NoOp :
@@ -7305,7 +7290,6 @@ ir.cpp:
# 1195| r1195_3(char *) = Convert : r1195_2
# 1195| mu1195_4(char *) = Store[#throw1195:7] : &:r1195_1, r1195_3
# 1195| v1195_5(void) = ThrowValue : &:r1195_1, ~m?
#-----| Exception -> Block 9
# 1197| Block 4
# 1197| r1197_1(glval<int>) = VariableAddress[x] :
@@ -7344,7 +7328,6 @@ ir.cpp:
# 1198| v1198_18(void) = ^BufferReadSideEffect[0] : &:r1198_15, ~m?
# 1198| mu1198_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r1198_11
# 1198| v1198_20(void) = ThrowValue : &:r1198_11, ~m?
#-----| Exception -> Block 9
# 1200| Block 8
# 1200| r1200_1(int) = Constant[7] :
@@ -7372,7 +7355,6 @@ ir.cpp:
# 1203| v1203_8(void) = ^BufferReadSideEffect[0] : &:r1203_5, ~m?
# 1203| mu1203_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r1203_1
# 1203| v1203_10(void) = ThrowValue : &:r1203_1, ~m?
#-----| Exception -> Block 2
# 1205| Block 11
# 1205| v1205_1(void) = CatchByType[const String &] :
@@ -13569,7 +13551,7 @@ ir.cpp:
# 2276| r2276_1(glval<bool>) = VariableAddress[b] :
# 2276| r2276_2(bool) = Load[b] : &:r2276_1, ~m?
# 2276| v2276_3(void) = ConditionalBranch : r2276_2
#-----| False -> Block 5
#-----| False -> Block 4
#-----| True -> Block 3
# 2273| Block 1
@@ -13586,18 +13568,15 @@ ir.cpp:
# 2277| r2277_3(char *) = Convert : r2277_2
# 2277| mu2277_4(char *) = Store[#throw2277:7] : &:r2277_1, r2277_3
# 2277| v2277_5(void) = ThrowValue : &:r2277_1, ~m?
#-----| Exception -> Block 6
# 2280| r2280_1(glval<String>) = VariableAddress[s] :
# 2280| r2280_2(glval<unknown>) = FunctionAddress[~String] :
# 2280| v2280_3(void) = Call[~String] : func:r2280_2, this:r2280_1
# 2280| mu2280_4(unknown) = ^CallSideEffect : ~m?
# 2280| v2280_5(void) = ^IndirectReadSideEffect[-1] : &:r2280_1, ~m?
# 2280| mu2280_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1
#-----| Exception -> Block 5
# 2280| Block 4
# 2280| r2280_1(glval<String>) = VariableAddress[s] :
# 2280| r2280_2(glval<unknown>) = FunctionAddress[~String] :
# 2280| v2280_3(void) = Call[~String] : func:r2280_2, this:r2280_1
# 2280| mu2280_4(unknown) = ^CallSideEffect : ~m?
# 2280| v2280_5(void) = ^IndirectReadSideEffect[-1] : &:r2280_1, ~m?
# 2280| mu2280_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1
#-----| Goto -> Block 5
# 2279| Block 5
# 2279| Block 4
# 2279| r2279_1(glval<String>) = VariableAddress[s2] :
# 2279| mu2279_2(String) = Uninitialized[s2] : &:r2279_1
# 2279| r2279_3(glval<unknown>) = FunctionAddress[String] :
@@ -13616,14 +13595,14 @@ ir.cpp:
# 2280| mu2280_16(unknown) = ^CallSideEffect : ~m?
# 2280| v2280_17(void) = ^IndirectReadSideEffect[-1] : &:r2280_13, ~m?
# 2280| mu2280_18(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_13
#-----| Goto -> Block 11
#-----| Goto -> Block 10
# 2281| Block 5
# 2281| v2281_1(void) = CatchByType[const char *] :
#-----| Exception -> Block 7
#-----| Goto -> Block 6
# 2281| Block 6
# 2281| v2281_1(void) = CatchByType[const char *] :
#-----| Exception -> Block 8
#-----| Goto -> Block 7
# 2281| Block 7
# 2281| r2281_2(glval<char *>) = VariableAddress[s] :
# 2281| mu2281_3(char *) = InitializeParameter[s] : &:r2281_2
# 2281| r2281_4(char *) = Load[s] : &:r2281_2, ~m?
@@ -13638,27 +13617,25 @@ ir.cpp:
# 2282| v2282_8(void) = ^BufferReadSideEffect[0] : &:r2282_5, ~m?
# 2282| mu2282_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2282_1
# 2282| v2282_10(void) = ThrowValue : &:r2282_1, ~m?
#-----| Exception -> Block 2
# 2284| Block 7
# 2284| v2284_1(void) = CatchByType[const String &] :
#-----| Exception -> Block 9
#-----| Goto -> Block 8
# 2284| Block 8
# 2284| v2284_1(void) = CatchByType[const String &] :
#-----| Exception -> Block 10
#-----| Goto -> Block 9
# 2284| Block 9
# 2284| r2284_2(glval<String &>) = VariableAddress[e] :
# 2284| mu2284_3(String &) = InitializeParameter[e] : &:r2284_2
# 2284| r2284_4(String &) = Load[e] : &:r2284_2, ~m?
# 2284| mu2284_5(unknown) = InitializeIndirection[e] : &:r2284_4
# 2284| v2284_6(void) = NoOp :
#-----| Goto -> Block 11
#-----| Goto -> Block 10
# 2286| Block 10
# 2286| Block 9
# 2286| v2286_1(void) = CatchAny :
# 2287| v2287_1(void) = ReThrow :
#-----| Exception -> Block 2
# 2289| Block 11
# 2289| Block 10
# 2289| v2289_1(void) = NoOp :
# 2273| v2273_9(void) = ReturnVoid :
#-----| Goto -> Block 1
@@ -14664,14 +14641,17 @@ ir.cpp:
# 2437| mu2437_4(unknown) = ^CallSideEffect : ~m?
# 2437| v2437_5(void) = ^IndirectReadSideEffect[-1] : &:r2437_1, ~m?
# 2437| mu2437_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2437_1
# 2434| v2434_6(void) = ReturnVoid :
#-----| Goto -> Block 1
#-----| Exception -> Block 3
# 2434| Block 1
# 2434| v2434_7(void) = AliasedUse : ~m?
# 2434| v2434_8(void) = ExitFunction :
# 2434| v2434_6(void) = AliasedUse : ~m?
# 2434| v2434_7(void) = ExitFunction :
# 2434| Block 2
# 2434| v2434_8(void) = ReturnVoid :
#-----| Goto -> Block 1
# 2434| Block 3
# 2434| v2434_9(void) = Unwind :
#-----| Goto -> Block 1
@@ -15497,7 +15477,6 @@ try_except.cpp:
# 48| r48_2(int) = Constant[1] :
# 48| mu48_3(int) = Store[#throw48:13] : &:r48_1, r48_2
# 48| v48_4(void) = ThrowValue : &:r48_1, ~m?
#-----| Exception -> Block 7
# 51| Block 4
# 51| r51_1(int) = Constant[0] :

View File

@@ -7,7 +7,7 @@ missingOperandType
duplicateChiOperand
sideEffectWithoutPrimary
instructionWithoutSuccessor
| ms_try_mix.cpp:35:13:35:19 | ThrowValue: throw ... | Instruction 'ThrowValue: throw ...' has no successors in function '$@'. | ms_try_mix.cpp:29:6:29:19 | void ms_finally_mix(int) | void ms_finally_mix(int) |
| ms_try_mix.cpp:38:5:38:5 | Chi: c106 | Instruction 'Chi: c106' has no successors in function '$@'. | ms_try_mix.cpp:29:6:29:19 | void ms_finally_mix(int) | void ms_finally_mix(int) |
| ms_try_mix.cpp:53:5:53:11 | ThrowValue: throw ... | Instruction 'ThrowValue: throw ...' has no successors in function '$@'. | ms_try_mix.cpp:49:6:49:28 | void ms_empty_finally_at_end() | void ms_empty_finally_at_end() |
| stmt_expr.cpp:27:5:27:15 | Store: ... = ... | Instruction 'Store: ... = ...' has no successors in function '$@'. | stmt_expr.cpp:21:13:21:13 | void stmtexpr::g(int) | void stmtexpr::g(int) |
ambiguousSuccessors

View File

@@ -8,7 +8,7 @@ missingOperandType
duplicateChiOperand
sideEffectWithoutPrimary
instructionWithoutSuccessor
| ms_try_mix.cpp:35:13:35:19 | ThrowValue: throw ... | Instruction 'ThrowValue: throw ...' has no successors in function '$@'. | ms_try_mix.cpp:29:6:29:19 | void ms_finally_mix(int) | void ms_finally_mix(int) |
| ms_try_mix.cpp:38:5:38:5 | IndirectMayWriteSideEffect: c106 | Instruction 'IndirectMayWriteSideEffect: c106' has no successors in function '$@'. | ms_try_mix.cpp:29:6:29:19 | void ms_finally_mix(int) | void ms_finally_mix(int) |
| ms_try_mix.cpp:53:5:53:11 | ThrowValue: throw ... | Instruction 'ThrowValue: throw ...' has no successors in function '$@'. | ms_try_mix.cpp:49:6:49:28 | void ms_empty_finally_at_end() | void ms_empty_finally_at_end() |
| stmt_expr.cpp:27:5:27:15 | Store: ... = ... | Instruction 'Store: ... = ...' has no successors in function '$@'. | stmt_expr.cpp:21:13:21:13 | void stmtexpr::g(int) | void stmtexpr::g(int) |
| stmt_expr.cpp:29:11:32:11 | CopyValue: (statement expression) | Instruction 'CopyValue: (statement expression)' has no successors in function '$@'. | stmt_expr.cpp:21:13:21:13 | void stmtexpr::g(int) | void stmtexpr::g(int) |

View File

@@ -7,7 +7,7 @@ missingOperandType
duplicateChiOperand
sideEffectWithoutPrimary
instructionWithoutSuccessor
| ms_try_mix.cpp:35:13:35:19 | ThrowValue: throw ... | Instruction 'ThrowValue: throw ...' has no successors in function '$@'. | ms_try_mix.cpp:29:6:29:19 | void ms_finally_mix(int) | void ms_finally_mix(int) |
| ms_try_mix.cpp:38:5:38:5 | IndirectMayWriteSideEffect: c106 | Instruction 'IndirectMayWriteSideEffect: c106' has no successors in function '$@'. | ms_try_mix.cpp:29:6:29:19 | void ms_finally_mix(int) | void ms_finally_mix(int) |
| ms_try_mix.cpp:53:5:53:11 | ThrowValue: throw ... | Instruction 'ThrowValue: throw ...' has no successors in function '$@'. | ms_try_mix.cpp:49:6:49:28 | void ms_empty_finally_at_end() | void ms_empty_finally_at_end() |
| stmt_expr.cpp:27:5:27:15 | Store: ... = ... | Instruction 'Store: ... = ...' has no successors in function '$@'. | stmt_expr.cpp:21:13:21:13 | void stmtexpr::g(int) | void stmtexpr::g(int) |
ambiguousSuccessors