C++: Update expected test results after IR changes

This commit is contained in:
Jeroen Ketema
2026-01-06 17:37:22 +01:00
parent 740518d23f
commit 3cd9938ebe
4 changed files with 140 additions and 138 deletions

View File

@@ -193,10 +193,10 @@ edges
| C.cpp:18:12:18:18 | call to C [s3] | C.cpp:18:12:18:18 | *new [s3] | provenance | |
| C.cpp:19:5:19:5 | *c [s1] | C.cpp:27:8:27:11 | *this [s1] | provenance | |
| C.cpp:19:5:19:5 | *c [s3] | C.cpp:27:8:27:11 | *this [s3] | provenance | |
| C.cpp:22:3:22:3 | *C [post update] [s1] | C.cpp:22:3:22:3 | *this [Return] [s1] | provenance | |
| C.cpp:22:3:22:3 | *this [Return] [s1] | C.cpp:18:12:18:18 | call to C [s1] | provenance | |
| C.cpp:22:3:22:3 | *this [Return] [s3] | C.cpp:18:12:18:18 | call to C [s3] | provenance | |
| C.cpp:22:3:22:3 | *this [post update] [s1] | C.cpp:22:3:22:3 | *this [Return] [s1] | provenance | |
| C.cpp:22:12:22:21 | new | C.cpp:22:3:22:3 | *this [post update] [s1] | provenance | |
| C.cpp:22:12:22:21 | new | C.cpp:22:3:22:3 | *C [post update] [s1] | provenance | |
| C.cpp:22:12:22:21 | new | C.cpp:22:12:22:21 | new | provenance | |
| C.cpp:24:5:24:8 | *this [post update] [s3] | C.cpp:22:3:22:3 | *this [Return] [s3] | provenance | |
| C.cpp:24:5:24:25 | ... = ... | C.cpp:24:5:24:8 | *this [post update] [s3] | provenance | |
@@ -736,12 +736,12 @@ edges
| constructors.cpp:19:22:19:23 | *this [b_] | constructors.cpp:19:22:19:23 | b_ | provenance | |
| constructors.cpp:19:22:19:23 | b_ | constructors.cpp:19:9:19:9 | *b | provenance | |
| constructors.cpp:19:22:19:23 | b_ | constructors.cpp:19:22:19:23 | b_ | provenance | |
| constructors.cpp:23:5:23:7 | *this [post update] [a_] | constructors.cpp:23:5:23:7 | *this [Return] [a_] | provenance | |
| constructors.cpp:23:5:23:7 | *this [post update] [b_] | constructors.cpp:23:5:23:7 | *this [Return] [b_] | provenance | |
| constructors.cpp:23:5:23:7 | *Foo [post update] [a_] | constructors.cpp:23:5:23:7 | *this [Return] [a_] | provenance | |
| constructors.cpp:23:5:23:7 | *Foo [post update] [b_] | constructors.cpp:23:5:23:7 | *this [Return] [b_] | provenance | |
| constructors.cpp:23:13:23:13 | a | constructors.cpp:23:28:23:28 | a | provenance | |
| constructors.cpp:23:20:23:20 | b | constructors.cpp:23:35:23:35 | b | provenance | |
| constructors.cpp:23:28:23:28 | a | constructors.cpp:23:5:23:7 | *this [post update] [a_] | provenance | |
| constructors.cpp:23:35:23:35 | b | constructors.cpp:23:5:23:7 | *this [post update] [b_] | provenance | |
| constructors.cpp:23:28:23:28 | a | constructors.cpp:23:5:23:7 | *Foo [post update] [a_] | provenance | |
| constructors.cpp:23:35:23:35 | b | constructors.cpp:23:5:23:7 | *Foo [post update] [b_] | provenance | |
| constructors.cpp:26:15:26:15 | *f [a_] | constructors.cpp:28:10:28:10 | *f [a_] | provenance | |
| constructors.cpp:26:15:26:15 | *f [b_] | constructors.cpp:29:10:29:10 | *f [b_] | provenance | |
| constructors.cpp:28:10:28:10 | *f [a_] | constructors.cpp:18:9:18:9 | *this [a_] | provenance | |
@@ -1122,9 +1122,9 @@ nodes
| C.cpp:18:12:18:18 | call to C [s3] | semmle.label | call to C [s3] |
| C.cpp:19:5:19:5 | *c [s1] | semmle.label | *c [s1] |
| C.cpp:19:5:19:5 | *c [s3] | semmle.label | *c [s3] |
| C.cpp:22:3:22:3 | *C [post update] [s1] | semmle.label | *C [post update] [s1] |
| C.cpp:22:3:22:3 | *this [Return] [s1] | semmle.label | *this [Return] [s1] |
| C.cpp:22:3:22:3 | *this [Return] [s3] | semmle.label | *this [Return] [s3] |
| C.cpp:22:3:22:3 | *this [post update] [s1] | semmle.label | *this [post update] [s1] |
| C.cpp:22:12:22:21 | new | semmle.label | new |
| C.cpp:22:12:22:21 | new | semmle.label | new |
| C.cpp:24:5:24:8 | *this [post update] [s3] | semmle.label | *this [post update] [s3] |
@@ -1678,10 +1678,10 @@ nodes
| constructors.cpp:19:22:19:23 | *this [b_] | semmle.label | *this [b_] |
| constructors.cpp:19:22:19:23 | b_ | semmle.label | b_ |
| constructors.cpp:19:22:19:23 | b_ | semmle.label | b_ |
| constructors.cpp:23:5:23:7 | *Foo [post update] [a_] | semmle.label | *Foo [post update] [a_] |
| constructors.cpp:23:5:23:7 | *Foo [post update] [b_] | semmle.label | *Foo [post update] [b_] |
| constructors.cpp:23:5:23:7 | *this [Return] [a_] | semmle.label | *this [Return] [a_] |
| constructors.cpp:23:5:23:7 | *this [Return] [b_] | semmle.label | *this [Return] [b_] |
| constructors.cpp:23:5:23:7 | *this [post update] [a_] | semmle.label | *this [post update] [a_] |
| constructors.cpp:23:5:23:7 | *this [post update] [b_] | semmle.label | *this [post update] [b_] |
| constructors.cpp:23:13:23:13 | a | semmle.label | a |
| constructors.cpp:23:20:23:20 | b | semmle.label | b |
| constructors.cpp:23:28:23:28 | a | semmle.label | a |

View File

@@ -192,7 +192,7 @@ bad_asts.cpp:
#-----| m0_2(Point &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(Point &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 19| r19_9(glval<int>) = FieldAddress[x] : m19_6
# 19| r19_9(glval<int>) = FieldAddress[x] : r19_7
# 19| r19_10(glval<Point &>) = VariableAddress[(unnamed parameter 0)] :
# 19| r19_11(Point &) = Load[(unnamed parameter 0)] : &:r19_10, m0_2
# 19| r19_12(glval<Point>) = CopyValue : r19_11
@@ -200,7 +200,7 @@ bad_asts.cpp:
# 19| r19_14(int) = Load[?] : &:r19_13, ~m0_4
# 19| m19_15(int) = Store[?] : &:r19_9, r19_14
# 19| m19_16(unknown) = Chi : total:m19_8, partial:m19_15
# 19| r19_17(glval<int>) = FieldAddress[y] : m19_6
# 19| r19_17(glval<int>) = FieldAddress[y] : r19_7
# 19| r19_18(glval<Point &>) = VariableAddress[(unnamed parameter 0)] :
# 19| r19_19(Point &) = Load[(unnamed parameter 0)] : &:r19_18, m0_2
# 19| r19_20(glval<Point>) = CopyValue : r19_19
@@ -6897,12 +6897,12 @@ ir.cpp:
# 628| m628_8(C) = InitializeIndirection[#this] : &:r628_7
# 628| m628_9(unknown) = Chi : total:m628_4, partial:m628_8
#-----| v0_1(void) = NoOp :
# 628| r628_10(glval<String>) = FieldAddress[m_f] : m628_6
# 628| r628_10(glval<String>) = FieldAddress[m_f] : r628_7
# 628| r628_11(glval<unknown>) = FunctionAddress[~String] :
# 628| v628_12(void) = Call[~String] : func:r628_11, this:r628_10
# 628| m628_13(unknown) = ^CallSideEffect : ~m628_9
# 628| m628_14(unknown) = Chi : total:m628_9, partial:m628_13
# 628| r628_15(glval<String>) = FieldAddress[m_b] : m628_6
# 628| r628_15(glval<String>) = FieldAddress[m_b] : r628_7
# 628| r628_16(glval<unknown>) = FunctionAddress[~String] :
# 628| v628_17(void) = Call[~String] : func:r628_16, this:r628_15
# 628| m628_18(unknown) = ^CallSideEffect : ~m628_14
@@ -7087,26 +7087,26 @@ ir.cpp:
# 658| r658_7(glval<C>) = Load[#this] : &:r658_5, m658_6
# 658| m658_8(C) = InitializeIndirection[#this] : &:r658_7
# 658| m658_9(unknown) = Chi : total:m658_4, partial:m658_8
# 659| r659_1(glval<int>) = FieldAddress[m_a] : m658_6
# 659| r659_1(glval<int>) = FieldAddress[m_a] : r658_7
# 659| r659_2(int) = Constant[1] :
# 659| m659_3(int) = Store[?] : &:r659_1, r659_2
# 659| m659_4(unknown) = Chi : total:m658_9, partial:m659_3
# 663| r663_1(glval<String>) = FieldAddress[m_b] : m658_6
# 663| r663_1(glval<String>) = FieldAddress[m_b] : r658_7
# 663| r663_2(glval<unknown>) = FunctionAddress[String] :
# 663| v663_3(void) = Call[String] : func:r663_2, this:r663_1
# 663| m663_4(unknown) = ^CallSideEffect : ~m659_4
# 663| m663_5(unknown) = Chi : total:m659_4, partial:m663_4
# 663| m663_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r663_1
# 663| m663_7(unknown) = Chi : total:m663_5, partial:m663_6
# 660| r660_1(glval<char>) = FieldAddress[m_c] : m658_6
# 660| r660_1(glval<char>) = FieldAddress[m_c] : r658_7
# 660| r660_2(char) = Constant[3] :
# 660| m660_3(char) = Store[?] : &:r660_1, r660_2
# 660| m660_4(unknown) = Chi : total:m663_7, partial:m660_3
# 661| r661_1(glval<void *>) = FieldAddress[m_e] : m658_6
# 661| r661_1(glval<void *>) = FieldAddress[m_e] : r658_7
# 661| r661_2(void *) = Constant[0] :
# 661| m661_3(void *) = Store[?] : &:r661_1, r661_2
# 661| m661_4(unknown) = Chi : total:m660_4, partial:m661_3
# 662| r662_1(glval<String>) = FieldAddress[m_f] : m658_6
# 662| r662_1(glval<String>) = FieldAddress[m_f] : r658_7
# 662| r662_2(glval<unknown>) = FunctionAddress[String] :
# 662| r662_3(glval<char[5]>) = StringConstant["test"] :
# 662| r662_4(char *) = Convert : r662_3
@@ -7523,7 +7523,7 @@ ir.cpp:
#-----| m0_2(Base &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(Base &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 745| r745_10(glval<String>) = FieldAddress[base_s] : m745_6
# 745| r745_10(glval<String>) = FieldAddress[base_s] : r745_7
# 745| r745_11(glval<unknown>) = FunctionAddress[String] :
# 745| v745_12(void) = Call[String] : func:r745_11, this:r745_10
# 745| m745_13(unknown) = ^CallSideEffect : ~m745_9
@@ -7548,7 +7548,7 @@ ir.cpp:
# 748| r748_7(glval<Base>) = Load[#this] : &:r748_5, m748_6
# 748| m748_8(Base) = InitializeIndirection[#this] : &:r748_7
# 748| m748_9(unknown) = Chi : total:m748_4, partial:m748_8
# 748| r748_10(glval<String>) = FieldAddress[base_s] : m748_6
# 748| r748_10(glval<String>) = FieldAddress[base_s] : r748_7
# 748| r748_11(glval<unknown>) = FunctionAddress[String] :
# 748| v748_12(void) = Call[String] : func:r748_11, this:r748_10
# 748| m748_13(unknown) = ^CallSideEffect : ~m748_9
@@ -7573,7 +7573,7 @@ ir.cpp:
# 750| m750_8(Base) = InitializeIndirection[#this] : &:r750_7
# 750| m750_9(unknown) = Chi : total:m750_4, partial:m750_8
# 751| v751_1(void) = NoOp :
# 751| r751_2(glval<String>) = FieldAddress[base_s] : m750_6
# 751| r751_2(glval<String>) = FieldAddress[base_s] : r750_7
# 751| r751_3(glval<unknown>) = FunctionAddress[~String] :
# 751| v751_4(void) = Call[~String] : func:r751_3, this:r751_2
# 751| m751_5(unknown) = ^CallSideEffect : ~m750_9
@@ -7660,14 +7660,14 @@ ir.cpp:
# 757| r757_7(glval<Middle>) = Load[#this] : &:r757_5, m757_6
# 757| m757_8(Middle) = InitializeIndirection[#this] : &:r757_7
# 757| m757_9(unknown) = Chi : total:m757_4, partial:m757_8
# 757| r757_10(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : m757_6
# 757| r757_10(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : r757_7
# 757| r757_11(glval<unknown>) = FunctionAddress[Base] :
# 757| v757_12(void) = Call[Base] : func:r757_11, this:r757_10
# 757| m757_13(unknown) = ^CallSideEffect : ~m757_9
# 757| m757_14(unknown) = Chi : total:m757_9, partial:m757_13
# 757| m757_15(Base) = ^IndirectMayWriteSideEffect[-1] : &:r757_10
# 757| m757_16(unknown) = Chi : total:m757_14, partial:m757_15
# 757| r757_17(glval<String>) = FieldAddress[middle_s] : m757_6
# 757| r757_17(glval<String>) = FieldAddress[middle_s] : r757_7
# 757| r757_18(glval<unknown>) = FunctionAddress[String] :
# 757| v757_19(void) = Call[String] : func:r757_18, this:r757_17
# 757| m757_20(unknown) = ^CallSideEffect : ~m757_16
@@ -7692,12 +7692,12 @@ ir.cpp:
# 759| m759_8(Middle) = InitializeIndirection[#this] : &:r759_7
# 759| m759_9(unknown) = Chi : total:m759_4, partial:m759_8
# 760| v760_1(void) = NoOp :
# 760| r760_2(glval<String>) = FieldAddress[middle_s] : m759_6
# 760| r760_2(glval<String>) = FieldAddress[middle_s] : r759_7
# 760| r760_3(glval<unknown>) = FunctionAddress[~String] :
# 760| v760_4(void) = Call[~String] : func:r760_3, this:r760_2
# 760| m760_5(unknown) = ^CallSideEffect : ~m759_9
# 760| m760_6(unknown) = Chi : total:m759_9, partial:m760_5
# 760| r760_7(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : m759_6
# 760| r760_7(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : r759_7
# 760| r760_8(glval<unknown>) = FunctionAddress[~Base] :
# 760| v760_9(void) = Call[~Base] : func:r760_8, this:r760_7
# 760| m760_10(unknown) = ^CallSideEffect : ~m760_6
@@ -7784,14 +7784,14 @@ ir.cpp:
# 766| r766_7(glval<Derived>) = Load[#this] : &:r766_5, m766_6
# 766| m766_8(Derived) = InitializeIndirection[#this] : &:r766_7
# 766| m766_9(unknown) = Chi : total:m766_4, partial:m766_8
# 766| r766_10(glval<Middle>) = ConvertToNonVirtualBase[Derived : Middle] : m766_6
# 766| r766_10(glval<Middle>) = ConvertToNonVirtualBase[Derived : Middle] : r766_7
# 766| r766_11(glval<unknown>) = FunctionAddress[Middle] :
# 766| v766_12(void) = Call[Middle] : func:r766_11, this:r766_10
# 766| m766_13(unknown) = ^CallSideEffect : ~m766_9
# 766| m766_14(unknown) = Chi : total:m766_9, partial:m766_13
# 766| m766_15(Middle) = ^IndirectMayWriteSideEffect[-1] : &:r766_10
# 766| m766_16(unknown) = Chi : total:m766_14, partial:m766_15
# 766| r766_17(glval<String>) = FieldAddress[derived_s] : m766_6
# 766| r766_17(glval<String>) = FieldAddress[derived_s] : r766_7
# 766| r766_18(glval<unknown>) = FunctionAddress[String] :
# 766| v766_19(void) = Call[String] : func:r766_18, this:r766_17
# 766| m766_20(unknown) = ^CallSideEffect : ~m766_16
@@ -7816,12 +7816,12 @@ ir.cpp:
# 768| m768_8(Derived) = InitializeIndirection[#this] : &:r768_7
# 768| m768_9(unknown) = Chi : total:m768_4, partial:m768_8
# 769| v769_1(void) = NoOp :
# 769| r769_2(glval<String>) = FieldAddress[derived_s] : m768_6
# 769| r769_2(glval<String>) = FieldAddress[derived_s] : r768_7
# 769| r769_3(glval<unknown>) = FunctionAddress[~String] :
# 769| v769_4(void) = Call[~String] : func:r769_3, this:r769_2
# 769| m769_5(unknown) = ^CallSideEffect : ~m768_9
# 769| m769_6(unknown) = Chi : total:m768_9, partial:m769_5
# 769| r769_7(glval<Middle>) = ConvertToNonVirtualBase[Derived : Middle] : m768_6
# 769| r769_7(glval<Middle>) = ConvertToNonVirtualBase[Derived : Middle] : r768_7
# 769| r769_8(glval<unknown>) = FunctionAddress[~Middle] :
# 769| v769_9(void) = Call[~Middle] : func:r769_8, this:r769_7
# 769| m769_10(unknown) = ^CallSideEffect : ~m769_6
@@ -7842,14 +7842,14 @@ ir.cpp:
# 775| r775_7(glval<MiddleVB1>) = Load[#this] : &:r775_5, m775_6
# 775| m775_8(MiddleVB1) = InitializeIndirection[#this] : &:r775_7
# 775| m775_9(unknown) = Chi : total:m775_4, partial:m775_8
# 775| r775_10(glval<Base>) = ConvertToNonVirtualBase[MiddleVB1 : Base] : m775_6
# 775| r775_10(glval<Base>) = ConvertToNonVirtualBase[MiddleVB1 : Base] : r775_7
# 775| r775_11(glval<unknown>) = FunctionAddress[Base] :
# 775| v775_12(void) = Call[Base] : func:r775_11, this:r775_10
# 775| m775_13(unknown) = ^CallSideEffect : ~m775_9
# 775| m775_14(unknown) = Chi : total:m775_9, partial:m775_13
# 775| m775_15(Base) = ^IndirectMayWriteSideEffect[-1] : &:r775_10
# 775| m775_16(unknown) = Chi : total:m775_14, partial:m775_15
# 775| r775_17(glval<String>) = FieldAddress[middlevb1_s] : m775_6
# 775| r775_17(glval<String>) = FieldAddress[middlevb1_s] : r775_7
# 775| r775_18(glval<unknown>) = FunctionAddress[String] :
# 775| v775_19(void) = Call[String] : func:r775_18, this:r775_17
# 775| m775_20(unknown) = ^CallSideEffect : ~m775_16
@@ -7874,12 +7874,12 @@ ir.cpp:
# 777| m777_8(MiddleVB1) = InitializeIndirection[#this] : &:r777_7
# 777| m777_9(unknown) = Chi : total:m777_4, partial:m777_8
# 778| v778_1(void) = NoOp :
# 778| r778_2(glval<String>) = FieldAddress[middlevb1_s] : m777_6
# 778| r778_2(glval<String>) = FieldAddress[middlevb1_s] : r777_7
# 778| r778_3(glval<unknown>) = FunctionAddress[~String] :
# 778| v778_4(void) = Call[~String] : func:r778_3, this:r778_2
# 778| m778_5(unknown) = ^CallSideEffect : ~m777_9
# 778| m778_6(unknown) = Chi : total:m777_9, partial:m778_5
# 778| r778_7(glval<Base>) = ConvertToNonVirtualBase[MiddleVB1 : Base] : m777_6
# 778| r778_7(glval<Base>) = ConvertToNonVirtualBase[MiddleVB1 : Base] : r777_7
# 778| r778_8(glval<unknown>) = FunctionAddress[~Base] :
# 778| v778_9(void) = Call[~Base] : func:r778_8, this:r778_7
# 778| m778_10(unknown) = ^CallSideEffect : ~m778_6
@@ -7900,14 +7900,14 @@ ir.cpp:
# 784| r784_7(glval<MiddleVB2>) = Load[#this] : &:r784_5, m784_6
# 784| m784_8(MiddleVB2) = InitializeIndirection[#this] : &:r784_7
# 784| m784_9(unknown) = Chi : total:m784_4, partial:m784_8
# 784| r784_10(glval<Base>) = ConvertToNonVirtualBase[MiddleVB2 : Base] : m784_6
# 784| r784_10(glval<Base>) = ConvertToNonVirtualBase[MiddleVB2 : Base] : r784_7
# 784| r784_11(glval<unknown>) = FunctionAddress[Base] :
# 784| v784_12(void) = Call[Base] : func:r784_11, this:r784_10
# 784| m784_13(unknown) = ^CallSideEffect : ~m784_9
# 784| m784_14(unknown) = Chi : total:m784_9, partial:m784_13
# 784| m784_15(Base) = ^IndirectMayWriteSideEffect[-1] : &:r784_10
# 784| m784_16(unknown) = Chi : total:m784_14, partial:m784_15
# 784| r784_17(glval<String>) = FieldAddress[middlevb2_s] : m784_6
# 784| r784_17(glval<String>) = FieldAddress[middlevb2_s] : r784_7
# 784| r784_18(glval<unknown>) = FunctionAddress[String] :
# 784| v784_19(void) = Call[String] : func:r784_18, this:r784_17
# 784| m784_20(unknown) = ^CallSideEffect : ~m784_16
@@ -7932,12 +7932,12 @@ ir.cpp:
# 786| m786_8(MiddleVB2) = InitializeIndirection[#this] : &:r786_7
# 786| m786_9(unknown) = Chi : total:m786_4, partial:m786_8
# 787| v787_1(void) = NoOp :
# 787| r787_2(glval<String>) = FieldAddress[middlevb2_s] : m786_6
# 787| r787_2(glval<String>) = FieldAddress[middlevb2_s] : r786_7
# 787| r787_3(glval<unknown>) = FunctionAddress[~String] :
# 787| v787_4(void) = Call[~String] : func:r787_3, this:r787_2
# 787| m787_5(unknown) = ^CallSideEffect : ~m786_9
# 787| m787_6(unknown) = Chi : total:m786_9, partial:m787_5
# 787| r787_7(glval<Base>) = ConvertToNonVirtualBase[MiddleVB2 : Base] : m786_6
# 787| r787_7(glval<Base>) = ConvertToNonVirtualBase[MiddleVB2 : Base] : r786_7
# 787| r787_8(glval<unknown>) = FunctionAddress[~Base] :
# 787| v787_9(void) = Call[~Base] : func:r787_8, this:r787_7
# 787| m787_10(unknown) = ^CallSideEffect : ~m787_6
@@ -7958,28 +7958,28 @@ ir.cpp:
# 793| r793_7(glval<DerivedVB>) = Load[#this] : &:r793_5, m793_6
# 793| m793_8(DerivedVB) = InitializeIndirection[#this] : &:r793_7
# 793| m793_9(unknown) = Chi : total:m793_4, partial:m793_8
# 793| r793_10(glval<Base>) = ConvertToNonVirtualBase[DerivedVB : Base] : m793_6
# 793| r793_10(glval<Base>) = ConvertToNonVirtualBase[DerivedVB : Base] : r793_7
# 793| r793_11(glval<unknown>) = FunctionAddress[Base] :
# 793| v793_12(void) = Call[Base] : func:r793_11, this:r793_10
# 793| m793_13(unknown) = ^CallSideEffect : ~m793_9
# 793| m793_14(unknown) = Chi : total:m793_9, partial:m793_13
# 793| m793_15(Base) = ^IndirectMayWriteSideEffect[-1] : &:r793_10
# 793| m793_16(unknown) = Chi : total:m793_14, partial:m793_15
# 793| r793_17(glval<MiddleVB1>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB1] : m793_6
# 793| r793_17(glval<MiddleVB1>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB1] : r793_7
# 793| r793_18(glval<unknown>) = FunctionAddress[MiddleVB1] :
# 793| v793_19(void) = Call[MiddleVB1] : func:r793_18, this:r793_17
# 793| m793_20(unknown) = ^CallSideEffect : ~m793_16
# 793| m793_21(unknown) = Chi : total:m793_16, partial:m793_20
# 793| m793_22(MiddleVB1) = ^IndirectMayWriteSideEffect[-1] : &:r793_17
# 793| m793_23(unknown) = Chi : total:m793_21, partial:m793_22
# 793| r793_24(glval<MiddleVB2>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB2] : m793_6
# 793| r793_24(glval<MiddleVB2>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB2] : r793_7
# 793| r793_25(glval<unknown>) = FunctionAddress[MiddleVB2] :
# 793| v793_26(void) = Call[MiddleVB2] : func:r793_25, this:r793_24
# 793| m793_27(unknown) = ^CallSideEffect : ~m793_23
# 793| m793_28(unknown) = Chi : total:m793_23, partial:m793_27
# 793| m793_29(MiddleVB2) = ^IndirectMayWriteSideEffect[-1] : &:r793_24
# 793| m793_30(unknown) = Chi : total:m793_28, partial:m793_29
# 793| r793_31(glval<String>) = FieldAddress[derivedvb_s] : m793_6
# 793| r793_31(glval<String>) = FieldAddress[derivedvb_s] : r793_7
# 793| r793_32(glval<unknown>) = FunctionAddress[String] :
# 793| v793_33(void) = Call[String] : func:r793_32, this:r793_31
# 793| m793_34(unknown) = ^CallSideEffect : ~m793_30
@@ -8004,22 +8004,22 @@ ir.cpp:
# 795| m795_8(DerivedVB) = InitializeIndirection[#this] : &:r795_7
# 795| m795_9(unknown) = Chi : total:m795_4, partial:m795_8
# 796| v796_1(void) = NoOp :
# 796| r796_2(glval<String>) = FieldAddress[derivedvb_s] : m795_6
# 796| r796_2(glval<String>) = FieldAddress[derivedvb_s] : r795_7
# 796| r796_3(glval<unknown>) = FunctionAddress[~String] :
# 796| v796_4(void) = Call[~String] : func:r796_3, this:r796_2
# 796| m796_5(unknown) = ^CallSideEffect : ~m795_9
# 796| m796_6(unknown) = Chi : total:m795_9, partial:m796_5
# 796| r796_7(glval<MiddleVB2>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB2] : m795_6
# 796| r796_7(glval<MiddleVB2>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB2] : r795_7
# 796| r796_8(glval<unknown>) = FunctionAddress[~MiddleVB2] :
# 796| v796_9(void) = Call[~MiddleVB2] : func:r796_8, this:r796_7
# 796| m796_10(unknown) = ^CallSideEffect : ~m796_6
# 796| m796_11(unknown) = Chi : total:m796_6, partial:m796_10
# 796| r796_12(glval<MiddleVB1>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB1] : m795_6
# 796| r796_12(glval<MiddleVB1>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB1] : r795_7
# 796| r796_13(glval<unknown>) = FunctionAddress[~MiddleVB1] :
# 796| v796_14(void) = Call[~MiddleVB1] : func:r796_13, this:r796_12
# 796| m796_15(unknown) = ^CallSideEffect : ~m796_11
# 796| m796_16(unknown) = Chi : total:m796_11, partial:m796_15
# 796| r796_17(glval<Base>) = ConvertToNonVirtualBase[DerivedVB : Base] : m795_6
# 796| r796_17(glval<Base>) = ConvertToNonVirtualBase[DerivedVB : Base] : r795_7
# 796| r796_18(glval<unknown>) = FunctionAddress[~Base] :
# 796| v796_19(void) = Call[~Base] : func:r796_18, this:r796_17
# 796| m796_20(unknown) = ^CallSideEffect : ~m796_16
@@ -8439,7 +8439,7 @@ ir.cpp:
# 846| m846_6(glval<PolymorphicDerived>) = InitializeParameter[#this] : &:r846_5
# 846| r846_7(glval<PolymorphicDerived>) = Load[#this] : &:r846_5, m846_6
# 846| m846_8(PolymorphicDerived) = InitializeIndirection[#this] : &:r846_7
# 846| r846_9(glval<PolymorphicBase>) = ConvertToNonVirtualBase[PolymorphicDerived : PolymorphicBase] : m846_6
# 846| r846_9(glval<PolymorphicBase>) = ConvertToNonVirtualBase[PolymorphicDerived : PolymorphicBase] : r846_7
# 846| r846_10(glval<unknown>) = FunctionAddress[PolymorphicBase] :
# 846| v846_11(void) = Call[PolymorphicBase] : func:r846_10, this:r846_9
# 846| m846_12(unknown) = ^CallSideEffect : ~m846_4
@@ -8464,7 +8464,7 @@ ir.cpp:
# 846| m846_8(PolymorphicDerived) = InitializeIndirection[#this] : &:r846_7
# 846| m846_9(unknown) = Chi : total:m846_4, partial:m846_8
#-----| v0_1(void) = NoOp :
# 846| r846_10(glval<PolymorphicBase>) = ConvertToNonVirtualBase[PolymorphicDerived : PolymorphicBase] : m846_6
# 846| r846_10(glval<PolymorphicBase>) = ConvertToNonVirtualBase[PolymorphicDerived : PolymorphicBase] : r846_7
# 846| r846_11(glval<unknown>) = FunctionAddress[~PolymorphicBase] :
# 846| v846_12(void) = Call[~PolymorphicBase] : func:r846_11, this:r846_10
# 846| m846_13(unknown) = ^CallSideEffect : ~m846_9
@@ -8571,11 +8571,11 @@ ir.cpp:
# 868| r868_1(glval<unknown>) = FunctionAddress[String] :
# 868| r868_2(glval<char[1]>) = StringConstant[""] :
# 868| r868_3(char *) = Convert : r868_2
# 868| v868_4(void) = Call[String] : func:r868_1, this:m867_6, 0:r868_3
# 868| v868_4(void) = Call[String] : func:r868_1, this:r867_7, 0:r868_3
# 868| m868_5(unknown) = ^CallSideEffect : ~m867_9
# 868| m868_6(unknown) = Chi : total:m867_9, partial:m868_5
# 868| v868_7(void) = ^BufferReadSideEffect[0] : &:r868_3, ~m867_3
# 868| m868_8(String) = ^IndirectMayWriteSideEffect[-1] : &:m867_6
# 868| m868_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r867_7
# 868| m868_9(unknown) = Chi : total:m868_6, partial:m868_8
# 869| v869_1(void) = NoOp :
# 867| v867_10(void) = ReturnIndirection[#this] : &:r867_7, ~m868_9
@@ -9814,7 +9814,7 @@ ir.cpp:
# 1045| m1045_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1045_7
# 1045| m1045_9(unknown) = Chi : total:m1045_4, partial:m1045_8
#-----| v0_1(void) = NoOp :
# 1045| r1045_10(glval<String>) = FieldAddress[s] : m1045_6
# 1045| r1045_10(glval<String>) = FieldAddress[s] : r1045_7
# 1045| r1045_11(glval<unknown>) = FunctionAddress[~String] :
# 1045| v1045_12(void) = Call[~String] : func:r1045_11, this:r1045_10
# 1045| m1045_13(unknown) = ^CallSideEffect : ~m1045_9
@@ -9904,7 +9904,7 @@ ir.cpp:
# 1049| m1049_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1049_7
# 1049| m1049_9(unknown) = Chi : total:m1049_4, partial:m1049_8
#-----| v0_1(void) = NoOp :
# 1049| r1049_10(glval<String>) = FieldAddress[s] : m1049_6
# 1049| r1049_10(glval<String>) = FieldAddress[s] : r1049_7
# 1049| r1049_11(glval<unknown>) = FunctionAddress[~String] :
# 1049| v1049_12(void) = Call[~String] : func:r1049_11, this:r1049_10
# 1049| m1049_13(unknown) = ^CallSideEffect : ~m1049_9
@@ -12176,7 +12176,7 @@ ir.cpp:
# 1506| m1506_6(glval<Inheritance_Test_A>) = InitializeParameter[#this] : &:r1506_5
# 1506| r1506_7(glval<Inheritance_Test_A>) = Load[#this] : &:r1506_5, m1506_6
# 1506| m1506_8(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1506_7
# 1506| r1506_9(glval<int>) = FieldAddress[x] : m1506_6
# 1506| r1506_9(glval<int>) = FieldAddress[x] : r1506_7
# 1506| r1506_10(int) = Constant[42] :
# 1506| m1506_11(int) = Store[?] : &:r1506_9, r1506_10
# 1506| m1506_12(unknown) = Chi : total:m1506_8, partial:m1506_11
@@ -12335,7 +12335,7 @@ ir.cpp:
#-----| m0_2(StructuredBindingDataMemberStruct &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 1535| r1535_9(glval<int>) = FieldAddress[i] : m1535_6
# 1535| r1535_9(glval<int>) = FieldAddress[i] : r1535_7
# 1535| r1535_10(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_11(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_10, m0_2
# 1535| r1535_12(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_11
@@ -12343,7 +12343,7 @@ ir.cpp:
# 1535| r1535_14(int) = Load[?] : &:r1535_13, ~m0_4
# 1535| m1535_15(int) = Store[?] : &:r1535_9, r1535_14
# 1535| m1535_16(unknown) = Chi : total:m1535_8, partial:m1535_15
# 1535| r1535_17(glval<double>) = FieldAddress[d] : m1535_6
# 1535| r1535_17(glval<double>) = FieldAddress[d] : r1535_7
# 1535| r1535_18(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_19(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_18, m0_2
# 1535| r1535_20(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_19
@@ -12351,7 +12351,7 @@ ir.cpp:
# 1535| r1535_22(double) = Load[?] : &:r1535_21, ~m0_4
# 1535| m1535_23(double) = Store[?] : &:r1535_17, r1535_22
# 1535| m1535_24(unknown) = Chi : total:m1535_16, partial:m1535_23
# 1535| r1535_25(glval<unsigned int>) = FieldAddress[b] : m1535_6
# 1535| r1535_25(glval<unsigned int>) = FieldAddress[b] : r1535_7
# 1535| r1535_26(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_27(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_26, m0_2
# 1535| r1535_28(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_27
@@ -12359,7 +12359,7 @@ ir.cpp:
# 1535| r1535_30(unsigned int) = Load[?] : &:r1535_29, ~m0_4
# 1535| m1535_31(unsigned int) = Store[?] : &:r1535_25, r1535_30
# 1535| m1535_32(unknown) = Chi : total:m1535_24, partial:m1535_31
# 1535| r1535_33(glval<int &>) = FieldAddress[r] : m1535_6
# 1535| r1535_33(glval<int &>) = FieldAddress[r] : r1535_7
# 1535| r1535_34(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_35(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_34, m0_2
# 1535| r1535_36(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_35
@@ -12367,7 +12367,7 @@ ir.cpp:
# 1535| r1535_38(int &) = Load[?] : &:r1535_37, ~m0_4
# 1535| m1535_39(int &) = Store[?] : &:r1535_33, r1535_38
# 1535| m1535_40(unknown) = Chi : total:m1535_32, partial:m1535_39
# 1535| r1535_41(glval<int *>) = FieldAddress[p] : m1535_6
# 1535| r1535_41(glval<int *>) = FieldAddress[p] : r1535_7
# 1535| r1535_42(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_43(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_42, m0_2
# 1535| r1535_44(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_43
@@ -12375,7 +12375,7 @@ ir.cpp:
# 1535| r1535_46(int *) = Load[?] : &:r1535_45, ~m0_4
# 1535| m1535_47(int *) = Store[?] : &:r1535_41, r1535_46
# 1535| m1535_48(unknown) = Chi : total:m1535_40, partial:m1535_47
# 1535| r1535_49(glval<int[2]>) = FieldAddress[xs] : m1535_6
# 1535| r1535_49(glval<int[2]>) = FieldAddress[xs] : r1535_7
# 1535| r1535_50(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_51(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_50, m0_2
# 1535| r1535_52(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_51
@@ -12383,7 +12383,7 @@ ir.cpp:
# 1535| r1535_54(int[2]) = Load[?] : &:r1535_53, ~m0_4
# 1535| m1535_55(int[2]) = Store[?] : &:r1535_49, r1535_54
# 1535| m1535_56(unknown) = Chi : total:m1535_48, partial:m1535_55
# 1535| r1535_57(glval<int &>) = FieldAddress[r_alt] : m1535_6
# 1535| r1535_57(glval<int &>) = FieldAddress[r_alt] : r1535_7
# 1535| r1535_58(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_58, m0_2
# 1535| r1535_60(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_59
@@ -12391,7 +12391,7 @@ ir.cpp:
# 1535| r1535_62(int &) = Load[?] : &:r1535_61, ~m0_4
# 1535| m1535_63(int &) = Store[?] : &:r1535_57, r1535_62
# 1535| m1535_64(unknown) = Chi : total:m1535_56, partial:m1535_63
# 1535| r1535_65(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : m1535_6
# 1535| r1535_65(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : r1535_7
# 1535| r1535_66(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_67(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_66, m0_2
# 1535| r1535_68(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_67
@@ -12610,7 +12610,7 @@ ir.cpp:
#-----| m0_2(StructuredBindingTupleRefGet &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 1588| r1588_9(glval<int>) = FieldAddress[i] : m1588_6
# 1588| r1588_9(glval<int>) = FieldAddress[i] : r1588_7
# 1588| r1588_10(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
# 1588| r1588_11(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_10, m0_2
# 1588| r1588_12(glval<StructuredBindingTupleRefGet>) = CopyValue : r1588_11
@@ -12618,7 +12618,7 @@ ir.cpp:
# 1588| r1588_14(int) = Load[?] : &:r1588_13, ~m0_4
# 1588| m1588_15(int) = Store[?] : &:r1588_9, r1588_14
# 1588| m1588_16(unknown) = Chi : total:m1588_8, partial:m1588_15
# 1588| r1588_17(glval<double>) = FieldAddress[d] : m1588_6
# 1588| r1588_17(glval<double>) = FieldAddress[d] : r1588_7
# 1588| r1588_18(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
# 1588| r1588_19(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_18, m0_2
# 1588| r1588_20(glval<StructuredBindingTupleRefGet>) = CopyValue : r1588_19
@@ -12626,7 +12626,7 @@ ir.cpp:
# 1588| r1588_22(double) = Load[?] : &:r1588_21, ~m0_4
# 1588| m1588_23(double) = Store[?] : &:r1588_17, r1588_22
# 1588| m1588_24(unknown) = Chi : total:m1588_16, partial:m1588_23
# 1588| r1588_25(glval<int &>) = FieldAddress[r] : m1588_6
# 1588| r1588_25(glval<int &>) = FieldAddress[r] : r1588_7
# 1588| r1588_26(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
# 1588| r1588_27(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_26, m0_2
# 1588| r1588_28(glval<StructuredBindingTupleRefGet>) = CopyValue : r1588_27
@@ -13635,7 +13635,7 @@ ir.cpp:
#-----| m0_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 1785| r1785_9(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1785_6
# 1785| r1785_9(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1785_7
# 1785| r1785_10(glval<unknown>) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] :
# 1785| r1785_11(glval<CopyConstructorTestNonVirtualClass &>) = VariableAddress[(unnamed parameter 0)] :
# 1785| r1785_12(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1785_11, m0_2
@@ -13665,14 +13665,14 @@ ir.cpp:
# 1789| m1789_6(glval<CopyConstructorTestNonVirtualClass>) = InitializeParameter[#this] : &:r1789_5
# 1789| r1789_7(glval<CopyConstructorTestNonVirtualClass>) = Load[#this] : &:r1789_5, m1789_6
# 1789| m1789_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1789_7
# 1789| r1789_9(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1789_6
# 1789| r1789_9(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1789_7
# 1789| r1789_10(glval<unknown>) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] :
# 1789| v1789_11(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1789_10, this:r1789_9
# 1789| m1789_12(unknown) = ^CallSideEffect : ~m1789_4
# 1789| m1789_13(unknown) = Chi : total:m1789_4, partial:m1789_12
# 1789| m1789_14(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1789_9
# 1789| m1789_15(unknown) = Chi : total:m1789_8, partial:m1789_14
# 1789| r1789_16(glval<CopyConstructorWithBitwiseCopyClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1789_6
# 1789| r1789_16(glval<CopyConstructorWithBitwiseCopyClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : r1789_7
# 1789| r1789_17(glval<unknown>) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] :
# 1789| v1789_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1789_17, this:r1789_16
# 1789| m1789_19(unknown) = ^CallSideEffect : ~m1789_13
@@ -13700,7 +13700,7 @@ ir.cpp:
#-----| m0_2(CopyConstructorTestVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 1792| r1792_10(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1792_6
# 1792| r1792_10(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1792_7
# 1792| r1792_11(glval<unknown>) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] :
# 1792| r1792_12(glval<CopyConstructorTestVirtualClass &>) = VariableAddress[(unnamed parameter 0)] :
# 1792| r1792_13(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1792_12, m0_2
@@ -13731,14 +13731,14 @@ ir.cpp:
# 1796| r1796_7(glval<CopyConstructorTestVirtualClass>) = Load[#this] : &:r1796_5, m1796_6
# 1796| m1796_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1796_7
# 1796| m1796_9(unknown) = Chi : total:m1796_4, partial:m1796_8
# 1796| r1796_10(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1796_6
# 1796| r1796_10(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1796_7
# 1796| r1796_11(glval<unknown>) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] :
# 1796| v1796_12(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1796_11, this:r1796_10
# 1796| m1796_13(unknown) = ^CallSideEffect : ~m1796_9
# 1796| m1796_14(unknown) = Chi : total:m1796_9, partial:m1796_13
# 1796| m1796_15(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1796_10
# 1796| m1796_16(unknown) = Chi : total:m1796_14, partial:m1796_15
# 1796| r1796_17(glval<CopyConstructorWithBitwiseCopyClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1796_6
# 1796| r1796_17(glval<CopyConstructorWithBitwiseCopyClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : r1796_7
# 1796| r1796_18(glval<unknown>) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] :
# 1796| v1796_19(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1796_18, this:r1796_17
# 1796| m1796_20(unknown) = ^CallSideEffect : ~m1796_16
@@ -15718,7 +15718,7 @@ ir.cpp:
# 2109| m2109_6(glval<Derived2>) = InitializeParameter[#this] : &:r2109_5
# 2109| r2109_7(glval<Derived2>) = Load[#this] : &:r2109_5, m2109_6
# 2109| m2109_8(Derived2) = InitializeIndirection[#this] : &:r2109_7
# 2109| r2109_9(glval<Base2>) = ConvertToNonVirtualBase[Derived2 : Base2] : m2109_6
# 2109| r2109_9(glval<Base2>) = ConvertToNonVirtualBase[Derived2 : Base2] : r2109_7
# 2109| r2109_10(glval<unknown>) = FunctionAddress[Base2] :
# 2109| v2109_11(void) = Call[Base2] : func:r2109_10, this:r2109_9
# 2109| m2109_12(unknown) = ^CallSideEffect : ~m2109_4
@@ -15743,7 +15743,7 @@ ir.cpp:
# 2112| m2112_8(Derived2) = InitializeIndirection[#this] : &:r2112_7
# 2112| m2112_9(unknown) = Chi : total:m2112_4, partial:m2112_8
# 2112| v2112_10(void) = NoOp :
# 2112| r2112_11(glval<Base2>) = ConvertToNonVirtualBase[Derived2 : Base2] : m2112_6
# 2112| r2112_11(glval<Base2>) = ConvertToNonVirtualBase[Derived2 : Base2] : r2112_7
# 2112| r2112_12(glval<unknown>) = FunctionAddress[~Base2] :
# 2112| v2112_13(void) = Call[~Base2] : func:r2112_12, this:r2112_11
# 2112| m2112_14(unknown) = ^CallSideEffect : ~m2112_9
@@ -16154,7 +16154,7 @@ ir.cpp:
#-----| m0_2(ClassWithDestructor &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 2186| r2186_9(glval<char *>) = FieldAddress[x] : m2186_6
# 2186| r2186_9(glval<char *>) = FieldAddress[x] : r2186_7
# 2186| r2186_10(glval<ClassWithDestructor &>) = VariableAddress[(unnamed parameter 0)] :
# 2186| r2186_11(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2186_10, m0_2
# 2186| r2186_12(glval<ClassWithDestructor>) = CopyValue : r2186_11
@@ -39244,7 +39244,7 @@ perf-regression.cpp:
# 6| m6_6(glval<Big>) = InitializeParameter[#this] : &:r6_5
# 6| r6_7(glval<Big>) = Load[#this] : &:r6_5, m6_6
# 6| m6_8(Big) = InitializeIndirection[#this] : &:r6_7
# 6| r6_9(glval<char[1073741824]>) = FieldAddress[buffer] : m6_6
# 6| r6_9(glval<char[1073741824]>) = FieldAddress[buffer] : r6_7
# 6| r6_10(int) = Constant[0] :
# 6| r6_11(glval<char>) = PointerAdd[1] : r6_9, r6_10
# 6| r6_12(unknown[1073741824]) = Constant[0] :

View File

@@ -179,14 +179,14 @@ bad_asts.cpp:
#-----| mu0_2(Point &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(Point &) = Load[(unnamed parameter 0)] : &:r0_1, ~m?
#-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 19| r19_8(glval<int>) = FieldAddress[x] : mu19_5
# 19| r19_8(glval<int>) = FieldAddress[x] : r19_6
# 19| r19_9(glval<Point &>) = VariableAddress[(unnamed parameter 0)] :
# 19| r19_10(Point &) = Load[(unnamed parameter 0)] : &:r19_9, ~m?
# 19| r19_11(glval<Point>) = CopyValue : r19_10
# 19| r19_12(glval<int>) = FieldAddress[x] : r19_11
# 19| r19_13(int) = Load[?] : &:r19_12, ~m?
# 19| mu19_14(int) = Store[?] : &:r19_8, r19_13
# 19| r19_15(glval<int>) = FieldAddress[y] : mu19_5
# 19| r19_15(glval<int>) = FieldAddress[y] : r19_6
# 19| r19_16(glval<Point &>) = VariableAddress[(unnamed parameter 0)] :
# 19| r19_17(Point &) = Load[(unnamed parameter 0)] : &:r19_16, ~m?
# 19| r19_18(glval<Point>) = CopyValue : r19_17
@@ -6418,11 +6418,11 @@ ir.cpp:
# 628| r628_6(glval<C>) = Load[#this] : &:r628_4, ~m?
# 628| mu628_7(C) = InitializeIndirection[#this] : &:r628_6
#-----| v0_1(void) = NoOp :
# 628| r628_8(glval<String>) = FieldAddress[m_f] : mu628_5
# 628| r628_8(glval<String>) = FieldAddress[m_f] : r628_6
# 628| r628_9(glval<unknown>) = FunctionAddress[~String] :
# 628| v628_10(void) = Call[~String] : func:r628_9, this:r628_8
# 628| mu628_11(unknown) = ^CallSideEffect : ~m?
# 628| r628_12(glval<String>) = FieldAddress[m_b] : mu628_5
# 628| r628_12(glval<String>) = FieldAddress[m_b] : r628_6
# 628| r628_13(glval<unknown>) = FunctionAddress[~String] :
# 628| v628_14(void) = Call[~String] : func:r628_13, this:r628_12
# 628| mu628_15(unknown) = ^CallSideEffect : ~m?
@@ -6590,21 +6590,21 @@ ir.cpp:
# 658| mu658_5(glval<C>) = InitializeParameter[#this] : &:r658_4
# 658| r658_6(glval<C>) = Load[#this] : &:r658_4, ~m?
# 658| mu658_7(C) = InitializeIndirection[#this] : &:r658_6
# 659| r659_1(glval<int>) = FieldAddress[m_a] : mu658_5
# 659| r659_1(glval<int>) = FieldAddress[m_a] : r658_6
# 659| r659_2(int) = Constant[1] :
# 659| mu659_3(int) = Store[?] : &:r659_1, r659_2
# 663| r663_1(glval<String>) = FieldAddress[m_b] : mu658_5
# 663| r663_1(glval<String>) = FieldAddress[m_b] : r658_6
# 663| r663_2(glval<unknown>) = FunctionAddress[String] :
# 663| v663_3(void) = Call[String] : func:r663_2, this:r663_1
# 663| mu663_4(unknown) = ^CallSideEffect : ~m?
# 663| mu663_5(String) = ^IndirectMayWriteSideEffect[-1] : &:r663_1
# 660| r660_1(glval<char>) = FieldAddress[m_c] : mu658_5
# 660| r660_1(glval<char>) = FieldAddress[m_c] : r658_6
# 660| r660_2(char) = Constant[3] :
# 660| mu660_3(char) = Store[?] : &:r660_1, r660_2
# 661| r661_1(glval<void *>) = FieldAddress[m_e] : mu658_5
# 661| r661_1(glval<void *>) = FieldAddress[m_e] : r658_6
# 661| r661_2(void *) = Constant[0] :
# 661| mu661_3(void *) = Store[?] : &:r661_1, r661_2
# 662| r662_1(glval<String>) = FieldAddress[m_f] : mu658_5
# 662| r662_1(glval<String>) = FieldAddress[m_f] : r658_6
# 662| r662_2(glval<unknown>) = FunctionAddress[String] :
# 662| r662_3(glval<char[5]>) = StringConstant["test"] :
# 662| r662_4(char *) = Convert : r662_3
@@ -7021,7 +7021,7 @@ ir.cpp:
#-----| mu0_2(Base &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(Base &) = Load[(unnamed parameter 0)] : &:r0_1, ~m?
#-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 745| r745_8(glval<String>) = FieldAddress[base_s] : mu745_5
# 745| r745_8(glval<String>) = FieldAddress[base_s] : r745_6
# 745| r745_9(glval<unknown>) = FunctionAddress[String] :
# 745| v745_10(void) = Call[String] : func:r745_9, this:r745_8
# 745| mu745_11(unknown) = ^CallSideEffect : ~m?
@@ -7042,7 +7042,7 @@ ir.cpp:
# 748| mu748_5(glval<Base>) = InitializeParameter[#this] : &:r748_4
# 748| r748_6(glval<Base>) = Load[#this] : &:r748_4, ~m?
# 748| mu748_7(Base) = InitializeIndirection[#this] : &:r748_6
# 748| r748_8(glval<String>) = FieldAddress[base_s] : mu748_5
# 748| r748_8(glval<String>) = FieldAddress[base_s] : r748_6
# 748| r748_9(glval<unknown>) = FunctionAddress[String] :
# 748| v748_10(void) = Call[String] : func:r748_9, this:r748_8
# 748| mu748_11(unknown) = ^CallSideEffect : ~m?
@@ -7063,7 +7063,7 @@ ir.cpp:
# 750| r750_6(glval<Base>) = Load[#this] : &:r750_4, ~m?
# 750| mu750_7(Base) = InitializeIndirection[#this] : &:r750_6
# 751| v751_1(void) = NoOp :
# 751| r751_2(glval<String>) = FieldAddress[base_s] : mu750_5
# 751| r751_2(glval<String>) = FieldAddress[base_s] : r750_6
# 751| r751_3(glval<unknown>) = FunctionAddress[~String] :
# 751| v751_4(void) = Call[~String] : func:r751_3, this:r751_2
# 751| mu751_5(unknown) = ^CallSideEffect : ~m?
@@ -7140,12 +7140,12 @@ ir.cpp:
# 757| mu757_5(glval<Middle>) = InitializeParameter[#this] : &:r757_4
# 757| r757_6(glval<Middle>) = Load[#this] : &:r757_4, ~m?
# 757| mu757_7(Middle) = InitializeIndirection[#this] : &:r757_6
# 757| r757_8(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : mu757_5
# 757| r757_8(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : r757_6
# 757| r757_9(glval<unknown>) = FunctionAddress[Base] :
# 757| v757_10(void) = Call[Base] : func:r757_9, this:r757_8
# 757| mu757_11(unknown) = ^CallSideEffect : ~m?
# 757| mu757_12(Base) = ^IndirectMayWriteSideEffect[-1] : &:r757_8
# 757| r757_13(glval<String>) = FieldAddress[middle_s] : mu757_5
# 757| r757_13(glval<String>) = FieldAddress[middle_s] : r757_6
# 757| r757_14(glval<unknown>) = FunctionAddress[String] :
# 757| v757_15(void) = Call[String] : func:r757_14, this:r757_13
# 757| mu757_16(unknown) = ^CallSideEffect : ~m?
@@ -7166,11 +7166,11 @@ ir.cpp:
# 759| r759_6(glval<Middle>) = Load[#this] : &:r759_4, ~m?
# 759| mu759_7(Middle) = InitializeIndirection[#this] : &:r759_6
# 760| v760_1(void) = NoOp :
# 760| r760_2(glval<String>) = FieldAddress[middle_s] : mu759_5
# 760| r760_2(glval<String>) = FieldAddress[middle_s] : r759_6
# 760| r760_3(glval<unknown>) = FunctionAddress[~String] :
# 760| v760_4(void) = Call[~String] : func:r760_3, this:r760_2
# 760| mu760_5(unknown) = ^CallSideEffect : ~m?
# 760| r760_6(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : mu759_5
# 760| r760_6(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : r759_6
# 760| r760_7(glval<unknown>) = FunctionAddress[~Base] :
# 760| v760_8(void) = Call[~Base] : func:r760_7, this:r760_6
# 760| mu760_9(unknown) = ^CallSideEffect : ~m?
@@ -7247,12 +7247,12 @@ ir.cpp:
# 766| mu766_5(glval<Derived>) = InitializeParameter[#this] : &:r766_4
# 766| r766_6(glval<Derived>) = Load[#this] : &:r766_4, ~m?
# 766| mu766_7(Derived) = InitializeIndirection[#this] : &:r766_6
# 766| r766_8(glval<Middle>) = ConvertToNonVirtualBase[Derived : Middle] : mu766_5
# 766| r766_8(glval<Middle>) = ConvertToNonVirtualBase[Derived : Middle] : r766_6
# 766| r766_9(glval<unknown>) = FunctionAddress[Middle] :
# 766| v766_10(void) = Call[Middle] : func:r766_9, this:r766_8
# 766| mu766_11(unknown) = ^CallSideEffect : ~m?
# 766| mu766_12(Middle) = ^IndirectMayWriteSideEffect[-1] : &:r766_8
# 766| r766_13(glval<String>) = FieldAddress[derived_s] : mu766_5
# 766| r766_13(glval<String>) = FieldAddress[derived_s] : r766_6
# 766| r766_14(glval<unknown>) = FunctionAddress[String] :
# 766| v766_15(void) = Call[String] : func:r766_14, this:r766_13
# 766| mu766_16(unknown) = ^CallSideEffect : ~m?
@@ -7273,11 +7273,11 @@ ir.cpp:
# 768| r768_6(glval<Derived>) = Load[#this] : &:r768_4, ~m?
# 768| mu768_7(Derived) = InitializeIndirection[#this] : &:r768_6
# 769| v769_1(void) = NoOp :
# 769| r769_2(glval<String>) = FieldAddress[derived_s] : mu768_5
# 769| r769_2(glval<String>) = FieldAddress[derived_s] : r768_6
# 769| r769_3(glval<unknown>) = FunctionAddress[~String] :
# 769| v769_4(void) = Call[~String] : func:r769_3, this:r769_2
# 769| mu769_5(unknown) = ^CallSideEffect : ~m?
# 769| r769_6(glval<Middle>) = ConvertToNonVirtualBase[Derived : Middle] : mu768_5
# 769| r769_6(glval<Middle>) = ConvertToNonVirtualBase[Derived : Middle] : r768_6
# 769| r769_7(glval<unknown>) = FunctionAddress[~Middle] :
# 769| v769_8(void) = Call[~Middle] : func:r769_7, this:r769_6
# 769| mu769_9(unknown) = ^CallSideEffect : ~m?
@@ -7295,12 +7295,12 @@ ir.cpp:
# 775| mu775_5(glval<MiddleVB1>) = InitializeParameter[#this] : &:r775_4
# 775| r775_6(glval<MiddleVB1>) = Load[#this] : &:r775_4, ~m?
# 775| mu775_7(MiddleVB1) = InitializeIndirection[#this] : &:r775_6
# 775| r775_8(glval<Base>) = ConvertToNonVirtualBase[MiddleVB1 : Base] : mu775_5
# 775| r775_8(glval<Base>) = ConvertToNonVirtualBase[MiddleVB1 : Base] : r775_6
# 775| r775_9(glval<unknown>) = FunctionAddress[Base] :
# 775| v775_10(void) = Call[Base] : func:r775_9, this:r775_8
# 775| mu775_11(unknown) = ^CallSideEffect : ~m?
# 775| mu775_12(Base) = ^IndirectMayWriteSideEffect[-1] : &:r775_8
# 775| r775_13(glval<String>) = FieldAddress[middlevb1_s] : mu775_5
# 775| r775_13(glval<String>) = FieldAddress[middlevb1_s] : r775_6
# 775| r775_14(glval<unknown>) = FunctionAddress[String] :
# 775| v775_15(void) = Call[String] : func:r775_14, this:r775_13
# 775| mu775_16(unknown) = ^CallSideEffect : ~m?
@@ -7321,11 +7321,11 @@ ir.cpp:
# 777| r777_6(glval<MiddleVB1>) = Load[#this] : &:r777_4, ~m?
# 777| mu777_7(MiddleVB1) = InitializeIndirection[#this] : &:r777_6
# 778| v778_1(void) = NoOp :
# 778| r778_2(glval<String>) = FieldAddress[middlevb1_s] : mu777_5
# 778| r778_2(glval<String>) = FieldAddress[middlevb1_s] : r777_6
# 778| r778_3(glval<unknown>) = FunctionAddress[~String] :
# 778| v778_4(void) = Call[~String] : func:r778_3, this:r778_2
# 778| mu778_5(unknown) = ^CallSideEffect : ~m?
# 778| r778_6(glval<Base>) = ConvertToNonVirtualBase[MiddleVB1 : Base] : mu777_5
# 778| r778_6(glval<Base>) = ConvertToNonVirtualBase[MiddleVB1 : Base] : r777_6
# 778| r778_7(glval<unknown>) = FunctionAddress[~Base] :
# 778| v778_8(void) = Call[~Base] : func:r778_7, this:r778_6
# 778| mu778_9(unknown) = ^CallSideEffect : ~m?
@@ -7343,12 +7343,12 @@ ir.cpp:
# 784| mu784_5(glval<MiddleVB2>) = InitializeParameter[#this] : &:r784_4
# 784| r784_6(glval<MiddleVB2>) = Load[#this] : &:r784_4, ~m?
# 784| mu784_7(MiddleVB2) = InitializeIndirection[#this] : &:r784_6
# 784| r784_8(glval<Base>) = ConvertToNonVirtualBase[MiddleVB2 : Base] : mu784_5
# 784| r784_8(glval<Base>) = ConvertToNonVirtualBase[MiddleVB2 : Base] : r784_6
# 784| r784_9(glval<unknown>) = FunctionAddress[Base] :
# 784| v784_10(void) = Call[Base] : func:r784_9, this:r784_8
# 784| mu784_11(unknown) = ^CallSideEffect : ~m?
# 784| mu784_12(Base) = ^IndirectMayWriteSideEffect[-1] : &:r784_8
# 784| r784_13(glval<String>) = FieldAddress[middlevb2_s] : mu784_5
# 784| r784_13(glval<String>) = FieldAddress[middlevb2_s] : r784_6
# 784| r784_14(glval<unknown>) = FunctionAddress[String] :
# 784| v784_15(void) = Call[String] : func:r784_14, this:r784_13
# 784| mu784_16(unknown) = ^CallSideEffect : ~m?
@@ -7369,11 +7369,11 @@ ir.cpp:
# 786| r786_6(glval<MiddleVB2>) = Load[#this] : &:r786_4, ~m?
# 786| mu786_7(MiddleVB2) = InitializeIndirection[#this] : &:r786_6
# 787| v787_1(void) = NoOp :
# 787| r787_2(glval<String>) = FieldAddress[middlevb2_s] : mu786_5
# 787| r787_2(glval<String>) = FieldAddress[middlevb2_s] : r786_6
# 787| r787_3(glval<unknown>) = FunctionAddress[~String] :
# 787| v787_4(void) = Call[~String] : func:r787_3, this:r787_2
# 787| mu787_5(unknown) = ^CallSideEffect : ~m?
# 787| r787_6(glval<Base>) = ConvertToNonVirtualBase[MiddleVB2 : Base] : mu786_5
# 787| r787_6(glval<Base>) = ConvertToNonVirtualBase[MiddleVB2 : Base] : r786_6
# 787| r787_7(glval<unknown>) = FunctionAddress[~Base] :
# 787| v787_8(void) = Call[~Base] : func:r787_7, this:r787_6
# 787| mu787_9(unknown) = ^CallSideEffect : ~m?
@@ -7391,22 +7391,22 @@ ir.cpp:
# 793| mu793_5(glval<DerivedVB>) = InitializeParameter[#this] : &:r793_4
# 793| r793_6(glval<DerivedVB>) = Load[#this] : &:r793_4, ~m?
# 793| mu793_7(DerivedVB) = InitializeIndirection[#this] : &:r793_6
# 793| r793_8(glval<Base>) = ConvertToNonVirtualBase[DerivedVB : Base] : mu793_5
# 793| r793_8(glval<Base>) = ConvertToNonVirtualBase[DerivedVB : Base] : r793_6
# 793| r793_9(glval<unknown>) = FunctionAddress[Base] :
# 793| v793_10(void) = Call[Base] : func:r793_9, this:r793_8
# 793| mu793_11(unknown) = ^CallSideEffect : ~m?
# 793| mu793_12(Base) = ^IndirectMayWriteSideEffect[-1] : &:r793_8
# 793| r793_13(glval<MiddleVB1>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB1] : mu793_5
# 793| r793_13(glval<MiddleVB1>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB1] : r793_6
# 793| r793_14(glval<unknown>) = FunctionAddress[MiddleVB1] :
# 793| v793_15(void) = Call[MiddleVB1] : func:r793_14, this:r793_13
# 793| mu793_16(unknown) = ^CallSideEffect : ~m?
# 793| mu793_17(MiddleVB1) = ^IndirectMayWriteSideEffect[-1] : &:r793_13
# 793| r793_18(glval<MiddleVB2>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB2] : mu793_5
# 793| r793_18(glval<MiddleVB2>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB2] : r793_6
# 793| r793_19(glval<unknown>) = FunctionAddress[MiddleVB2] :
# 793| v793_20(void) = Call[MiddleVB2] : func:r793_19, this:r793_18
# 793| mu793_21(unknown) = ^CallSideEffect : ~m?
# 793| mu793_22(MiddleVB2) = ^IndirectMayWriteSideEffect[-1] : &:r793_18
# 793| r793_23(glval<String>) = FieldAddress[derivedvb_s] : mu793_5
# 793| r793_23(glval<String>) = FieldAddress[derivedvb_s] : r793_6
# 793| r793_24(glval<unknown>) = FunctionAddress[String] :
# 793| v793_25(void) = Call[String] : func:r793_24, this:r793_23
# 793| mu793_26(unknown) = ^CallSideEffect : ~m?
@@ -7427,19 +7427,19 @@ ir.cpp:
# 795| r795_6(glval<DerivedVB>) = Load[#this] : &:r795_4, ~m?
# 795| mu795_7(DerivedVB) = InitializeIndirection[#this] : &:r795_6
# 796| v796_1(void) = NoOp :
# 796| r796_2(glval<String>) = FieldAddress[derivedvb_s] : mu795_5
# 796| r796_2(glval<String>) = FieldAddress[derivedvb_s] : r795_6
# 796| r796_3(glval<unknown>) = FunctionAddress[~String] :
# 796| v796_4(void) = Call[~String] : func:r796_3, this:r796_2
# 796| mu796_5(unknown) = ^CallSideEffect : ~m?
# 796| r796_6(glval<MiddleVB2>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB2] : mu795_5
# 796| r796_6(glval<MiddleVB2>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB2] : r795_6
# 796| r796_7(glval<unknown>) = FunctionAddress[~MiddleVB2] :
# 796| v796_8(void) = Call[~MiddleVB2] : func:r796_7, this:r796_6
# 796| mu796_9(unknown) = ^CallSideEffect : ~m?
# 796| r796_10(glval<MiddleVB1>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB1] : mu795_5
# 796| r796_10(glval<MiddleVB1>) = ConvertToNonVirtualBase[DerivedVB : MiddleVB1] : r795_6
# 796| r796_11(glval<unknown>) = FunctionAddress[~MiddleVB1] :
# 796| v796_12(void) = Call[~MiddleVB1] : func:r796_11, this:r796_10
# 796| mu796_13(unknown) = ^CallSideEffect : ~m?
# 796| r796_14(glval<Base>) = ConvertToNonVirtualBase[DerivedVB : Base] : mu795_5
# 796| r796_14(glval<Base>) = ConvertToNonVirtualBase[DerivedVB : Base] : r795_6
# 796| r796_15(glval<unknown>) = FunctionAddress[~Base] :
# 796| v796_16(void) = Call[~Base] : func:r796_15, this:r796_14
# 796| mu796_17(unknown) = ^CallSideEffect : ~m?
@@ -7800,7 +7800,7 @@ ir.cpp:
# 846| mu846_5(glval<PolymorphicDerived>) = InitializeParameter[#this] : &:r846_4
# 846| r846_6(glval<PolymorphicDerived>) = Load[#this] : &:r846_4, ~m?
# 846| mu846_7(PolymorphicDerived) = InitializeIndirection[#this] : &:r846_6
# 846| r846_8(glval<PolymorphicBase>) = ConvertToNonVirtualBase[PolymorphicDerived : PolymorphicBase] : mu846_5
# 846| r846_8(glval<PolymorphicBase>) = ConvertToNonVirtualBase[PolymorphicDerived : PolymorphicBase] : r846_6
# 846| r846_9(glval<unknown>) = FunctionAddress[PolymorphicBase] :
# 846| v846_10(void) = Call[PolymorphicBase] : func:r846_9, this:r846_8
# 846| mu846_11(unknown) = ^CallSideEffect : ~m?
@@ -7821,7 +7821,7 @@ ir.cpp:
# 846| r846_6(glval<PolymorphicDerived>) = Load[#this] : &:r846_4, ~m?
# 846| mu846_7(PolymorphicDerived) = InitializeIndirection[#this] : &:r846_6
#-----| v0_1(void) = NoOp :
# 846| r846_8(glval<PolymorphicBase>) = ConvertToNonVirtualBase[PolymorphicDerived : PolymorphicBase] : mu846_5
# 846| r846_8(glval<PolymorphicBase>) = ConvertToNonVirtualBase[PolymorphicDerived : PolymorphicBase] : r846_6
# 846| r846_9(glval<unknown>) = FunctionAddress[~PolymorphicBase] :
# 846| v846_10(void) = Call[~PolymorphicBase] : func:r846_9, this:r846_8
# 846| mu846_11(unknown) = ^CallSideEffect : ~m?
@@ -7914,10 +7914,10 @@ ir.cpp:
# 868| r868_1(glval<unknown>) = FunctionAddress[String] :
# 868| r868_2(glval<char[1]>) = StringConstant[""] :
# 868| r868_3(char *) = Convert : r868_2
# 868| v868_4(void) = Call[String] : func:r868_1, this:mu867_5, 0:r868_3
# 868| v868_4(void) = Call[String] : func:r868_1, this:r867_6, 0:r868_3
# 868| mu868_5(unknown) = ^CallSideEffect : ~m?
# 868| v868_6(void) = ^BufferReadSideEffect[0] : &:r868_3, ~m?
# 868| mu868_7(String) = ^IndirectMayWriteSideEffect[-1] : &:mu867_5
# 868| mu868_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r867_6
# 869| v869_1(void) = NoOp :
# 867| v867_8(void) = ReturnIndirection[#this] : &:r867_6, ~m?
# 867| v867_9(void) = ReturnVoid :
@@ -9042,7 +9042,7 @@ ir.cpp:
# 1045| r1045_6(glval<decltype([...](...){...})>) = Load[#this] : &:r1045_4, ~m?
# 1045| mu1045_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1045_6
#-----| v0_1(void) = NoOp :
# 1045| r1045_8(glval<String>) = FieldAddress[s] : mu1045_5
# 1045| r1045_8(glval<String>) = FieldAddress[s] : r1045_6
# 1045| r1045_9(glval<unknown>) = FunctionAddress[~String] :
# 1045| v1045_10(void) = Call[~String] : func:r1045_9, this:r1045_8
# 1045| mu1045_11(unknown) = ^CallSideEffect : ~m?
@@ -9124,7 +9124,7 @@ ir.cpp:
# 1049| r1049_6(glval<decltype([...](...){...})>) = Load[#this] : &:r1049_4, ~m?
# 1049| mu1049_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1049_6
#-----| v0_1(void) = NoOp :
# 1049| r1049_8(glval<String>) = FieldAddress[s] : mu1049_5
# 1049| r1049_8(glval<String>) = FieldAddress[s] : r1049_6
# 1049| r1049_9(glval<unknown>) = FunctionAddress[~String] :
# 1049| v1049_10(void) = Call[~String] : func:r1049_9, this:r1049_8
# 1049| mu1049_11(unknown) = ^CallSideEffect : ~m?
@@ -11163,7 +11163,7 @@ ir.cpp:
# 1506| mu1506_5(glval<Inheritance_Test_A>) = InitializeParameter[#this] : &:r1506_4
# 1506| r1506_6(glval<Inheritance_Test_A>) = Load[#this] : &:r1506_4, ~m?
# 1506| mu1506_7(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1506_6
# 1506| r1506_8(glval<int>) = FieldAddress[x] : mu1506_5
# 1506| r1506_8(glval<int>) = FieldAddress[x] : r1506_6
# 1506| r1506_9(int) = Constant[42] :
# 1506| mu1506_10(int) = Store[?] : &:r1506_8, r1506_9
# 1507| r1507_1(int) = Constant[3] :
@@ -11296,7 +11296,7 @@ ir.cpp:
#-----| Goto -> Block 2
# 1535| Block 1
# 1535| r1535_8(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : mu1535_5
# 1535| r1535_8(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : r1535_6
# 1535| r1535_9(glval<unknown>) = FunctionAddress[StructuredBindingDataMemberMemberStruct] :
# 1535| v1535_10(void) = Call[StructuredBindingDataMemberMemberStruct] : func:r1535_9, this:r1535_8
# 1535| mu1535_11(unknown) = ^CallSideEffect : ~m?
@@ -11323,56 +11323,56 @@ ir.cpp:
#-----| mu0_2(StructuredBindingDataMemberStruct &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r0_1, ~m?
#-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 1535| r1535_8(glval<int>) = FieldAddress[i] : mu1535_5
# 1535| r1535_8(glval<int>) = FieldAddress[i] : r1535_6
# 1535| r1535_9(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_10(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_9, ~m?
# 1535| r1535_11(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_10
# 1535| r1535_12(glval<int>) = FieldAddress[i] : r1535_11
# 1535| r1535_13(int) = Load[?] : &:r1535_12, ~m?
# 1535| mu1535_14(int) = Store[?] : &:r1535_8, r1535_13
# 1535| r1535_15(glval<double>) = FieldAddress[d] : mu1535_5
# 1535| r1535_15(glval<double>) = FieldAddress[d] : r1535_6
# 1535| r1535_16(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_17(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_16, ~m?
# 1535| r1535_18(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_17
# 1535| r1535_19(glval<double>) = FieldAddress[d] : r1535_18
# 1535| r1535_20(double) = Load[?] : &:r1535_19, ~m?
# 1535| mu1535_21(double) = Store[?] : &:r1535_15, r1535_20
# 1535| r1535_22(glval<unsigned int>) = FieldAddress[b] : mu1535_5
# 1535| r1535_22(glval<unsigned int>) = FieldAddress[b] : r1535_6
# 1535| r1535_23(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_24(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_23, ~m?
# 1535| r1535_25(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_24
# 1535| r1535_26(glval<unsigned int>) = FieldAddress[b] : r1535_25
# 1535| r1535_27(unsigned int) = Load[?] : &:r1535_26, ~m?
# 1535| mu1535_28(unsigned int) = Store[?] : &:r1535_22, r1535_27
# 1535| r1535_29(glval<int &>) = FieldAddress[r] : mu1535_5
# 1535| r1535_29(glval<int &>) = FieldAddress[r] : r1535_6
# 1535| r1535_30(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_31(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_30, ~m?
# 1535| r1535_32(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_31
# 1535| r1535_33(glval<int &>) = FieldAddress[r] : r1535_32
# 1535| r1535_34(int &) = Load[?] : &:r1535_33, ~m?
# 1535| mu1535_35(int &) = Store[?] : &:r1535_29, r1535_34
# 1535| r1535_36(glval<int *>) = FieldAddress[p] : mu1535_5
# 1535| r1535_36(glval<int *>) = FieldAddress[p] : r1535_6
# 1535| r1535_37(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_38(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_37, ~m?
# 1535| r1535_39(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_38
# 1535| r1535_40(glval<int *>) = FieldAddress[p] : r1535_39
# 1535| r1535_41(int *) = Load[?] : &:r1535_40, ~m?
# 1535| mu1535_42(int *) = Store[?] : &:r1535_36, r1535_41
# 1535| r1535_43(glval<int[2]>) = FieldAddress[xs] : mu1535_5
# 1535| r1535_43(glval<int[2]>) = FieldAddress[xs] : r1535_6
# 1535| r1535_44(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_45(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_44, ~m?
# 1535| r1535_46(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_45
# 1535| r1535_47(glval<int[2]>) = FieldAddress[xs] : r1535_46
# 1535| r1535_48(int[2]) = Load[?] : &:r1535_47, ~m?
# 1535| mu1535_49(int[2]) = Store[?] : &:r1535_43, r1535_48
# 1535| r1535_50(glval<int &>) = FieldAddress[r_alt] : mu1535_5
# 1535| r1535_50(glval<int &>) = FieldAddress[r_alt] : r1535_6
# 1535| r1535_51(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_52(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_51, ~m?
# 1535| r1535_53(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_52
# 1535| r1535_54(glval<int &>) = FieldAddress[r_alt] : r1535_53
# 1535| r1535_55(int &) = Load[?] : &:r1535_54, ~m?
# 1535| mu1535_56(int &) = Store[?] : &:r1535_50, r1535_55
# 1535| r1535_57(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : mu1535_5
# 1535| r1535_57(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : r1535_6
# 1535| r1535_58(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
# 1535| r1535_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_58, ~m?
# 1535| r1535_60(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1535_59
@@ -11579,21 +11579,21 @@ ir.cpp:
#-----| mu0_2(StructuredBindingTupleRefGet &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r0_1, ~m?
#-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 1588| r1588_8(glval<int>) = FieldAddress[i] : mu1588_5
# 1588| r1588_8(glval<int>) = FieldAddress[i] : r1588_6
# 1588| r1588_9(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
# 1588| r1588_10(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_9, ~m?
# 1588| r1588_11(glval<StructuredBindingTupleRefGet>) = CopyValue : r1588_10
# 1588| r1588_12(glval<int>) = FieldAddress[i] : r1588_11
# 1588| r1588_13(int) = Load[?] : &:r1588_12, ~m?
# 1588| mu1588_14(int) = Store[?] : &:r1588_8, r1588_13
# 1588| r1588_15(glval<double>) = FieldAddress[d] : mu1588_5
# 1588| r1588_15(glval<double>) = FieldAddress[d] : r1588_6
# 1588| r1588_16(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
# 1588| r1588_17(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_16, ~m?
# 1588| r1588_18(glval<StructuredBindingTupleRefGet>) = CopyValue : r1588_17
# 1588| r1588_19(glval<double>) = FieldAddress[d] : r1588_18
# 1588| r1588_20(double) = Load[?] : &:r1588_19, ~m?
# 1588| mu1588_21(double) = Store[?] : &:r1588_15, r1588_20
# 1588| r1588_22(glval<int &>) = FieldAddress[r] : mu1588_5
# 1588| r1588_22(glval<int &>) = FieldAddress[r] : r1588_6
# 1588| r1588_23(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
# 1588| r1588_24(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_23, ~m?
# 1588| r1588_25(glval<StructuredBindingTupleRefGet>) = CopyValue : r1588_24
@@ -12518,7 +12518,7 @@ ir.cpp:
#-----| mu0_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, ~m?
#-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 1785| r1785_8(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1785_5
# 1785| r1785_8(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1785_6
# 1785| r1785_9(glval<unknown>) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] :
# 1785| r1785_10(glval<CopyConstructorTestNonVirtualClass &>) = VariableAddress[(unnamed parameter 0)] :
# 1785| r1785_11(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1785_10, ~m?
@@ -12545,12 +12545,12 @@ ir.cpp:
# 1789| mu1789_5(glval<CopyConstructorTestNonVirtualClass>) = InitializeParameter[#this] : &:r1789_4
# 1789| r1789_6(glval<CopyConstructorTestNonVirtualClass>) = Load[#this] : &:r1789_4, ~m?
# 1789| mu1789_7(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1789_6
# 1789| r1789_8(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1789_5
# 1789| r1789_8(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1789_6
# 1789| r1789_9(glval<unknown>) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] :
# 1789| v1789_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1789_9, this:r1789_8
# 1789| mu1789_11(unknown) = ^CallSideEffect : ~m?
# 1789| mu1789_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1789_8
# 1789| r1789_13(glval<CopyConstructorWithBitwiseCopyClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1789_5
# 1789| r1789_13(glval<CopyConstructorWithBitwiseCopyClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : r1789_6
# 1789| r1789_14(glval<unknown>) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] :
# 1789| v1789_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1789_14, this:r1789_13
# 1789| mu1789_16(unknown) = ^CallSideEffect : ~m?
@@ -12574,7 +12574,7 @@ ir.cpp:
#-----| mu0_2(CopyConstructorTestVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, ~m?
#-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 1792| r1792_8(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1792_5
# 1792| r1792_8(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1792_6
# 1792| r1792_9(glval<unknown>) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] :
# 1792| r1792_10(glval<CopyConstructorTestVirtualClass &>) = VariableAddress[(unnamed parameter 0)] :
# 1792| r1792_11(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1792_10, ~m?
@@ -12601,12 +12601,12 @@ ir.cpp:
# 1796| mu1796_5(glval<CopyConstructorTestVirtualClass>) = InitializeParameter[#this] : &:r1796_4
# 1796| r1796_6(glval<CopyConstructorTestVirtualClass>) = Load[#this] : &:r1796_4, ~m?
# 1796| mu1796_7(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1796_6
# 1796| r1796_8(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1796_5
# 1796| r1796_8(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1796_6
# 1796| r1796_9(glval<unknown>) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] :
# 1796| v1796_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1796_9, this:r1796_8
# 1796| mu1796_11(unknown) = ^CallSideEffect : ~m?
# 1796| mu1796_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1796_8
# 1796| r1796_13(glval<CopyConstructorWithBitwiseCopyClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1796_5
# 1796| r1796_13(glval<CopyConstructorWithBitwiseCopyClass>) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : r1796_6
# 1796| r1796_14(glval<unknown>) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] :
# 1796| v1796_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1796_14, this:r1796_13
# 1796| mu1796_16(unknown) = ^CallSideEffect : ~m?
@@ -14417,7 +14417,7 @@ ir.cpp:
# 2109| mu2109_5(glval<Derived2>) = InitializeParameter[#this] : &:r2109_4
# 2109| r2109_6(glval<Derived2>) = Load[#this] : &:r2109_4, ~m?
# 2109| mu2109_7(Derived2) = InitializeIndirection[#this] : &:r2109_6
# 2109| r2109_8(glval<Base2>) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2109_5
# 2109| r2109_8(glval<Base2>) = ConvertToNonVirtualBase[Derived2 : Base2] : r2109_6
# 2109| r2109_9(glval<unknown>) = FunctionAddress[Base2] :
# 2109| v2109_10(void) = Call[Base2] : func:r2109_9, this:r2109_8
# 2109| mu2109_11(unknown) = ^CallSideEffect : ~m?
@@ -14438,7 +14438,7 @@ ir.cpp:
# 2112| r2112_6(glval<Derived2>) = Load[#this] : &:r2112_4, ~m?
# 2112| mu2112_7(Derived2) = InitializeIndirection[#this] : &:r2112_6
# 2112| v2112_8(void) = NoOp :
# 2112| r2112_9(glval<Base2>) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2112_5
# 2112| r2112_9(glval<Base2>) = ConvertToNonVirtualBase[Derived2 : Base2] : r2112_6
# 2112| r2112_10(glval<unknown>) = FunctionAddress[~Base2] :
# 2112| v2112_11(void) = Call[~Base2] : func:r2112_10, this:r2112_9
# 2112| mu2112_12(unknown) = ^CallSideEffect : ~m?
@@ -14802,7 +14802,7 @@ ir.cpp:
#-----| mu0_2(ClassWithDestructor &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r0_1, ~m?
#-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 2186| r2186_8(glval<char *>) = FieldAddress[x] : mu2186_5
# 2186| r2186_8(glval<char *>) = FieldAddress[x] : r2186_6
# 2186| r2186_9(glval<ClassWithDestructor &>) = VariableAddress[(unnamed parameter 0)] :
# 2186| r2186_10(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2186_9, ~m?
# 2186| r2186_11(glval<ClassWithDestructor>) = CopyValue : r2186_10
@@ -37423,7 +37423,7 @@ perf-regression.cpp:
# 6| mu6_5(glval<Big>) = InitializeParameter[#this] : &:r6_4
# 6| r6_6(glval<Big>) = Load[#this] : &:r6_4, ~m?
# 6| mu6_7(Big) = InitializeIndirection[#this] : &:r6_6
# 6| r6_8(glval<char[1073741824]>) = FieldAddress[buffer] : mu6_5
# 6| r6_8(glval<char[1073741824]>) = FieldAddress[buffer] : r6_6
# 6| r6_9(int) = Constant[0] :
# 6| r6_10(glval<char>) = PointerAdd[1] : r6_8, r6_9
# 6| r6_11(unknown[1073741824]) = Constant[0] :

View File

@@ -6,6 +6,7 @@ edges
| test.cpp:12:5:12:5 | b | test.cpp:12:5:12:5 | (reference dereference) |
| test.cpp:15:3:15:4 | ~B | test.cpp:16:5:16:5 | this |
| test.cpp:16:5:16:5 | this | file://:0:0:0:0 | (A *)... |
| test.cpp:21:3:21:3 | C | test.cpp:21:3:21:3 | C |
| test.cpp:21:3:21:3 | C | test.cpp:21:13:21:13 | call to B |
| test.cpp:21:3:21:3 | C | test.cpp:22:12:22:15 | this |
| test.cpp:21:3:21:3 | C | test.cpp:25:7:25:10 | this |
@@ -35,6 +36,7 @@ nodes
| test.cpp:15:3:15:4 | ~B | semmle.label | ~B |
| test.cpp:16:5:16:5 | this | semmle.label | this |
| test.cpp:21:3:21:3 | C | semmle.label | C |
| test.cpp:21:3:21:3 | C | semmle.label | C |
| test.cpp:21:13:21:13 | call to B | semmle.label | call to B |
| test.cpp:22:12:22:15 | (B *)... | semmle.label | (B *)... |
| test.cpp:22:12:22:15 | this | semmle.label | this |