Files
codeql/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected
2024-04-26 16:38:39 +02:00

18788 lines
1.5 MiB

bad_asts.cpp:
# 9| int Bad::S::MemberFunction<int 6>(int)
# 9| Block 0
# 9| v9_1(void) = EnterFunction :
# 9| m9_2(unknown) = AliasedDefinition :
# 9| m9_3(unknown) = InitializeNonLocal :
# 9| m9_4(unknown) = Chi : total:m9_2, partial:m9_3
# 9| r9_5(glval<unknown>) = VariableAddress[#this] :
# 9| m9_6(glval<S>) = InitializeParameter[#this] : &:r9_5
# 9| r9_7(glval<S>) = Load[#this] : &:r9_5, m9_6
# 9| m9_8(S) = InitializeIndirection[#this] : &:r9_7
# 9| r9_9(glval<int>) = VariableAddress[y] :
# 9| m9_10(int) = InitializeParameter[y] : &:r9_9
# 10| r10_1(glval<int>) = VariableAddress[#return] :
# 10| r10_2(int) = Constant[6] :
# 10| r10_3(glval<unknown>) = VariableAddress[#this] :
# 10| r10_4(S *) = Load[#this] : &:r10_3, m9_6
# 10| r10_5(glval<int>) = FieldAddress[x] : r10_4
# 10| r10_6(int) = Load[?] : &:r10_5, ~m9_8
# 10| r10_7(int) = Add : r10_2, r10_6
# 10| r10_8(glval<int>) = VariableAddress[y] :
# 10| r10_9(int) = Load[y] : &:r10_8, m9_10
# 10| r10_10(int) = Add : r10_7, r10_9
# 10| m10_11(int) = Store[#return] : &:r10_1, r10_10
# 9| v9_11(void) = ReturnIndirection[#this] : &:r9_7, m9_8
# 9| r9_12(glval<int>) = VariableAddress[#return] :
# 9| v9_13(void) = ReturnValue : &:r9_12, m10_11
# 9| v9_14(void) = AliasedUse : m9_3
# 9| v9_15(void) = ExitFunction :
# 14| void Bad::CallBadMemberFunction()
# 14| Block 0
# 14| v14_1(void) = EnterFunction :
# 14| m14_2(unknown) = AliasedDefinition :
# 14| m14_3(unknown) = InitializeNonLocal :
# 14| m14_4(unknown) = Chi : total:m14_2, partial:m14_3
# 15| r15_1(glval<S>) = VariableAddress[s] :
# 15| m15_2(S) = Uninitialized[s] : &:r15_1
# 15| r15_3(glval<int>) = FieldAddress[x] : r15_1
# 15| r15_4(int) = Constant[0] :
# 15| m15_5(int) = Store[?] : &:r15_3, r15_4
# 16| r16_1(glval<S>) = VariableAddress[s] :
# 16| r16_2(glval<unknown>) = FunctionAddress[MemberFunction] :
# 16| r16_3(int) = Constant[1] :
# 16| r16_4(int) = Call[MemberFunction] : func:r16_2, this:r16_1, 0:r16_3
# 16| m16_5(unknown) = ^CallSideEffect : ~m14_4
# 16| m16_6(unknown) = Chi : total:m14_4, partial:m16_5
# 16| v16_7(void) = ^IndirectReadSideEffect[-1] : &:r16_1, ~m15_5
# 16| m16_8(S) = ^IndirectMayWriteSideEffect[-1] : &:r16_1
# 16| m16_9(S) = Chi : total:m15_5, partial:m16_8
# 17| v17_1(void) = NoOp :
# 14| v14_5(void) = ReturnVoid :
# 14| v14_6(void) = AliasedUse : ~m16_6
# 14| v14_7(void) = ExitFunction :
# 19| void Bad::Point::Point(Bad::Point const&)
# 19| Block 0
# 19| v19_1(void) = EnterFunction :
# 19| m19_2(unknown) = AliasedDefinition :
# 19| m19_3(unknown) = InitializeNonLocal :
# 19| m19_4(unknown) = Chi : total:m19_2, partial:m19_3
# 19| r19_5(glval<unknown>) = VariableAddress[#this] :
# 19| m19_6(glval<Point>) = InitializeParameter[#this] : &:r19_5
# 19| r19_7(glval<Point>) = Load[#this] : &:r19_5, m19_6
# 19| m19_8(Point) = InitializeIndirection[#this] : &:r19_7
#-----| r0_1(glval<Point &>) = VariableAddress[(unnamed parameter 0)] :
#-----| 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_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
# 19| r19_13(glval<int>) = FieldAddress[x] : r19_12
# 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_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
# 19| r19_21(glval<int>) = FieldAddress[y] : r19_20
# 19| r19_22(int) = Load[?] : &:r19_21, ~m0_4
# 19| m19_23(int) = Store[?] : &:r19_17, r19_22
# 19| m19_24(unknown) = Chi : total:m19_16, partial:m19_23
# 19| v19_25(void) = NoOp :
# 19| v19_26(void) = ReturnIndirection[#this] : &:r19_7, m19_24
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 19| v19_27(void) = ReturnVoid :
# 19| v19_28(void) = AliasedUse : m19_3
# 19| v19_29(void) = ExitFunction :
# 22| void Bad::Point::Point()
# 22| Block 0
# 22| v22_1(void) = EnterFunction :
# 22| m22_2(unknown) = AliasedDefinition :
# 22| m22_3(unknown) = InitializeNonLocal :
# 22| m22_4(unknown) = Chi : total:m22_2, partial:m22_3
# 22| r22_5(glval<unknown>) = VariableAddress[#this] :
# 22| m22_6(glval<Point>) = InitializeParameter[#this] : &:r22_5
# 22| r22_7(glval<Point>) = Load[#this] : &:r22_5, m22_6
# 22| m22_8(Point) = InitializeIndirection[#this] : &:r22_7
# 23| v23_1(void) = NoOp :
# 22| v22_9(void) = ReturnIndirection[#this] : &:r22_7, m22_8
# 22| v22_10(void) = ReturnVoid :
# 22| v22_11(void) = AliasedUse : m22_3
# 22| v22_12(void) = ExitFunction :
# 26| void Bad::CallCopyConstructor(Bad::Point const&)
# 26| Block 0
# 26| v26_1(void) = EnterFunction :
# 26| m26_2(unknown) = AliasedDefinition :
# 26| m26_3(unknown) = InitializeNonLocal :
# 26| m26_4(unknown) = Chi : total:m26_2, partial:m26_3
# 26| r26_5(glval<Point &>) = VariableAddress[a] :
# 26| m26_6(Point &) = InitializeParameter[a] : &:r26_5
# 26| r26_7(Point &) = Load[a] : &:r26_5, m26_6
# 26| m26_8(unknown) = InitializeIndirection[a] : &:r26_7
# 27| r27_1(glval<Point>) = VariableAddress[b] :
# 27| r27_2(glval<Point &>) = VariableAddress[a] :
# 27| r27_3(Point &) = Load[a] : &:r27_2, m26_6
# 27| r27_4(glval<Point>) = CopyValue : r27_3
# 27| r27_5(glval<Point>) = Convert : r27_4
# 27| r27_6(Point) = Load[?] : &:r27_5, ~m26_8
# 27| m27_7(Point) = Store[b] : &:r27_1, r27_6
# 28| v28_1(void) = NoOp :
# 26| v26_9(void) = ReturnIndirection[a] : &:r26_7, m26_8
# 26| v26_10(void) = ReturnVoid :
# 26| v26_11(void) = AliasedUse : m26_3
# 26| v26_12(void) = ExitFunction :
bad_stmts.cpp:
# 5| void Bad::errorExpr()
# 5| Block 0
# 5| v5_1(void) = EnterFunction :
# 5| m5_2(unknown) = AliasedDefinition :
# 5| m5_3(unknown) = InitializeNonLocal :
# 5| m5_4(unknown) = Chi : total:m5_2, partial:m5_3
# 6| r6_1(glval<int &>) = VariableAddress[intref] :
# 6| r6_2(error) = Error :
# 6| m6_3(int &) = Store[intref] : &:r6_1, r6_2
# 7| r7_1(glval<int>) = VariableAddress[x] :
# 7| r7_2(error) = Error :
# 7| m7_3(int) = Store[x] : &:r7_1, r7_2
# 8| r8_1(glval<error>) = Error :
# 8| r8_2(error) = Load[?] : &:r8_1, ~m5_4
# 8| r8_3(glval<int>) = VariableAddress[x] :
# 8| m8_4(int) = Store[x] : &:r8_3, r8_2
# 9| v9_1(void) = NoOp :
# 5| v5_5(void) = ReturnVoid :
# 5| v5_6(void) = AliasedUse : m5_3
# 5| v5_7(void) = ExitFunction :
clang.cpp:
# 5| int* globalIntAddress()
# 5| Block 0
# 5| v5_1(void) = EnterFunction :
# 5| m5_2(unknown) = AliasedDefinition :
# 5| m5_3(unknown) = InitializeNonLocal :
# 5| m5_4(unknown) = Chi : total:m5_2, partial:m5_3
# 6| r6_1(glval<int *>) = VariableAddress[#return] :
# 6| r6_2(glval<int>) = VariableAddress[globalInt] :
# 6| r6_3(int *) = CopyValue : r6_2
# 6| m6_4(int *) = Store[#return] : &:r6_1, r6_3
# 5| r5_5(glval<int *>) = VariableAddress[#return] :
# 5| v5_6(void) = ReturnValue : &:r5_5, m6_4
# 5| v5_7(void) = AliasedUse : m5_3
# 5| v5_8(void) = ExitFunction :
complex.c:
# 1| void complex_literals()
# 1| Block 0
# 1| v1_1(void) = EnterFunction :
# 1| m1_2(unknown) = AliasedDefinition :
# 1| m1_3(unknown) = InitializeNonLocal :
# 1| m1_4(unknown) = Chi : total:m1_2, partial:m1_3
# 2| r2_1(glval<_Complex float>) = VariableAddress[cf] :
# 2| r2_2(double) = Constant[2.0] :
# 2| r2_3(_Complex float) = Convert : r2_2
# 2| m2_4(_Complex float) = Store[cf] : &:r2_1, r2_3
# 3| r3_1(_Imaginary float) = Constant[1.0i] :
# 3| r3_2(_Complex float) = Convert : r3_1
# 3| r3_3(glval<_Complex float>) = VariableAddress[cf] :
# 3| m3_4(_Complex float) = Store[cf] : &:r3_3, r3_2
# 4| r4_1(glval<_Complex double>) = VariableAddress[cd] :
# 4| r4_2(double) = Constant[3.0] :
# 4| r4_3(_Complex double) = Convert : r4_2
# 4| m4_4(_Complex double) = Store[cd] : &:r4_1, r4_3
# 5| r5_1(_Imaginary float) = Constant[1.0i] :
# 5| r5_2(_Complex double) = Convert : r5_1
# 5| r5_3(glval<_Complex double>) = VariableAddress[cd] :
# 5| m5_4(_Complex double) = Store[cd] : &:r5_3, r5_2
# 6| r6_1(glval<_Complex long double>) = VariableAddress[cld] :
# 6| r6_2(double) = Constant[5.0] :
# 6| r6_3(_Complex long double) = Convert : r6_2
# 6| m6_4(_Complex long double) = Store[cld] : &:r6_1, r6_3
# 7| r7_1(_Imaginary float) = Constant[1.0i] :
# 7| r7_2(_Complex long double) = Convert : r7_1
# 7| r7_3(glval<_Complex long double>) = VariableAddress[cld] :
# 7| m7_4(_Complex long double) = Store[cld] : &:r7_3, r7_2
# 9| r9_1(glval<_Imaginary float>) = VariableAddress[jf] :
# 9| r9_2(_Imaginary float) = Constant[1.0i] :
# 9| m9_3(_Imaginary float) = Store[jf] : &:r9_1, r9_2
# 10| r10_1(glval<_Imaginary double>) = VariableAddress[jd] :
# 10| r10_2(_Imaginary float) = Constant[1.0i] :
# 10| r10_3(_Imaginary double) = Convert : r10_2
# 10| m10_4(_Imaginary double) = Store[jd] : &:r10_1, r10_3
# 11| r11_1(glval<_Imaginary long double>) = VariableAddress[jld] :
# 11| r11_2(_Imaginary float) = Constant[1.0i] :
# 11| r11_3(_Imaginary long double) = Convert : r11_2
# 11| m11_4(_Imaginary long double) = Store[jld] : &:r11_1, r11_3
# 12| v12_1(void) = NoOp :
# 1| v1_5(void) = ReturnVoid :
# 1| v1_6(void) = AliasedUse : m1_3
# 1| v1_7(void) = ExitFunction :
# 14| void complex_arithmetic()
# 14| Block 0
# 14| v14_1(void) = EnterFunction :
# 14| m14_2(unknown) = AliasedDefinition :
# 14| m14_3(unknown) = InitializeNonLocal :
# 14| m14_4(unknown) = Chi : total:m14_2, partial:m14_3
# 15| r15_1(glval<float>) = VariableAddress[f1] :
# 15| r15_2(float) = Constant[5.0] :
# 15| m15_3(float) = Store[f1] : &:r15_1, r15_2
# 16| r16_1(glval<float>) = VariableAddress[f2] :
# 16| r16_2(float) = Constant[7.0] :
# 16| m16_3(float) = Store[f2] : &:r16_1, r16_2
# 17| r17_1(glval<float>) = VariableAddress[f3] :
# 17| m17_2(float) = Uninitialized[f3] : &:r17_1
# 18| r18_1(glval<_Complex float>) = VariableAddress[cf1] :
# 18| r18_2(double) = Constant[2.0] :
# 18| r18_3(_Complex float) = Convert : r18_2
# 18| m18_4(_Complex float) = Store[cf1] : &:r18_1, r18_3
# 19| r19_1(glval<_Complex float>) = VariableAddress[cf2] :
# 19| r19_2(_Imaginary float) = Constant[1.0i] :
# 19| r19_3(_Complex float) = Convert : r19_2
# 19| m19_4(_Complex float) = Store[cf2] : &:r19_1, r19_3
# 20| r20_1(glval<_Complex float>) = VariableAddress[cf3] :
# 20| m20_2(_Complex float) = Uninitialized[cf3] : &:r20_1
# 21| r21_1(glval<_Imaginary float>) = VariableAddress[jf1] :
# 21| r21_2(_Imaginary float) = Constant[1.0i] :
# 21| m21_3(_Imaginary float) = Store[jf1] : &:r21_1, r21_2
# 22| r22_1(glval<_Imaginary float>) = VariableAddress[jf2] :
# 22| r22_2(_Imaginary float) = Constant[1.0i] :
# 22| m22_3(_Imaginary float) = Store[jf2] : &:r22_1, r22_2
# 23| r23_1(glval<_Imaginary float>) = VariableAddress[jf3] :
# 23| m23_2(_Imaginary float) = Uninitialized[jf3] : &:r23_1
# 26| r26_1(glval<_Complex float>) = VariableAddress[cf1] :
# 26| r26_2(_Complex float) = Load[cf1] : &:r26_1, m18_4
# 26| r26_3(_Complex float) = CopyValue : r26_2
# 26| r26_4(glval<_Complex float>) = VariableAddress[cf3] :
# 26| m26_5(_Complex float) = Store[cf3] : &:r26_4, r26_3
# 27| r27_1(glval<_Complex float>) = VariableAddress[cf1] :
# 27| r27_2(_Complex float) = Load[cf1] : &:r27_1, m18_4
# 27| r27_3(_Complex float) = Negate : r27_2
# 27| r27_4(glval<_Complex float>) = VariableAddress[cf3] :
# 27| m27_5(_Complex float) = Store[cf3] : &:r27_4, r27_3
# 30| r30_1(glval<_Complex float>) = VariableAddress[cf1] :
# 30| r30_2(_Complex float) = Load[cf1] : &:r30_1, m18_4
# 30| r30_3(glval<_Complex float>) = VariableAddress[cf2] :
# 30| r30_4(_Complex float) = Load[cf2] : &:r30_3, m19_4
# 30| r30_5(_Complex float) = Add : r30_2, r30_4
# 30| r30_6(glval<_Complex float>) = VariableAddress[cf3] :
# 30| m30_7(_Complex float) = Store[cf3] : &:r30_6, r30_5
# 31| r31_1(glval<_Complex float>) = VariableAddress[cf1] :
# 31| r31_2(_Complex float) = Load[cf1] : &:r31_1, m18_4
# 31| r31_3(glval<_Complex float>) = VariableAddress[cf2] :
# 31| r31_4(_Complex float) = Load[cf2] : &:r31_3, m19_4
# 31| r31_5(_Complex float) = Sub : r31_2, r31_4
# 31| r31_6(glval<_Complex float>) = VariableAddress[cf3] :
# 31| m31_7(_Complex float) = Store[cf3] : &:r31_6, r31_5
# 32| r32_1(glval<_Complex float>) = VariableAddress[cf1] :
# 32| r32_2(_Complex float) = Load[cf1] : &:r32_1, m18_4
# 32| r32_3(glval<_Complex float>) = VariableAddress[cf2] :
# 32| r32_4(_Complex float) = Load[cf2] : &:r32_3, m19_4
# 32| r32_5(_Complex float) = Mul : r32_2, r32_4
# 32| r32_6(glval<_Complex float>) = VariableAddress[cf3] :
# 32| m32_7(_Complex float) = Store[cf3] : &:r32_6, r32_5
# 33| r33_1(glval<_Complex float>) = VariableAddress[cf1] :
# 33| r33_2(_Complex float) = Load[cf1] : &:r33_1, m18_4
# 33| r33_3(glval<_Complex float>) = VariableAddress[cf2] :
# 33| r33_4(_Complex float) = Load[cf2] : &:r33_3, m19_4
# 33| r33_5(_Complex float) = Div : r33_2, r33_4
# 33| r33_6(glval<_Complex float>) = VariableAddress[cf3] :
# 33| m33_7(_Complex float) = Store[cf3] : &:r33_6, r33_5
# 36| r36_1(glval<_Imaginary float>) = VariableAddress[jf1] :
# 36| r36_2(_Imaginary float) = Load[jf1] : &:r36_1, m21_3
# 36| r36_3(_Imaginary float) = CopyValue : r36_2
# 36| r36_4(glval<_Imaginary float>) = VariableAddress[jf3] :
# 36| m36_5(_Imaginary float) = Store[jf3] : &:r36_4, r36_3
# 37| r37_1(glval<_Imaginary float>) = VariableAddress[jf1] :
# 37| r37_2(_Imaginary float) = Load[jf1] : &:r37_1, m21_3
# 37| r37_3(_Imaginary float) = Negate : r37_2
# 37| r37_4(glval<_Imaginary float>) = VariableAddress[jf3] :
# 37| m37_5(_Imaginary float) = Store[jf3] : &:r37_4, r37_3
# 40| r40_1(glval<_Imaginary float>) = VariableAddress[jf1] :
# 40| r40_2(_Imaginary float) = Load[jf1] : &:r40_1, m21_3
# 40| r40_3(glval<_Imaginary float>) = VariableAddress[jf2] :
# 40| r40_4(_Imaginary float) = Load[jf2] : &:r40_3, m22_3
# 40| r40_5(_Imaginary float) = Add : r40_2, r40_4
# 40| r40_6(glval<_Imaginary float>) = VariableAddress[jf3] :
# 40| m40_7(_Imaginary float) = Store[jf3] : &:r40_6, r40_5
# 41| r41_1(glval<_Imaginary float>) = VariableAddress[jf1] :
# 41| r41_2(_Imaginary float) = Load[jf1] : &:r41_1, m21_3
# 41| r41_3(glval<_Imaginary float>) = VariableAddress[jf2] :
# 41| r41_4(_Imaginary float) = Load[jf2] : &:r41_3, m22_3
# 41| r41_5(_Imaginary float) = Sub : r41_2, r41_4
# 41| r41_6(glval<_Imaginary float>) = VariableAddress[jf3] :
# 41| m41_7(_Imaginary float) = Store[jf3] : &:r41_6, r41_5
# 42| r42_1(glval<_Imaginary float>) = VariableAddress[jf1] :
# 42| r42_2(_Imaginary float) = Load[jf1] : &:r42_1, m21_3
# 42| r42_3(glval<_Imaginary float>) = VariableAddress[jf2] :
# 42| r42_4(_Imaginary float) = Load[jf2] : &:r42_3, m22_3
# 42| r42_5(float) = Mul : r42_2, r42_4
# 42| r42_6(glval<float>) = VariableAddress[f3] :
# 42| m42_7(float) = Store[f3] : &:r42_6, r42_5
# 43| r43_1(glval<_Imaginary float>) = VariableAddress[jf1] :
# 43| r43_2(_Imaginary float) = Load[jf1] : &:r43_1, m21_3
# 43| r43_3(glval<_Imaginary float>) = VariableAddress[jf2] :
# 43| r43_4(_Imaginary float) = Load[jf2] : &:r43_3, m22_3
# 43| r43_5(float) = Div : r43_2, r43_4
# 43| r43_6(glval<float>) = VariableAddress[f3] :
# 43| m43_7(float) = Store[f3] : &:r43_6, r43_5
# 46| r46_1(glval<_Imaginary float>) = VariableAddress[jf1] :
# 46| r46_2(_Imaginary float) = Load[jf1] : &:r46_1, m21_3
# 46| r46_3(glval<float>) = VariableAddress[f2] :
# 46| r46_4(float) = Load[f2] : &:r46_3, m16_3
# 46| r46_5(_Complex float) = Add : r46_2, r46_4
# 46| r46_6(glval<_Complex float>) = VariableAddress[cf3] :
# 46| m46_7(_Complex float) = Store[cf3] : &:r46_6, r46_5
# 47| r47_1(glval<_Imaginary float>) = VariableAddress[jf1] :
# 47| r47_2(_Imaginary float) = Load[jf1] : &:r47_1, m21_3
# 47| r47_3(glval<float>) = VariableAddress[f2] :
# 47| r47_4(float) = Load[f2] : &:r47_3, m16_3
# 47| r47_5(_Complex float) = Sub : r47_2, r47_4
# 47| r47_6(glval<_Complex float>) = VariableAddress[cf3] :
# 47| m47_7(_Complex float) = Store[cf3] : &:r47_6, r47_5
# 48| r48_1(glval<_Imaginary float>) = VariableAddress[jf1] :
# 48| r48_2(_Imaginary float) = Load[jf1] : &:r48_1, m21_3
# 48| r48_3(glval<float>) = VariableAddress[f2] :
# 48| r48_4(float) = Load[f2] : &:r48_3, m16_3
# 48| r48_5(_Imaginary float) = Mul : r48_2, r48_4
# 48| r48_6(glval<_Imaginary float>) = VariableAddress[jf3] :
# 48| m48_7(_Imaginary float) = Store[jf3] : &:r48_6, r48_5
# 49| r49_1(glval<_Imaginary float>) = VariableAddress[jf1] :
# 49| r49_2(_Imaginary float) = Load[jf1] : &:r49_1, m21_3
# 49| r49_3(glval<float>) = VariableAddress[f2] :
# 49| r49_4(float) = Load[f2] : &:r49_3, m16_3
# 49| r49_5(_Imaginary float) = Div : r49_2, r49_4
# 49| r49_6(glval<_Imaginary float>) = VariableAddress[jf3] :
# 49| m49_7(_Imaginary float) = Store[jf3] : &:r49_6, r49_5
# 52| r52_1(glval<float>) = VariableAddress[f1] :
# 52| r52_2(float) = Load[f1] : &:r52_1, m15_3
# 52| r52_3(glval<_Imaginary float>) = VariableAddress[jf2] :
# 52| r52_4(_Imaginary float) = Load[jf2] : &:r52_3, m22_3
# 52| r52_5(_Complex float) = Add : r52_2, r52_4
# 52| r52_6(glval<_Complex float>) = VariableAddress[cf3] :
# 52| m52_7(_Complex float) = Store[cf3] : &:r52_6, r52_5
# 53| r53_1(glval<float>) = VariableAddress[f1] :
# 53| r53_2(float) = Load[f1] : &:r53_1, m15_3
# 53| r53_3(glval<_Imaginary float>) = VariableAddress[jf2] :
# 53| r53_4(_Imaginary float) = Load[jf2] : &:r53_3, m22_3
# 53| r53_5(_Complex float) = Sub : r53_2, r53_4
# 53| r53_6(glval<_Complex float>) = VariableAddress[cf3] :
# 53| m53_7(_Complex float) = Store[cf3] : &:r53_6, r53_5
# 54| r54_1(glval<float>) = VariableAddress[f1] :
# 54| r54_2(float) = Load[f1] : &:r54_1, m15_3
# 54| r54_3(glval<_Imaginary float>) = VariableAddress[jf2] :
# 54| r54_4(_Imaginary float) = Load[jf2] : &:r54_3, m22_3
# 54| r54_5(_Imaginary float) = Mul : r54_2, r54_4
# 54| r54_6(glval<_Imaginary float>) = VariableAddress[jf3] :
# 54| m54_7(_Imaginary float) = Store[jf3] : &:r54_6, r54_5
# 55| r55_1(glval<float>) = VariableAddress[f1] :
# 55| r55_2(float) = Load[f1] : &:r55_1, m15_3
# 55| r55_3(glval<_Imaginary float>) = VariableAddress[jf2] :
# 55| r55_4(_Imaginary float) = Load[jf2] : &:r55_3, m22_3
# 55| r55_5(_Imaginary float) = Div : r55_2, r55_4
# 55| r55_6(glval<_Imaginary float>) = VariableAddress[jf3] :
# 55| m55_7(_Imaginary float) = Store[jf3] : &:r55_6, r55_5
# 56| v56_1(void) = NoOp :
# 14| v14_5(void) = ReturnVoid :
# 14| v14_6(void) = AliasedUse : m14_3
# 14| v14_7(void) = ExitFunction :
# 58| void complex_conversions()
# 58| Block 0
# 58| v58_1(void) = EnterFunction :
# 58| m58_2(unknown) = AliasedDefinition :
# 58| m58_3(unknown) = InitializeNonLocal :
# 58| m58_4(unknown) = Chi : total:m58_2, partial:m58_3
# 59| r59_1(glval<float>) = VariableAddress[f] :
# 59| r59_2(float) = Constant[2.0] :
# 59| m59_3(float) = Store[f] : &:r59_1, r59_2
# 60| r60_1(glval<double>) = VariableAddress[d] :
# 60| r60_2(double) = Constant[3.0] :
# 60| m60_3(double) = Store[d] : &:r60_1, r60_2
# 61| r61_1(glval<long double>) = VariableAddress[ld] :
# 61| r61_2(long double) = Constant[5.0] :
# 61| m61_3(long double) = Store[ld] : &:r61_1, r61_2
# 62| r62_1(glval<_Complex float>) = VariableAddress[cf] :
# 62| r62_2(double) = Constant[7.0] :
# 62| r62_3(_Complex float) = Convert : r62_2
# 62| m62_4(_Complex float) = Store[cf] : &:r62_1, r62_3
# 63| r63_1(glval<_Complex double>) = VariableAddress[cd] :
# 63| r63_2(double) = Constant[11.0] :
# 63| r63_3(_Complex double) = Convert : r63_2
# 63| m63_4(_Complex double) = Store[cd] : &:r63_1, r63_3
# 64| r64_1(glval<_Complex long double>) = VariableAddress[cld] :
# 64| r64_2(double) = Constant[13.0] :
# 64| r64_3(_Complex long double) = Convert : r64_2
# 64| m64_4(_Complex long double) = Store[cld] : &:r64_1, r64_3
# 65| r65_1(glval<_Imaginary float>) = VariableAddress[jf] :
# 65| r65_2(_Imaginary float) = Constant[1.0i] :
# 65| m65_3(_Imaginary float) = Store[jf] : &:r65_1, r65_2
# 66| r66_1(glval<_Imaginary double>) = VariableAddress[jd] :
# 66| r66_2(_Imaginary float) = Constant[1.0i] :
# 66| r66_3(_Imaginary double) = Convert : r66_2
# 66| m66_4(_Imaginary double) = Store[jd] : &:r66_1, r66_3
# 67| r67_1(glval<_Imaginary long double>) = VariableAddress[jld] :
# 67| r67_2(_Imaginary float) = Constant[1.0i] :
# 67| r67_3(_Imaginary long double) = Convert : r67_2
# 67| m67_4(_Imaginary long double) = Store[jld] : &:r67_1, r67_3
# 70| r70_1(glval<_Complex float>) = VariableAddress[cf] :
# 70| r70_2(_Complex float) = Load[cf] : &:r70_1, m62_4
# 70| r70_3(glval<_Complex float>) = VariableAddress[cf] :
# 70| m70_4(_Complex float) = Store[cf] : &:r70_3, r70_2
# 71| r71_1(glval<_Complex double>) = VariableAddress[cd] :
# 71| r71_2(_Complex double) = Load[cd] : &:r71_1, m63_4
# 71| r71_3(_Complex float) = Convert : r71_2
# 71| r71_4(glval<_Complex float>) = VariableAddress[cf] :
# 71| m71_5(_Complex float) = Store[cf] : &:r71_4, r71_3
# 72| r72_1(glval<_Complex long double>) = VariableAddress[cld] :
# 72| r72_2(_Complex long double) = Load[cld] : &:r72_1, m64_4
# 72| r72_3(_Complex float) = Convert : r72_2
# 72| r72_4(glval<_Complex float>) = VariableAddress[cf] :
# 72| m72_5(_Complex float) = Store[cf] : &:r72_4, r72_3
# 73| r73_1(glval<_Complex float>) = VariableAddress[cf] :
# 73| r73_2(_Complex float) = Load[cf] : &:r73_1, m72_5
# 73| r73_3(_Complex double) = Convert : r73_2
# 73| r73_4(glval<_Complex double>) = VariableAddress[cd] :
# 73| m73_5(_Complex double) = Store[cd] : &:r73_4, r73_3
# 74| r74_1(glval<_Complex double>) = VariableAddress[cd] :
# 74| r74_2(_Complex double) = Load[cd] : &:r74_1, m73_5
# 74| r74_3(glval<_Complex double>) = VariableAddress[cd] :
# 74| m74_4(_Complex double) = Store[cd] : &:r74_3, r74_2
# 75| r75_1(glval<_Complex long double>) = VariableAddress[cld] :
# 75| r75_2(_Complex long double) = Load[cld] : &:r75_1, m64_4
# 75| r75_3(_Complex double) = Convert : r75_2
# 75| r75_4(glval<_Complex double>) = VariableAddress[cd] :
# 75| m75_5(_Complex double) = Store[cd] : &:r75_4, r75_3
# 76| r76_1(glval<_Complex float>) = VariableAddress[cf] :
# 76| r76_2(_Complex float) = Load[cf] : &:r76_1, m72_5
# 76| r76_3(_Complex long double) = Convert : r76_2
# 76| r76_4(glval<_Complex long double>) = VariableAddress[cld] :
# 76| m76_5(_Complex long double) = Store[cld] : &:r76_4, r76_3
# 77| r77_1(glval<_Complex double>) = VariableAddress[cd] :
# 77| r77_2(_Complex double) = Load[cd] : &:r77_1, m75_5
# 77| r77_3(_Complex long double) = Convert : r77_2
# 77| r77_4(glval<_Complex long double>) = VariableAddress[cld] :
# 77| m77_5(_Complex long double) = Store[cld] : &:r77_4, r77_3
# 78| r78_1(glval<_Complex long double>) = VariableAddress[cld] :
# 78| r78_2(_Complex long double) = Load[cld] : &:r78_1, m77_5
# 78| r78_3(glval<_Complex long double>) = VariableAddress[cld] :
# 78| m78_4(_Complex long double) = Store[cld] : &:r78_3, r78_2
# 81| r81_1(glval<float>) = VariableAddress[f] :
# 81| r81_2(float) = Load[f] : &:r81_1, m59_3
# 81| r81_3(_Complex float) = Convert : r81_2
# 81| r81_4(glval<_Complex float>) = VariableAddress[cf] :
# 81| m81_5(_Complex float) = Store[cf] : &:r81_4, r81_3
# 82| r82_1(glval<double>) = VariableAddress[d] :
# 82| r82_2(double) = Load[d] : &:r82_1, m60_3
# 82| r82_3(_Complex float) = Convert : r82_2
# 82| r82_4(glval<_Complex float>) = VariableAddress[cf] :
# 82| m82_5(_Complex float) = Store[cf] : &:r82_4, r82_3
# 83| r83_1(glval<long double>) = VariableAddress[ld] :
# 83| r83_2(long double) = Load[ld] : &:r83_1, m61_3
# 83| r83_3(_Complex float) = Convert : r83_2
# 83| r83_4(glval<_Complex float>) = VariableAddress[cf] :
# 83| m83_5(_Complex float) = Store[cf] : &:r83_4, r83_3
# 84| r84_1(glval<float>) = VariableAddress[f] :
# 84| r84_2(float) = Load[f] : &:r84_1, m59_3
# 84| r84_3(_Complex double) = Convert : r84_2
# 84| r84_4(glval<_Complex double>) = VariableAddress[cd] :
# 84| m84_5(_Complex double) = Store[cd] : &:r84_4, r84_3
# 85| r85_1(glval<double>) = VariableAddress[d] :
# 85| r85_2(double) = Load[d] : &:r85_1, m60_3
# 85| r85_3(_Complex double) = Convert : r85_2
# 85| r85_4(glval<_Complex double>) = VariableAddress[cd] :
# 85| m85_5(_Complex double) = Store[cd] : &:r85_4, r85_3
# 86| r86_1(glval<long double>) = VariableAddress[ld] :
# 86| r86_2(long double) = Load[ld] : &:r86_1, m61_3
# 86| r86_3(_Complex double) = Convert : r86_2
# 86| r86_4(glval<_Complex double>) = VariableAddress[cd] :
# 86| m86_5(_Complex double) = Store[cd] : &:r86_4, r86_3
# 87| r87_1(glval<float>) = VariableAddress[f] :
# 87| r87_2(float) = Load[f] : &:r87_1, m59_3
# 87| r87_3(_Complex long double) = Convert : r87_2
# 87| r87_4(glval<_Complex long double>) = VariableAddress[cld] :
# 87| m87_5(_Complex long double) = Store[cld] : &:r87_4, r87_3
# 88| r88_1(glval<double>) = VariableAddress[d] :
# 88| r88_2(double) = Load[d] : &:r88_1, m60_3
# 88| r88_3(_Complex long double) = Convert : r88_2
# 88| r88_4(glval<_Complex long double>) = VariableAddress[cld] :
# 88| m88_5(_Complex long double) = Store[cld] : &:r88_4, r88_3
# 89| r89_1(glval<long double>) = VariableAddress[ld] :
# 89| r89_2(long double) = Load[ld] : &:r89_1, m61_3
# 89| r89_3(_Complex long double) = Convert : r89_2
# 89| r89_4(glval<_Complex long double>) = VariableAddress[cld] :
# 89| m89_5(_Complex long double) = Store[cld] : &:r89_4, r89_3
# 92| r92_1(glval<_Complex float>) = VariableAddress[cf] :
# 92| r92_2(_Complex float) = Load[cf] : &:r92_1, m83_5
# 92| r92_3(float) = Convert : r92_2
# 92| r92_4(glval<float>) = VariableAddress[f] :
# 92| m92_5(float) = Store[f] : &:r92_4, r92_3
# 93| r93_1(glval<_Complex double>) = VariableAddress[cd] :
# 93| r93_2(_Complex double) = Load[cd] : &:r93_1, m86_5
# 93| r93_3(float) = Convert : r93_2
# 93| r93_4(glval<float>) = VariableAddress[f] :
# 93| m93_5(float) = Store[f] : &:r93_4, r93_3
# 94| r94_1(glval<_Complex long double>) = VariableAddress[cld] :
# 94| r94_2(_Complex long double) = Load[cld] : &:r94_1, m89_5
# 94| r94_3(float) = Convert : r94_2
# 94| r94_4(glval<float>) = VariableAddress[f] :
# 94| m94_5(float) = Store[f] : &:r94_4, r94_3
# 95| r95_1(glval<_Complex float>) = VariableAddress[cf] :
# 95| r95_2(_Complex float) = Load[cf] : &:r95_1, m83_5
# 95| r95_3(double) = Convert : r95_2
# 95| r95_4(glval<double>) = VariableAddress[d] :
# 95| m95_5(double) = Store[d] : &:r95_4, r95_3
# 96| r96_1(glval<_Complex double>) = VariableAddress[cd] :
# 96| r96_2(_Complex double) = Load[cd] : &:r96_1, m86_5
# 96| r96_3(double) = Convert : r96_2
# 96| r96_4(glval<double>) = VariableAddress[d] :
# 96| m96_5(double) = Store[d] : &:r96_4, r96_3
# 97| r97_1(glval<_Complex long double>) = VariableAddress[cld] :
# 97| r97_2(_Complex long double) = Load[cld] : &:r97_1, m89_5
# 97| r97_3(double) = Convert : r97_2
# 97| r97_4(glval<double>) = VariableAddress[d] :
# 97| m97_5(double) = Store[d] : &:r97_4, r97_3
# 98| r98_1(glval<_Complex float>) = VariableAddress[cf] :
# 98| r98_2(_Complex float) = Load[cf] : &:r98_1, m83_5
# 98| r98_3(long double) = Convert : r98_2
# 98| r98_4(glval<long double>) = VariableAddress[ld] :
# 98| m98_5(long double) = Store[ld] : &:r98_4, r98_3
# 99| r99_1(glval<_Complex double>) = VariableAddress[cd] :
# 99| r99_2(_Complex double) = Load[cd] : &:r99_1, m86_5
# 99| r99_3(long double) = Convert : r99_2
# 99| r99_4(glval<long double>) = VariableAddress[ld] :
# 99| m99_5(long double) = Store[ld] : &:r99_4, r99_3
# 100| r100_1(glval<_Complex long double>) = VariableAddress[cld] :
# 100| r100_2(_Complex long double) = Load[cld] : &:r100_1, m89_5
# 100| r100_3(long double) = Convert : r100_2
# 100| r100_4(glval<long double>) = VariableAddress[ld] :
# 100| m100_5(long double) = Store[ld] : &:r100_4, r100_3
# 103| r103_1(glval<_Imaginary float>) = VariableAddress[jf] :
# 103| r103_2(_Imaginary float) = Load[jf] : &:r103_1, m65_3
# 103| r103_3(_Complex float) = Convert : r103_2
# 103| r103_4(glval<_Complex float>) = VariableAddress[cf] :
# 103| m103_5(_Complex float) = Store[cf] : &:r103_4, r103_3
# 104| r104_1(glval<_Imaginary double>) = VariableAddress[jd] :
# 104| r104_2(_Imaginary double) = Load[jd] : &:r104_1, m66_4
# 104| r104_3(_Complex float) = Convert : r104_2
# 104| r104_4(glval<_Complex float>) = VariableAddress[cf] :
# 104| m104_5(_Complex float) = Store[cf] : &:r104_4, r104_3
# 105| r105_1(glval<_Imaginary long double>) = VariableAddress[jld] :
# 105| r105_2(_Imaginary long double) = Load[jld] : &:r105_1, m67_4
# 105| r105_3(_Complex float) = Convert : r105_2
# 105| r105_4(glval<_Complex float>) = VariableAddress[cf] :
# 105| m105_5(_Complex float) = Store[cf] : &:r105_4, r105_3
# 106| r106_1(glval<_Imaginary float>) = VariableAddress[jf] :
# 106| r106_2(_Imaginary float) = Load[jf] : &:r106_1, m65_3
# 106| r106_3(_Complex double) = Convert : r106_2
# 106| r106_4(glval<_Complex double>) = VariableAddress[cd] :
# 106| m106_5(_Complex double) = Store[cd] : &:r106_4, r106_3
# 107| r107_1(glval<_Imaginary double>) = VariableAddress[jd] :
# 107| r107_2(_Imaginary double) = Load[jd] : &:r107_1, m66_4
# 107| r107_3(_Complex double) = Convert : r107_2
# 107| r107_4(glval<_Complex double>) = VariableAddress[cd] :
# 107| m107_5(_Complex double) = Store[cd] : &:r107_4, r107_3
# 108| r108_1(glval<_Imaginary long double>) = VariableAddress[jld] :
# 108| r108_2(_Imaginary long double) = Load[jld] : &:r108_1, m67_4
# 108| r108_3(_Complex double) = Convert : r108_2
# 108| r108_4(glval<_Complex double>) = VariableAddress[cd] :
# 108| m108_5(_Complex double) = Store[cd] : &:r108_4, r108_3
# 109| r109_1(glval<_Imaginary float>) = VariableAddress[jf] :
# 109| r109_2(_Imaginary float) = Load[jf] : &:r109_1, m65_3
# 109| r109_3(_Complex long double) = Convert : r109_2
# 109| r109_4(glval<_Complex long double>) = VariableAddress[cld] :
# 109| m109_5(_Complex long double) = Store[cld] : &:r109_4, r109_3
# 110| r110_1(glval<_Imaginary double>) = VariableAddress[jd] :
# 110| r110_2(_Imaginary double) = Load[jd] : &:r110_1, m66_4
# 110| r110_3(_Complex long double) = Convert : r110_2
# 110| r110_4(glval<_Complex long double>) = VariableAddress[cld] :
# 110| m110_5(_Complex long double) = Store[cld] : &:r110_4, r110_3
# 111| r111_1(glval<_Imaginary long double>) = VariableAddress[jld] :
# 111| r111_2(_Imaginary long double) = Load[jld] : &:r111_1, m67_4
# 111| r111_3(_Complex long double) = Convert : r111_2
# 111| r111_4(glval<_Complex long double>) = VariableAddress[cld] :
# 111| m111_5(_Complex long double) = Store[cld] : &:r111_4, r111_3
# 114| r114_1(glval<_Complex float>) = VariableAddress[cf] :
# 114| r114_2(_Complex float) = Load[cf] : &:r114_1, m105_5
# 114| r114_3(_Imaginary float) = Convert : r114_2
# 114| r114_4(glval<_Imaginary float>) = VariableAddress[jf] :
# 114| m114_5(_Imaginary float) = Store[jf] : &:r114_4, r114_3
# 115| r115_1(glval<_Complex double>) = VariableAddress[cd] :
# 115| r115_2(_Complex double) = Load[cd] : &:r115_1, m108_5
# 115| r115_3(_Imaginary float) = Convert : r115_2
# 115| r115_4(glval<_Imaginary float>) = VariableAddress[jf] :
# 115| m115_5(_Imaginary float) = Store[jf] : &:r115_4, r115_3
# 116| r116_1(glval<_Complex long double>) = VariableAddress[cld] :
# 116| r116_2(_Complex long double) = Load[cld] : &:r116_1, m111_5
# 116| r116_3(_Imaginary float) = Convert : r116_2
# 116| r116_4(glval<_Imaginary float>) = VariableAddress[jf] :
# 116| m116_5(_Imaginary float) = Store[jf] : &:r116_4, r116_3
# 117| r117_1(glval<_Complex float>) = VariableAddress[cf] :
# 117| r117_2(_Complex float) = Load[cf] : &:r117_1, m105_5
# 117| r117_3(_Imaginary double) = Convert : r117_2
# 117| r117_4(glval<_Imaginary double>) = VariableAddress[jd] :
# 117| m117_5(_Imaginary double) = Store[jd] : &:r117_4, r117_3
# 118| r118_1(glval<_Complex double>) = VariableAddress[cd] :
# 118| r118_2(_Complex double) = Load[cd] : &:r118_1, m108_5
# 118| r118_3(_Imaginary double) = Convert : r118_2
# 118| r118_4(glval<_Imaginary double>) = VariableAddress[jd] :
# 118| m118_5(_Imaginary double) = Store[jd] : &:r118_4, r118_3
# 119| r119_1(glval<_Complex long double>) = VariableAddress[cld] :
# 119| r119_2(_Complex long double) = Load[cld] : &:r119_1, m111_5
# 119| r119_3(_Imaginary double) = Convert : r119_2
# 119| r119_4(glval<_Imaginary double>) = VariableAddress[jd] :
# 119| m119_5(_Imaginary double) = Store[jd] : &:r119_4, r119_3
# 120| r120_1(glval<_Complex float>) = VariableAddress[cf] :
# 120| r120_2(_Complex float) = Load[cf] : &:r120_1, m105_5
# 120| r120_3(_Imaginary long double) = Convert : r120_2
# 120| r120_4(glval<_Imaginary long double>) = VariableAddress[jld] :
# 120| m120_5(_Imaginary long double) = Store[jld] : &:r120_4, r120_3
# 121| r121_1(glval<_Complex double>) = VariableAddress[cd] :
# 121| r121_2(_Complex double) = Load[cd] : &:r121_1, m108_5
# 121| r121_3(_Imaginary long double) = Convert : r121_2
# 121| r121_4(glval<_Imaginary long double>) = VariableAddress[jld] :
# 121| m121_5(_Imaginary long double) = Store[jld] : &:r121_4, r121_3
# 122| r122_1(glval<_Complex long double>) = VariableAddress[cld] :
# 122| r122_2(_Complex long double) = Load[cld] : &:r122_1, m111_5
# 122| r122_3(_Imaginary long double) = Convert : r122_2
# 122| r122_4(glval<_Imaginary long double>) = VariableAddress[jld] :
# 122| m122_5(_Imaginary long double) = Store[jld] : &:r122_4, r122_3
# 125| r125_1(glval<float>) = VariableAddress[f] :
# 125| r125_2(float) = Load[f] : &:r125_1, m94_5
# 125| r125_3(_Imaginary float) = Convert : r125_2
# 125| r125_4(glval<_Imaginary float>) = VariableAddress[jf] :
# 125| m125_5(_Imaginary float) = Store[jf] : &:r125_4, r125_3
# 126| r126_1(glval<double>) = VariableAddress[d] :
# 126| r126_2(double) = Load[d] : &:r126_1, m97_5
# 126| r126_3(_Imaginary float) = Convert : r126_2
# 126| r126_4(glval<_Imaginary float>) = VariableAddress[jf] :
# 126| m126_5(_Imaginary float) = Store[jf] : &:r126_4, r126_3
# 127| r127_1(glval<long double>) = VariableAddress[ld] :
# 127| r127_2(long double) = Load[ld] : &:r127_1, m100_5
# 127| r127_3(_Imaginary float) = Convert : r127_2
# 127| r127_4(glval<_Imaginary float>) = VariableAddress[jf] :
# 127| m127_5(_Imaginary float) = Store[jf] : &:r127_4, r127_3
# 128| r128_1(glval<float>) = VariableAddress[f] :
# 128| r128_2(float) = Load[f] : &:r128_1, m94_5
# 128| r128_3(_Imaginary double) = Convert : r128_2
# 128| r128_4(glval<_Imaginary double>) = VariableAddress[jd] :
# 128| m128_5(_Imaginary double) = Store[jd] : &:r128_4, r128_3
# 129| r129_1(glval<double>) = VariableAddress[d] :
# 129| r129_2(double) = Load[d] : &:r129_1, m97_5
# 129| r129_3(_Imaginary double) = Convert : r129_2
# 129| r129_4(glval<_Imaginary double>) = VariableAddress[jd] :
# 129| m129_5(_Imaginary double) = Store[jd] : &:r129_4, r129_3
# 130| r130_1(glval<long double>) = VariableAddress[ld] :
# 130| r130_2(long double) = Load[ld] : &:r130_1, m100_5
# 130| r130_3(_Imaginary double) = Convert : r130_2
# 130| r130_4(glval<_Imaginary double>) = VariableAddress[jd] :
# 130| m130_5(_Imaginary double) = Store[jd] : &:r130_4, r130_3
# 131| r131_1(glval<float>) = VariableAddress[f] :
# 131| r131_2(float) = Load[f] : &:r131_1, m94_5
# 131| r131_3(_Imaginary long double) = Convert : r131_2
# 131| r131_4(glval<_Imaginary long double>) = VariableAddress[jld] :
# 131| m131_5(_Imaginary long double) = Store[jld] : &:r131_4, r131_3
# 132| r132_1(glval<double>) = VariableAddress[d] :
# 132| r132_2(double) = Load[d] : &:r132_1, m97_5
# 132| r132_3(_Imaginary long double) = Convert : r132_2
# 132| r132_4(glval<_Imaginary long double>) = VariableAddress[jld] :
# 132| m132_5(_Imaginary long double) = Store[jld] : &:r132_4, r132_3
# 133| r133_1(glval<long double>) = VariableAddress[ld] :
# 133| r133_2(long double) = Load[ld] : &:r133_1, m100_5
# 133| r133_3(_Imaginary long double) = Convert : r133_2
# 133| r133_4(glval<_Imaginary long double>) = VariableAddress[jld] :
# 133| m133_5(_Imaginary long double) = Store[jld] : &:r133_4, r133_3
# 136| r136_1(glval<_Imaginary float>) = VariableAddress[jf] :
# 136| r136_2(_Imaginary float) = Load[jf] : &:r136_1, m127_5
# 136| r136_3(float) = Convert : r136_2
# 136| r136_4(glval<float>) = VariableAddress[f] :
# 136| m136_5(float) = Store[f] : &:r136_4, r136_3
# 137| r137_1(glval<_Imaginary double>) = VariableAddress[jd] :
# 137| r137_2(_Imaginary double) = Load[jd] : &:r137_1, m130_5
# 137| r137_3(float) = Convert : r137_2
# 137| r137_4(glval<float>) = VariableAddress[f] :
# 137| m137_5(float) = Store[f] : &:r137_4, r137_3
# 138| r138_1(glval<_Imaginary long double>) = VariableAddress[jld] :
# 138| r138_2(_Imaginary long double) = Load[jld] : &:r138_1, m133_5
# 138| r138_3(float) = Convert : r138_2
# 138| r138_4(glval<float>) = VariableAddress[f] :
# 138| m138_5(float) = Store[f] : &:r138_4, r138_3
# 139| r139_1(glval<_Imaginary float>) = VariableAddress[jf] :
# 139| r139_2(_Imaginary float) = Load[jf] : &:r139_1, m127_5
# 139| r139_3(double) = Convert : r139_2
# 139| r139_4(glval<double>) = VariableAddress[d] :
# 139| m139_5(double) = Store[d] : &:r139_4, r139_3
# 140| r140_1(glval<_Imaginary double>) = VariableAddress[jd] :
# 140| r140_2(_Imaginary double) = Load[jd] : &:r140_1, m130_5
# 140| r140_3(double) = Convert : r140_2
# 140| r140_4(glval<double>) = VariableAddress[d] :
# 140| m140_5(double) = Store[d] : &:r140_4, r140_3
# 141| r141_1(glval<_Imaginary long double>) = VariableAddress[jld] :
# 141| r141_2(_Imaginary long double) = Load[jld] : &:r141_1, m133_5
# 141| r141_3(double) = Convert : r141_2
# 141| r141_4(glval<double>) = VariableAddress[d] :
# 141| m141_5(double) = Store[d] : &:r141_4, r141_3
# 142| r142_1(glval<_Imaginary float>) = VariableAddress[jf] :
# 142| r142_2(_Imaginary float) = Load[jf] : &:r142_1, m127_5
# 142| r142_3(long double) = Convert : r142_2
# 142| r142_4(glval<long double>) = VariableAddress[ld] :
# 142| m142_5(long double) = Store[ld] : &:r142_4, r142_3
# 143| r143_1(glval<_Imaginary double>) = VariableAddress[jd] :
# 143| r143_2(_Imaginary double) = Load[jd] : &:r143_1, m130_5
# 143| r143_3(long double) = Convert : r143_2
# 143| r143_4(glval<long double>) = VariableAddress[ld] :
# 143| m143_5(long double) = Store[ld] : &:r143_4, r143_3
# 144| r144_1(glval<_Imaginary long double>) = VariableAddress[jld] :
# 144| r144_2(_Imaginary long double) = Load[jld] : &:r144_1, m133_5
# 144| r144_3(long double) = Convert : r144_2
# 144| r144_4(glval<long double>) = VariableAddress[ld] :
# 144| m144_5(long double) = Store[ld] : &:r144_4, r144_3
# 145| v145_1(void) = NoOp :
# 58| v58_5(void) = ReturnVoid :
# 58| v58_6(void) = AliasedUse : m58_3
# 58| v58_7(void) = ExitFunction :
coroutines.cpp:
# 87| co_returnable_void co_return_void()
# 87| Block 0
# 87| v87_1(void) = EnterFunction :
# 87| m87_2(unknown) = AliasedDefinition :
# 87| m87_3(unknown) = InitializeNonLocal :
# 87| m87_4(unknown) = Chi : total:m87_2, partial:m87_3
# 87| r87_5(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 87| m87_6(promise_type) = Uninitialized[(unnamed local variable)] : &:r87_5
# 87| m87_7(unknown) = Chi : total:m87_4, partial:m87_6
# 87| r87_8(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 87| r87_9(glval<unknown>) = FunctionAddress[initial_suspend] :
# 87| r87_10(suspend_always) = Call[initial_suspend] : func:r87_9, this:r87_8
# 87| m87_11(unknown) = ^CallSideEffect : ~m87_7
# 87| m87_12(unknown) = Chi : total:m87_7, partial:m87_11
# 87| v87_13(void) = ^IndirectReadSideEffect[-1] : &:r87_8, ~m87_12
# 87| m87_14(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r87_8
# 87| m87_15(unknown) = Chi : total:m87_12, partial:m87_14
#-----| r0_1(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 87| r87_16(glval<suspend_always>) = VariableAddress[#temp87:20] :
# 87| r87_17(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 87| r87_18(glval<unknown>) = FunctionAddress[initial_suspend] :
# 87| r87_19(suspend_always) = Call[initial_suspend] : func:r87_18, this:r87_17
# 87| m87_20(unknown) = ^CallSideEffect : ~m87_15
# 87| m87_21(unknown) = Chi : total:m87_15, partial:m87_20
# 87| v87_22(void) = ^IndirectReadSideEffect[-1] : &:r87_17, ~m87_21
# 87| m87_23(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r87_17
# 87| m87_24(unknown) = Chi : total:m87_21, partial:m87_23
# 87| m87_25(suspend_always) = Store[#temp87:20] : &:r87_16, r87_19
# 87| m87_26(unknown) = Chi : total:m87_24, partial:m87_25
# 87| r87_27(suspend_always *) = CopyValue : r87_16
# 87| m87_28(suspend_always *) = Store[#temp0:0] : &:r0_1, r87_27
#-----| r0_2(suspend_always *) = Load[#temp0:0] : &:r0_1, m87_28
# 87| r87_29(glval<suspend_always>) = CopyValue : r0_2
# 87| r87_30(glval<suspend_always>) = Convert : r87_29
# 87| r87_31(glval<unknown>) = FunctionAddress[await_ready] :
# 87| r87_32(bool) = Call[await_ready] : func:r87_31, this:r87_30
# 87| m87_33(unknown) = ^CallSideEffect : ~m87_26
# 87| m87_34(unknown) = Chi : total:m87_26, partial:m87_33
# 87| v87_35(void) = ^IndirectReadSideEffect[-1] : &:r87_30, ~m87_34
#-----| v0_3(void) = ConditionalBranch : r87_32
#-----| False -> Block 2
#-----| True -> Block 1
#-----| Block 1
#-----| m0_4(unknown) = Phi : from 0:~m87_34, from 2:~m87_61
#-----| r0_5(bool) = Constant[1] :
#-----| r0_6(glval<bool>) = VariableAddress :
#-----| m0_7(bool) = Store[?] : &:r0_6, r0_5
#-----| m0_8(unknown) = Chi : total:m0_4, partial:m0_7
# 87| r87_36(suspend_always *) = CopyValue : r87_27
# 87| r87_37(glval<suspend_always>) = CopyValue : r87_36
#-----| r0_9(glval<suspend_always>) = Convert : r87_37
# 87| r87_38(glval<unknown>) = FunctionAddress[await_resume] :
# 87| v87_39(void) = Call[await_resume] : func:r87_38, this:r0_9
# 87| m87_40(unknown) = ^CallSideEffect : ~m0_8
# 87| m87_41(unknown) = Chi : total:m0_8, partial:m87_40
#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, ~m87_41
#-----| v0_11(void) = CopyValue : v87_39
#-----| r0_12(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
#-----| r0_13(glval<unknown>) = FunctionAddress[return_void] :
#-----| v0_14(void) = Call[return_void] : func:r0_13, this:r0_12
#-----| m0_15(unknown) = ^CallSideEffect : ~m87_41
#-----| m0_16(unknown) = Chi : total:m87_41, partial:m0_15
#-----| v0_17(void) = ^IndirectReadSideEffect[-1] : &:r0_12, ~m0_16
#-----| m0_18(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r0_12
#-----| m0_19(unknown) = Chi : total:m0_16, partial:m0_18
# 88| v88_1(void) = NoOp :
#-----| v0_20(void) = NoOp :
#-----| Goto (back edge) -> Block 3
# 87| Block 2
# 87| r87_42(suspend_always *) = CopyValue : r87_27
# 87| r87_43(glval<suspend_always>) = CopyValue : r87_42
#-----| r0_21(glval<suspend_always>) = Convert : r87_43
# 87| r87_44(glval<unknown>) = FunctionAddress[await_suspend] :
# 87| r87_45(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp87:20] :
# 87| m87_46(coroutine_handle<promise_type>) = Uninitialized[#temp87:20] : &:r87_45
# 87| m87_47(unknown) = Chi : total:m87_34, partial:m87_46
# 87| r87_48(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 87| r87_49(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 87| r87_50(glval<coroutine_handle<promise_type>>) = Convert : r87_49
# 87| r87_51(coroutine_handle<promise_type> &) = CopyValue : r87_50
# 87| v87_52(void) = Call[coroutine_handle] : func:r87_48, this:r87_45, 0:r87_51
# 87| m87_53(unknown) = ^CallSideEffect : ~m87_47
# 87| m87_54(unknown) = Chi : total:m87_47, partial:m87_53
# 87| v87_55(void) = ^BufferReadSideEffect[0] : &:r87_51, ~m87_54
# 87| m87_56(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r87_45
# 87| m87_57(unknown) = Chi : total:m87_54, partial:m87_56
# 87| r87_58(coroutine_handle<promise_type>) = Load[#temp87:20] : &:r87_45, ~m87_57
# 87| v87_59(void) = Call[await_suspend] : func:r87_44, this:r0_21, 0:r87_58
# 87| m87_60(unknown) = ^CallSideEffect : ~m87_57
# 87| m87_61(unknown) = Chi : total:m87_57, partial:m87_60
#-----| v0_22(void) = ^IndirectReadSideEffect[-1] : &:r0_21, ~m87_61
#-----| Goto -> Block 1
#-----| Block 3
#-----| v0_23(void) = NoOp :
# 87| r87_62(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 87| r87_63(glval<unknown>) = FunctionAddress[final_suspend] :
# 87| r87_64(suspend_always) = Call[final_suspend] : func:r87_63, this:r87_62
# 87| m87_65(unknown) = ^CallSideEffect : ~m0_19
# 87| m87_66(unknown) = Chi : total:m0_19, partial:m87_65
# 87| v87_67(void) = ^IndirectReadSideEffect[-1] : &:r87_62, ~m87_66
# 87| m87_68(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r87_62
# 87| m87_69(unknown) = Chi : total:m87_66, partial:m87_68
#-----| r0_24(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 87| r87_70(glval<suspend_always>) = VariableAddress[#temp87:20] :
# 87| r87_71(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 87| r87_72(glval<unknown>) = FunctionAddress[final_suspend] :
# 87| r87_73(suspend_always) = Call[final_suspend] : func:r87_72, this:r87_71
# 87| m87_74(unknown) = ^CallSideEffect : ~m87_69
# 87| m87_75(unknown) = Chi : total:m87_69, partial:m87_74
# 87| v87_76(void) = ^IndirectReadSideEffect[-1] : &:r87_71, ~m87_75
# 87| m87_77(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r87_71
# 87| m87_78(unknown) = Chi : total:m87_75, partial:m87_77
# 87| m87_79(suspend_always) = Store[#temp87:20] : &:r87_70, r87_73
# 87| m87_80(unknown) = Chi : total:m87_78, partial:m87_79
# 87| r87_81(suspend_always *) = CopyValue : r87_70
# 87| m87_82(suspend_always *) = Store[#temp0:0] : &:r0_24, r87_81
#-----| r0_25(suspend_always *) = Load[#temp0:0] : &:r0_24, m87_82
# 87| r87_83(glval<suspend_always>) = CopyValue : r0_25
# 87| r87_84(glval<suspend_always>) = Convert : r87_83
# 87| r87_85(glval<unknown>) = FunctionAddress[await_ready] :
# 87| r87_86(bool) = Call[await_ready] : func:r87_85, this:r87_84
# 87| m87_87(unknown) = ^CallSideEffect : ~m87_80
# 87| m87_88(unknown) = Chi : total:m87_80, partial:m87_87
# 87| v87_89(void) = ^IndirectReadSideEffect[-1] : &:r87_84, ~m87_88
#-----| v0_26(void) = ConditionalBranch : r87_86
#-----| False -> Block 5
#-----| True -> Block 4
# 87| Block 4
# 87| m87_90(unknown) = Phi : from 3:~m87_88, from 5:~m87_120
# 87| r87_91(suspend_always *) = CopyValue : r87_81
# 87| r87_92(glval<suspend_always>) = CopyValue : r87_91
#-----| r0_27(glval<suspend_always>) = Convert : r87_92
# 87| r87_93(glval<unknown>) = FunctionAddress[await_resume] :
# 87| v87_94(void) = Call[await_resume] : func:r87_93, this:r0_27
# 87| m87_95(unknown) = ^CallSideEffect : ~m87_90
# 87| m87_96(unknown) = Chi : total:m87_90, partial:m87_95
#-----| v0_28(void) = ^IndirectReadSideEffect[-1] : &:r0_27, ~m87_96
# 87| r87_97(glval<co_returnable_void>) = VariableAddress[#return] :
# 87| v87_98(void) = ReturnValue : &:r87_97, ~m87_96
# 87| v87_99(void) = AliasedUse : ~m87_96
# 87| v87_100(void) = ExitFunction :
# 87| Block 5
# 87| r87_101(suspend_always *) = CopyValue : r87_81
# 87| r87_102(glval<suspend_always>) = CopyValue : r87_101
#-----| r0_29(glval<suspend_always>) = Convert : r87_102
# 87| r87_103(glval<unknown>) = FunctionAddress[await_suspend] :
# 87| r87_104(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp87:20] :
# 87| m87_105(coroutine_handle<promise_type>) = Uninitialized[#temp87:20] : &:r87_104
# 87| m87_106(unknown) = Chi : total:m87_88, partial:m87_105
# 87| r87_107(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 87| r87_108(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 87| r87_109(glval<coroutine_handle<promise_type>>) = Convert : r87_108
# 87| r87_110(coroutine_handle<promise_type> &) = CopyValue : r87_109
# 87| v87_111(void) = Call[coroutine_handle] : func:r87_107, this:r87_104, 0:r87_110
# 87| m87_112(unknown) = ^CallSideEffect : ~m87_106
# 87| m87_113(unknown) = Chi : total:m87_106, partial:m87_112
# 87| v87_114(void) = ^BufferReadSideEffect[0] : &:r87_110, ~m87_113
# 87| m87_115(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r87_104
# 87| m87_116(unknown) = Chi : total:m87_113, partial:m87_115
# 87| r87_117(coroutine_handle<promise_type>) = Load[#temp87:20] : &:r87_104, ~m87_116
# 87| v87_118(void) = Call[await_suspend] : func:r87_103, this:r0_29, 0:r87_117
# 87| m87_119(unknown) = ^CallSideEffect : ~m87_116
# 87| m87_120(unknown) = Chi : total:m87_116, partial:m87_119
#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_29, ~m87_120
#-----| Goto -> Block 4
# 91| co_returnable_value co_return_int(int)
# 91| Block 0
# 91| v91_1(void) = EnterFunction :
# 91| m91_2(unknown) = AliasedDefinition :
# 91| m91_3(unknown) = InitializeNonLocal :
# 91| m91_4(unknown) = Chi : total:m91_2, partial:m91_3
# 91| r91_5(glval<int>) = VariableAddress[i] :
# 91| m91_6(int) = InitializeParameter[i] : &:r91_5
#-----| r0_1(glval<int>) = VariableAddress[i] :
#-----| r0_2(glval<int>) = VariableAddress[i] :
#-----| r0_3(int) = Load[i] : &:r0_2, m91_6
#-----| m0_4(int) = Store[i] : &:r0_1, r0_3
# 91| r91_7(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 91| m91_8(promise_type) = Uninitialized[(unnamed local variable)] : &:r91_7
# 91| m91_9(unknown) = Chi : total:m91_4, partial:m91_8
# 91| r91_10(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 91| r91_11(glval<unknown>) = FunctionAddress[initial_suspend] :
# 91| r91_12(suspend_always) = Call[initial_suspend] : func:r91_11, this:r91_10
# 91| m91_13(unknown) = ^CallSideEffect : ~m91_9
# 91| m91_14(unknown) = Chi : total:m91_9, partial:m91_13
# 91| v91_15(void) = ^IndirectReadSideEffect[-1] : &:r91_10, ~m91_14
# 91| m91_16(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r91_10
# 91| m91_17(unknown) = Chi : total:m91_14, partial:m91_16
#-----| r0_5(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 91| r91_18(glval<suspend_always>) = VariableAddress[#temp91:21] :
# 91| r91_19(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 91| r91_20(glval<unknown>) = FunctionAddress[initial_suspend] :
# 91| r91_21(suspend_always) = Call[initial_suspend] : func:r91_20, this:r91_19
# 91| m91_22(unknown) = ^CallSideEffect : ~m91_17
# 91| m91_23(unknown) = Chi : total:m91_17, partial:m91_22
# 91| v91_24(void) = ^IndirectReadSideEffect[-1] : &:r91_19, ~m91_23
# 91| m91_25(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r91_19
# 91| m91_26(unknown) = Chi : total:m91_23, partial:m91_25
# 91| m91_27(suspend_always) = Store[#temp91:21] : &:r91_18, r91_21
# 91| m91_28(unknown) = Chi : total:m91_26, partial:m91_27
# 91| r91_29(suspend_always *) = CopyValue : r91_18
# 91| m91_30(suspend_always *) = Store[#temp0:0] : &:r0_5, r91_29
#-----| r0_6(suspend_always *) = Load[#temp0:0] : &:r0_5, m91_30
# 91| r91_31(glval<suspend_always>) = CopyValue : r0_6
# 91| r91_32(glval<suspend_always>) = Convert : r91_31
# 91| r91_33(glval<unknown>) = FunctionAddress[await_ready] :
# 91| r91_34(bool) = Call[await_ready] : func:r91_33, this:r91_32
# 91| m91_35(unknown) = ^CallSideEffect : ~m91_28
# 91| m91_36(unknown) = Chi : total:m91_28, partial:m91_35
# 91| v91_37(void) = ^IndirectReadSideEffect[-1] : &:r91_32, ~m91_36
#-----| v0_7(void) = ConditionalBranch : r91_34
#-----| False -> Block 2
#-----| True -> Block 1
#-----| Block 1
#-----| m0_8(unknown) = Phi : from 0:~m91_36, from 2:~m91_63
#-----| r0_9(bool) = Constant[1] :
#-----| r0_10(glval<bool>) = VariableAddress :
#-----| m0_11(bool) = Store[?] : &:r0_10, r0_9
#-----| m0_12(unknown) = Chi : total:m0_8, partial:m0_11
# 91| r91_38(suspend_always *) = CopyValue : r91_29
# 91| r91_39(glval<suspend_always>) = CopyValue : r91_38
#-----| r0_13(glval<suspend_always>) = Convert : r91_39
# 91| r91_40(glval<unknown>) = FunctionAddress[await_resume] :
# 91| v91_41(void) = Call[await_resume] : func:r91_40, this:r0_13
# 91| m91_42(unknown) = ^CallSideEffect : ~m0_12
# 91| m91_43(unknown) = Chi : total:m0_12, partial:m91_42
#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, ~m91_43
#-----| v0_15(void) = CopyValue : v91_41
#-----| r0_16(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
#-----| r0_17(glval<unknown>) = FunctionAddress[return_value] :
# 92| r92_1(glval<int>) = VariableAddress[i] :
# 92| r92_2(int) = Load[i] : &:r92_1, m0_4
#-----| v0_18(void) = Call[return_value] : func:r0_17, this:r0_16, 0:r92_2
#-----| m0_19(unknown) = ^CallSideEffect : ~m91_43
#-----| m0_20(unknown) = Chi : total:m91_43, partial:m0_19
#-----| v0_21(void) = ^IndirectReadSideEffect[-1] : &:r0_16, ~m0_20
#-----| m0_22(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r0_16
#-----| m0_23(unknown) = Chi : total:m0_20, partial:m0_22
# 92| v92_3(void) = NoOp :
#-----| v0_24(void) = NoOp :
#-----| Goto (back edge) -> Block 3
# 91| Block 2
# 91| r91_44(suspend_always *) = CopyValue : r91_29
# 91| r91_45(glval<suspend_always>) = CopyValue : r91_44
#-----| r0_25(glval<suspend_always>) = Convert : r91_45
# 91| r91_46(glval<unknown>) = FunctionAddress[await_suspend] :
# 91| r91_47(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp91:21] :
# 91| m91_48(coroutine_handle<promise_type>) = Uninitialized[#temp91:21] : &:r91_47
# 91| m91_49(unknown) = Chi : total:m91_36, partial:m91_48
# 91| r91_50(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 91| r91_51(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 91| r91_52(glval<coroutine_handle<promise_type>>) = Convert : r91_51
# 91| r91_53(coroutine_handle<promise_type> &) = CopyValue : r91_52
# 91| v91_54(void) = Call[coroutine_handle] : func:r91_50, this:r91_47, 0:r91_53
# 91| m91_55(unknown) = ^CallSideEffect : ~m91_49
# 91| m91_56(unknown) = Chi : total:m91_49, partial:m91_55
# 91| v91_57(void) = ^BufferReadSideEffect[0] : &:r91_53, ~m91_56
# 91| m91_58(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r91_47
# 91| m91_59(unknown) = Chi : total:m91_56, partial:m91_58
# 91| r91_60(coroutine_handle<promise_type>) = Load[#temp91:21] : &:r91_47, ~m91_59
# 91| v91_61(void) = Call[await_suspend] : func:r91_46, this:r0_25, 0:r91_60
# 91| m91_62(unknown) = ^CallSideEffect : ~m91_59
# 91| m91_63(unknown) = Chi : total:m91_59, partial:m91_62
#-----| v0_26(void) = ^IndirectReadSideEffect[-1] : &:r0_25, ~m91_63
#-----| Goto -> Block 1
#-----| Block 3
#-----| v0_27(void) = NoOp :
# 91| r91_64(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 91| r91_65(glval<unknown>) = FunctionAddress[final_suspend] :
# 91| r91_66(suspend_always) = Call[final_suspend] : func:r91_65, this:r91_64
# 91| m91_67(unknown) = ^CallSideEffect : ~m0_23
# 91| m91_68(unknown) = Chi : total:m0_23, partial:m91_67
# 91| v91_69(void) = ^IndirectReadSideEffect[-1] : &:r91_64, ~m91_68
# 91| m91_70(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r91_64
# 91| m91_71(unknown) = Chi : total:m91_68, partial:m91_70
#-----| r0_28(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 91| r91_72(glval<suspend_always>) = VariableAddress[#temp91:21] :
# 91| r91_73(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 91| r91_74(glval<unknown>) = FunctionAddress[final_suspend] :
# 91| r91_75(suspend_always) = Call[final_suspend] : func:r91_74, this:r91_73
# 91| m91_76(unknown) = ^CallSideEffect : ~m91_71
# 91| m91_77(unknown) = Chi : total:m91_71, partial:m91_76
# 91| v91_78(void) = ^IndirectReadSideEffect[-1] : &:r91_73, ~m91_77
# 91| m91_79(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r91_73
# 91| m91_80(unknown) = Chi : total:m91_77, partial:m91_79
# 91| m91_81(suspend_always) = Store[#temp91:21] : &:r91_72, r91_75
# 91| m91_82(unknown) = Chi : total:m91_80, partial:m91_81
# 91| r91_83(suspend_always *) = CopyValue : r91_72
# 91| m91_84(suspend_always *) = Store[#temp0:0] : &:r0_28, r91_83
#-----| r0_29(suspend_always *) = Load[#temp0:0] : &:r0_28, m91_84
# 91| r91_85(glval<suspend_always>) = CopyValue : r0_29
# 91| r91_86(glval<suspend_always>) = Convert : r91_85
# 91| r91_87(glval<unknown>) = FunctionAddress[await_ready] :
# 91| r91_88(bool) = Call[await_ready] : func:r91_87, this:r91_86
# 91| m91_89(unknown) = ^CallSideEffect : ~m91_82
# 91| m91_90(unknown) = Chi : total:m91_82, partial:m91_89
# 91| v91_91(void) = ^IndirectReadSideEffect[-1] : &:r91_86, ~m91_90
#-----| v0_30(void) = ConditionalBranch : r91_88
#-----| False -> Block 5
#-----| True -> Block 4
# 91| Block 4
# 91| m91_92(unknown) = Phi : from 3:~m91_90, from 5:~m91_122
# 91| r91_93(suspend_always *) = CopyValue : r91_83
# 91| r91_94(glval<suspend_always>) = CopyValue : r91_93
#-----| r0_31(glval<suspend_always>) = Convert : r91_94
# 91| r91_95(glval<unknown>) = FunctionAddress[await_resume] :
# 91| v91_96(void) = Call[await_resume] : func:r91_95, this:r0_31
# 91| m91_97(unknown) = ^CallSideEffect : ~m91_92
# 91| m91_98(unknown) = Chi : total:m91_92, partial:m91_97
#-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_31, ~m91_98
# 91| r91_99(glval<co_returnable_value>) = VariableAddress[#return] :
# 91| v91_100(void) = ReturnValue : &:r91_99, ~m91_98
# 91| v91_101(void) = AliasedUse : ~m91_98
# 91| v91_102(void) = ExitFunction :
# 91| Block 5
# 91| r91_103(suspend_always *) = CopyValue : r91_83
# 91| r91_104(glval<suspend_always>) = CopyValue : r91_103
#-----| r0_33(glval<suspend_always>) = Convert : r91_104
# 91| r91_105(glval<unknown>) = FunctionAddress[await_suspend] :
# 91| r91_106(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp91:21] :
# 91| m91_107(coroutine_handle<promise_type>) = Uninitialized[#temp91:21] : &:r91_106
# 91| m91_108(unknown) = Chi : total:m91_90, partial:m91_107
# 91| r91_109(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 91| r91_110(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 91| r91_111(glval<coroutine_handle<promise_type>>) = Convert : r91_110
# 91| r91_112(coroutine_handle<promise_type> &) = CopyValue : r91_111
# 91| v91_113(void) = Call[coroutine_handle] : func:r91_109, this:r91_106, 0:r91_112
# 91| m91_114(unknown) = ^CallSideEffect : ~m91_108
# 91| m91_115(unknown) = Chi : total:m91_108, partial:m91_114
# 91| v91_116(void) = ^BufferReadSideEffect[0] : &:r91_112, ~m91_115
# 91| m91_117(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r91_106
# 91| m91_118(unknown) = Chi : total:m91_115, partial:m91_117
# 91| r91_119(coroutine_handle<promise_type>) = Load[#temp91:21] : &:r91_106, ~m91_118
# 91| v91_120(void) = Call[await_suspend] : func:r91_105, this:r0_33, 0:r91_119
# 91| m91_121(unknown) = ^CallSideEffect : ~m91_118
# 91| m91_122(unknown) = Chi : total:m91_118, partial:m91_121
#-----| v0_34(void) = ^IndirectReadSideEffect[-1] : &:r0_33, ~m91_122
#-----| Goto -> Block 4
# 95| co_returnable_void co_yield_value_void(int)
# 95| Block 0
# 95| v95_1(void) = EnterFunction :
# 95| m95_2(unknown) = AliasedDefinition :
# 95| m95_3(unknown) = InitializeNonLocal :
# 95| m95_4(unknown) = Chi : total:m95_2, partial:m95_3
# 95| r95_5(glval<int>) = VariableAddress[i] :
# 95| m95_6(int) = InitializeParameter[i] : &:r95_5
#-----| r0_1(glval<int>) = VariableAddress[i] :
#-----| r0_2(glval<int>) = VariableAddress[i] :
#-----| r0_3(int) = Load[i] : &:r0_2, m95_6
#-----| m0_4(int) = Store[i] : &:r0_1, r0_3
# 95| r95_7(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 95| m95_8(promise_type) = Uninitialized[(unnamed local variable)] : &:r95_7
# 95| m95_9(unknown) = Chi : total:m95_4, partial:m95_8
# 95| r95_10(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 95| r95_11(glval<unknown>) = FunctionAddress[initial_suspend] :
# 95| r95_12(suspend_always) = Call[initial_suspend] : func:r95_11, this:r95_10
# 95| m95_13(unknown) = ^CallSideEffect : ~m95_9
# 95| m95_14(unknown) = Chi : total:m95_9, partial:m95_13
# 95| v95_15(void) = ^IndirectReadSideEffect[-1] : &:r95_10, ~m95_14
# 95| m95_16(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r95_10
# 95| m95_17(unknown) = Chi : total:m95_14, partial:m95_16
#-----| r0_5(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 95| r95_18(glval<suspend_always>) = VariableAddress[#temp95:20] :
# 95| r95_19(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 95| r95_20(glval<unknown>) = FunctionAddress[initial_suspend] :
# 95| r95_21(suspend_always) = Call[initial_suspend] : func:r95_20, this:r95_19
# 95| m95_22(unknown) = ^CallSideEffect : ~m95_17
# 95| m95_23(unknown) = Chi : total:m95_17, partial:m95_22
# 95| v95_24(void) = ^IndirectReadSideEffect[-1] : &:r95_19, ~m95_23
# 95| m95_25(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r95_19
# 95| m95_26(unknown) = Chi : total:m95_23, partial:m95_25
# 95| m95_27(suspend_always) = Store[#temp95:20] : &:r95_18, r95_21
# 95| m95_28(unknown) = Chi : total:m95_26, partial:m95_27
# 95| r95_29(suspend_always *) = CopyValue : r95_18
# 95| m95_30(suspend_always *) = Store[#temp0:0] : &:r0_5, r95_29
#-----| r0_6(suspend_always *) = Load[#temp0:0] : &:r0_5, m95_30
# 95| r95_31(glval<suspend_always>) = CopyValue : r0_6
# 95| r95_32(glval<suspend_always>) = Convert : r95_31
# 95| r95_33(glval<unknown>) = FunctionAddress[await_ready] :
# 95| r95_34(bool) = Call[await_ready] : func:r95_33, this:r95_32
# 95| m95_35(unknown) = ^CallSideEffect : ~m95_28
# 95| m95_36(unknown) = Chi : total:m95_28, partial:m95_35
# 95| v95_37(void) = ^IndirectReadSideEffect[-1] : &:r95_32, ~m95_36
#-----| v0_7(void) = ConditionalBranch : r95_34
#-----| False -> Block 2
#-----| True -> Block 1
#-----| Block 1
#-----| m0_8(unknown) = Phi : from 0:~m95_36, from 2:~m95_63
#-----| r0_9(bool) = Constant[1] :
#-----| r0_10(glval<bool>) = VariableAddress :
#-----| m0_11(bool) = Store[?] : &:r0_10, r0_9
#-----| m0_12(unknown) = Chi : total:m0_8, partial:m0_11
# 95| r95_38(suspend_always *) = CopyValue : r95_29
# 95| r95_39(glval<suspend_always>) = CopyValue : r95_38
#-----| r0_13(glval<suspend_always>) = Convert : r95_39
# 95| r95_40(glval<unknown>) = FunctionAddress[await_resume] :
# 95| v95_41(void) = Call[await_resume] : func:r95_40, this:r0_13
# 95| m95_42(unknown) = ^CallSideEffect : ~m0_12
# 95| m95_43(unknown) = Chi : total:m0_12, partial:m95_42
#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, ~m95_43
#-----| v0_15(void) = CopyValue : v95_41
# 96| r96_1(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 96| r96_2(glval<unknown>) = FunctionAddress[yield_value] :
# 96| r96_3(glval<int>) = VariableAddress[i] :
# 96| r96_4(int) = Load[i] : &:r96_3, m0_4
# 96| r96_5(suspend_always) = Call[yield_value] : func:r96_2, this:r96_1, 0:r96_4
# 96| m96_6(unknown) = ^CallSideEffect : ~m95_43
# 96| m96_7(unknown) = Chi : total:m95_43, partial:m96_6
# 96| v96_8(void) = ^IndirectReadSideEffect[-1] : &:r96_1, ~m96_7
# 96| m96_9(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r96_1
# 96| m96_10(unknown) = Chi : total:m96_7, partial:m96_9
#-----| r0_16(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 96| r96_11(glval<suspend_always>) = VariableAddress[#temp96:13] :
# 96| r96_12(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 96| r96_13(glval<unknown>) = FunctionAddress[yield_value] :
# 96| r96_14(glval<int>) = VariableAddress[i] :
# 96| r96_15(int) = Load[i] : &:r96_14, m0_4
# 96| r96_16(suspend_always) = Call[yield_value] : func:r96_13, this:r96_12, 0:r96_15
# 96| m96_17(unknown) = ^CallSideEffect : ~m96_10
# 96| m96_18(unknown) = Chi : total:m96_10, partial:m96_17
# 96| v96_19(void) = ^IndirectReadSideEffect[-1] : &:r96_12, ~m96_18
# 96| m96_20(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r96_12
# 96| m96_21(unknown) = Chi : total:m96_18, partial:m96_20
# 96| m96_22(suspend_always) = Store[#temp96:13] : &:r96_11, r96_16
# 96| m96_23(unknown) = Chi : total:m96_21, partial:m96_22
# 96| r96_24(suspend_always *) = CopyValue : r96_11
# 96| m96_25(suspend_always *) = Store[#temp0:0] : &:r0_16, r96_24
#-----| r0_17(suspend_always *) = Load[#temp0:0] : &:r0_16, m96_25
# 96| r96_26(glval<suspend_always>) = CopyValue : r0_17
# 96| r96_27(glval<suspend_always>) = Convert : r96_26
# 96| r96_28(glval<unknown>) = FunctionAddress[await_ready] :
# 96| r96_29(bool) = Call[await_ready] : func:r96_28, this:r96_27
# 96| m96_30(unknown) = ^CallSideEffect : ~m96_23
# 96| m96_31(unknown) = Chi : total:m96_23, partial:m96_30
# 96| v96_32(void) = ^IndirectReadSideEffect[-1] : &:r96_27, ~m96_31
# 96| v96_33(void) = ConditionalBranch : r96_29
#-----| False -> Block 4
#-----| True -> Block 3
# 95| Block 2
# 95| r95_44(suspend_always *) = CopyValue : r95_29
# 95| r95_45(glval<suspend_always>) = CopyValue : r95_44
#-----| r0_18(glval<suspend_always>) = Convert : r95_45
# 95| r95_46(glval<unknown>) = FunctionAddress[await_suspend] :
# 95| r95_47(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp95:20] :
# 95| m95_48(coroutine_handle<promise_type>) = Uninitialized[#temp95:20] : &:r95_47
# 95| m95_49(unknown) = Chi : total:m95_36, partial:m95_48
# 95| r95_50(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 95| r95_51(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 95| r95_52(glval<coroutine_handle<promise_type>>) = Convert : r95_51
# 95| r95_53(coroutine_handle<promise_type> &) = CopyValue : r95_52
# 95| v95_54(void) = Call[coroutine_handle] : func:r95_50, this:r95_47, 0:r95_53
# 95| m95_55(unknown) = ^CallSideEffect : ~m95_49
# 95| m95_56(unknown) = Chi : total:m95_49, partial:m95_55
# 95| v95_57(void) = ^BufferReadSideEffect[0] : &:r95_53, ~m95_56
# 95| m95_58(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r95_47
# 95| m95_59(unknown) = Chi : total:m95_56, partial:m95_58
# 95| r95_60(coroutine_handle<promise_type>) = Load[#temp95:20] : &:r95_47, ~m95_59
# 95| v95_61(void) = Call[await_suspend] : func:r95_46, this:r0_18, 0:r95_60
# 95| m95_62(unknown) = ^CallSideEffect : ~m95_59
# 95| m95_63(unknown) = Chi : total:m95_59, partial:m95_62
#-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, ~m95_63
#-----| Goto -> Block 1
# 96| Block 3
# 96| m96_34(unknown) = Phi : from 1:~m96_31, from 4:~m96_60
# 96| r96_35(suspend_always *) = CopyValue : r96_24
# 96| r96_36(glval<suspend_always>) = CopyValue : r96_35
#-----| r0_20(glval<suspend_always>) = Convert : r96_36
# 96| r96_37(glval<unknown>) = FunctionAddress[await_resume] :
# 96| v96_38(void) = Call[await_resume] : func:r96_37, this:r0_20
# 96| m96_39(unknown) = ^CallSideEffect : ~m96_34
# 96| m96_40(unknown) = Chi : total:m96_34, partial:m96_39
#-----| v0_21(void) = ^IndirectReadSideEffect[-1] : &:r0_20, ~m96_40
#-----| r0_22(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
#-----| r0_23(glval<unknown>) = FunctionAddress[return_void] :
#-----| v0_24(void) = Call[return_void] : func:r0_23, this:r0_22
#-----| m0_25(unknown) = ^CallSideEffect : ~m96_40
#-----| m0_26(unknown) = Chi : total:m96_40, partial:m0_25
#-----| v0_27(void) = ^IndirectReadSideEffect[-1] : &:r0_22, ~m0_26
#-----| m0_28(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r0_22
#-----| m0_29(unknown) = Chi : total:m0_26, partial:m0_28
# 97| v97_1(void) = NoOp :
#-----| v0_30(void) = NoOp :
#-----| Goto (back edge) -> Block 5
# 96| Block 4
# 96| r96_41(suspend_always *) = CopyValue : r96_24
# 96| r96_42(glval<suspend_always>) = CopyValue : r96_41
#-----| r0_31(glval<suspend_always>) = Convert : r96_42
# 96| r96_43(glval<unknown>) = FunctionAddress[await_suspend] :
# 96| r96_44(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp96:3] :
# 96| m96_45(coroutine_handle<promise_type>) = Uninitialized[#temp96:3] : &:r96_44
# 96| m96_46(unknown) = Chi : total:m96_31, partial:m96_45
# 96| r96_47(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 96| r96_48(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 96| r96_49(glval<coroutine_handle<promise_type>>) = Convert : r96_48
# 96| r96_50(coroutine_handle<promise_type> &) = CopyValue : r96_49
# 96| v96_51(void) = Call[coroutine_handle] : func:r96_47, this:r96_44, 0:r96_50
# 96| m96_52(unknown) = ^CallSideEffect : ~m96_46
# 96| m96_53(unknown) = Chi : total:m96_46, partial:m96_52
# 96| v96_54(void) = ^BufferReadSideEffect[0] : &:r96_50, ~m96_53
# 96| m96_55(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r96_44
# 96| m96_56(unknown) = Chi : total:m96_53, partial:m96_55
# 96| r96_57(coroutine_handle<promise_type>) = Load[#temp96:3] : &:r96_44, ~m96_56
# 96| v96_58(void) = Call[await_suspend] : func:r96_43, this:r0_31, 0:r96_57
# 96| m96_59(unknown) = ^CallSideEffect : ~m96_56
# 96| m96_60(unknown) = Chi : total:m96_56, partial:m96_59
#-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_31, ~m96_60
#-----| Goto -> Block 3
#-----| Block 5
#-----| v0_33(void) = NoOp :
# 95| r95_64(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 95| r95_65(glval<unknown>) = FunctionAddress[final_suspend] :
# 95| r95_66(suspend_always) = Call[final_suspend] : func:r95_65, this:r95_64
# 95| m95_67(unknown) = ^CallSideEffect : ~m0_29
# 95| m95_68(unknown) = Chi : total:m0_29, partial:m95_67
# 95| v95_69(void) = ^IndirectReadSideEffect[-1] : &:r95_64, ~m95_68
# 95| m95_70(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r95_64
# 95| m95_71(unknown) = Chi : total:m95_68, partial:m95_70
#-----| r0_34(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 95| r95_72(glval<suspend_always>) = VariableAddress[#temp95:20] :
# 95| r95_73(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 95| r95_74(glval<unknown>) = FunctionAddress[final_suspend] :
# 95| r95_75(suspend_always) = Call[final_suspend] : func:r95_74, this:r95_73
# 95| m95_76(unknown) = ^CallSideEffect : ~m95_71
# 95| m95_77(unknown) = Chi : total:m95_71, partial:m95_76
# 95| v95_78(void) = ^IndirectReadSideEffect[-1] : &:r95_73, ~m95_77
# 95| m95_79(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r95_73
# 95| m95_80(unknown) = Chi : total:m95_77, partial:m95_79
# 95| m95_81(suspend_always) = Store[#temp95:20] : &:r95_72, r95_75
# 95| m95_82(unknown) = Chi : total:m95_80, partial:m95_81
# 95| r95_83(suspend_always *) = CopyValue : r95_72
# 95| m95_84(suspend_always *) = Store[#temp0:0] : &:r0_34, r95_83
#-----| r0_35(suspend_always *) = Load[#temp0:0] : &:r0_34, m95_84
# 95| r95_85(glval<suspend_always>) = CopyValue : r0_35
# 95| r95_86(glval<suspend_always>) = Convert : r95_85
# 95| r95_87(glval<unknown>) = FunctionAddress[await_ready] :
# 95| r95_88(bool) = Call[await_ready] : func:r95_87, this:r95_86
# 95| m95_89(unknown) = ^CallSideEffect : ~m95_82
# 95| m95_90(unknown) = Chi : total:m95_82, partial:m95_89
# 95| v95_91(void) = ^IndirectReadSideEffect[-1] : &:r95_86, ~m95_90
#-----| v0_36(void) = ConditionalBranch : r95_88
#-----| False -> Block 7
#-----| True -> Block 6
# 95| Block 6
# 95| m95_92(unknown) = Phi : from 5:~m95_90, from 7:~m95_122
# 95| r95_93(suspend_always *) = CopyValue : r95_83
# 95| r95_94(glval<suspend_always>) = CopyValue : r95_93
#-----| r0_37(glval<suspend_always>) = Convert : r95_94
# 95| r95_95(glval<unknown>) = FunctionAddress[await_resume] :
# 95| v95_96(void) = Call[await_resume] : func:r95_95, this:r0_37
# 95| m95_97(unknown) = ^CallSideEffect : ~m95_92
# 95| m95_98(unknown) = Chi : total:m95_92, partial:m95_97
#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, ~m95_98
# 95| r95_99(glval<co_returnable_void>) = VariableAddress[#return] :
# 95| v95_100(void) = ReturnValue : &:r95_99, ~m95_98
# 95| v95_101(void) = AliasedUse : ~m95_98
# 95| v95_102(void) = ExitFunction :
# 95| Block 7
# 95| r95_103(suspend_always *) = CopyValue : r95_83
# 95| r95_104(glval<suspend_always>) = CopyValue : r95_103
#-----| r0_39(glval<suspend_always>) = Convert : r95_104
# 95| r95_105(glval<unknown>) = FunctionAddress[await_suspend] :
# 95| r95_106(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp95:20] :
# 95| m95_107(coroutine_handle<promise_type>) = Uninitialized[#temp95:20] : &:r95_106
# 95| m95_108(unknown) = Chi : total:m95_90, partial:m95_107
# 95| r95_109(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 95| r95_110(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 95| r95_111(glval<coroutine_handle<promise_type>>) = Convert : r95_110
# 95| r95_112(coroutine_handle<promise_type> &) = CopyValue : r95_111
# 95| v95_113(void) = Call[coroutine_handle] : func:r95_109, this:r95_106, 0:r95_112
# 95| m95_114(unknown) = ^CallSideEffect : ~m95_108
# 95| m95_115(unknown) = Chi : total:m95_108, partial:m95_114
# 95| v95_116(void) = ^BufferReadSideEffect[0] : &:r95_112, ~m95_115
# 95| m95_117(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r95_106
# 95| m95_118(unknown) = Chi : total:m95_115, partial:m95_117
# 95| r95_119(coroutine_handle<promise_type>) = Load[#temp95:20] : &:r95_106, ~m95_118
# 95| v95_120(void) = Call[await_suspend] : func:r95_105, this:r0_39, 0:r95_119
# 95| m95_121(unknown) = ^CallSideEffect : ~m95_118
# 95| m95_122(unknown) = Chi : total:m95_118, partial:m95_121
#-----| v0_40(void) = ^IndirectReadSideEffect[-1] : &:r0_39, ~m95_122
#-----| Goto -> Block 6
# 99| co_returnable_value co_yield_value_value(int)
# 99| Block 0
# 99| v99_1(void) = EnterFunction :
# 99| m99_2(unknown) = AliasedDefinition :
# 99| m99_3(unknown) = InitializeNonLocal :
# 99| m99_4(unknown) = Chi : total:m99_2, partial:m99_3
# 99| r99_5(glval<int>) = VariableAddress[i] :
# 99| m99_6(int) = InitializeParameter[i] : &:r99_5
#-----| r0_1(glval<int>) = VariableAddress[i] :
#-----| r0_2(glval<int>) = VariableAddress[i] :
#-----| r0_3(int) = Load[i] : &:r0_2, m99_6
#-----| m0_4(int) = Store[i] : &:r0_1, r0_3
# 99| r99_7(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 99| m99_8(promise_type) = Uninitialized[(unnamed local variable)] : &:r99_7
# 99| m99_9(unknown) = Chi : total:m99_4, partial:m99_8
# 99| r99_10(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 99| r99_11(glval<unknown>) = FunctionAddress[initial_suspend] :
# 99| r99_12(suspend_always) = Call[initial_suspend] : func:r99_11, this:r99_10
# 99| m99_13(unknown) = ^CallSideEffect : ~m99_9
# 99| m99_14(unknown) = Chi : total:m99_9, partial:m99_13
# 99| v99_15(void) = ^IndirectReadSideEffect[-1] : &:r99_10, ~m99_14
# 99| m99_16(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r99_10
# 99| m99_17(unknown) = Chi : total:m99_14, partial:m99_16
#-----| r0_5(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 99| r99_18(glval<suspend_always>) = VariableAddress[#temp99:21] :
# 99| r99_19(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 99| r99_20(glval<unknown>) = FunctionAddress[initial_suspend] :
# 99| r99_21(suspend_always) = Call[initial_suspend] : func:r99_20, this:r99_19
# 99| m99_22(unknown) = ^CallSideEffect : ~m99_17
# 99| m99_23(unknown) = Chi : total:m99_17, partial:m99_22
# 99| v99_24(void) = ^IndirectReadSideEffect[-1] : &:r99_19, ~m99_23
# 99| m99_25(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r99_19
# 99| m99_26(unknown) = Chi : total:m99_23, partial:m99_25
# 99| m99_27(suspend_always) = Store[#temp99:21] : &:r99_18, r99_21
# 99| m99_28(unknown) = Chi : total:m99_26, partial:m99_27
# 99| r99_29(suspend_always *) = CopyValue : r99_18
# 99| m99_30(suspend_always *) = Store[#temp0:0] : &:r0_5, r99_29
#-----| r0_6(suspend_always *) = Load[#temp0:0] : &:r0_5, m99_30
# 99| r99_31(glval<suspend_always>) = CopyValue : r0_6
# 99| r99_32(glval<suspend_always>) = Convert : r99_31
# 99| r99_33(glval<unknown>) = FunctionAddress[await_ready] :
# 99| r99_34(bool) = Call[await_ready] : func:r99_33, this:r99_32
# 99| m99_35(unknown) = ^CallSideEffect : ~m99_28
# 99| m99_36(unknown) = Chi : total:m99_28, partial:m99_35
# 99| v99_37(void) = ^IndirectReadSideEffect[-1] : &:r99_32, ~m99_36
#-----| v0_7(void) = ConditionalBranch : r99_34
#-----| False -> Block 2
#-----| True -> Block 1
#-----| Block 1
#-----| m0_8(unknown) = Phi : from 0:~m99_36, from 2:~m99_63
#-----| r0_9(bool) = Constant[1] :
#-----| r0_10(glval<bool>) = VariableAddress :
#-----| m0_11(bool) = Store[?] : &:r0_10, r0_9
#-----| m0_12(unknown) = Chi : total:m0_8, partial:m0_11
# 99| r99_38(suspend_always *) = CopyValue : r99_29
# 99| r99_39(glval<suspend_always>) = CopyValue : r99_38
#-----| r0_13(glval<suspend_always>) = Convert : r99_39
# 99| r99_40(glval<unknown>) = FunctionAddress[await_resume] :
# 99| v99_41(void) = Call[await_resume] : func:r99_40, this:r0_13
# 99| m99_42(unknown) = ^CallSideEffect : ~m0_12
# 99| m99_43(unknown) = Chi : total:m0_12, partial:m99_42
#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, ~m99_43
#-----| v0_15(void) = CopyValue : v99_41
# 100| r100_1(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 100| r100_2(glval<unknown>) = FunctionAddress[yield_value] :
# 100| r100_3(glval<int>) = VariableAddress[i] :
# 100| r100_4(int) = Load[i] : &:r100_3, m0_4
# 100| r100_5(suspend_always) = Call[yield_value] : func:r100_2, this:r100_1, 0:r100_4
# 100| m100_6(unknown) = ^CallSideEffect : ~m99_43
# 100| m100_7(unknown) = Chi : total:m99_43, partial:m100_6
# 100| v100_8(void) = ^IndirectReadSideEffect[-1] : &:r100_1, ~m100_7
# 100| m100_9(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r100_1
# 100| m100_10(unknown) = Chi : total:m100_7, partial:m100_9
#-----| r0_16(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 100| r100_11(glval<suspend_always>) = VariableAddress[#temp100:13] :
# 100| r100_12(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 100| r100_13(glval<unknown>) = FunctionAddress[yield_value] :
# 100| r100_14(glval<int>) = VariableAddress[i] :
# 100| r100_15(int) = Load[i] : &:r100_14, m0_4
# 100| r100_16(suspend_always) = Call[yield_value] : func:r100_13, this:r100_12, 0:r100_15
# 100| m100_17(unknown) = ^CallSideEffect : ~m100_10
# 100| m100_18(unknown) = Chi : total:m100_10, partial:m100_17
# 100| v100_19(void) = ^IndirectReadSideEffect[-1] : &:r100_12, ~m100_18
# 100| m100_20(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r100_12
# 100| m100_21(unknown) = Chi : total:m100_18, partial:m100_20
# 100| m100_22(suspend_always) = Store[#temp100:13] : &:r100_11, r100_16
# 100| m100_23(unknown) = Chi : total:m100_21, partial:m100_22
# 100| r100_24(suspend_always *) = CopyValue : r100_11
# 100| m100_25(suspend_always *) = Store[#temp0:0] : &:r0_16, r100_24
#-----| r0_17(suspend_always *) = Load[#temp0:0] : &:r0_16, m100_25
# 100| r100_26(glval<suspend_always>) = CopyValue : r0_17
# 100| r100_27(glval<suspend_always>) = Convert : r100_26
# 100| r100_28(glval<unknown>) = FunctionAddress[await_ready] :
# 100| r100_29(bool) = Call[await_ready] : func:r100_28, this:r100_27
# 100| m100_30(unknown) = ^CallSideEffect : ~m100_23
# 100| m100_31(unknown) = Chi : total:m100_23, partial:m100_30
# 100| v100_32(void) = ^IndirectReadSideEffect[-1] : &:r100_27, ~m100_31
# 100| v100_33(void) = ConditionalBranch : r100_29
#-----| False -> Block 4
#-----| True -> Block 3
# 99| Block 2
# 99| r99_44(suspend_always *) = CopyValue : r99_29
# 99| r99_45(glval<suspend_always>) = CopyValue : r99_44
#-----| r0_18(glval<suspend_always>) = Convert : r99_45
# 99| r99_46(glval<unknown>) = FunctionAddress[await_suspend] :
# 99| r99_47(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp99:21] :
# 99| m99_48(coroutine_handle<promise_type>) = Uninitialized[#temp99:21] : &:r99_47
# 99| m99_49(unknown) = Chi : total:m99_36, partial:m99_48
# 99| r99_50(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 99| r99_51(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 99| r99_52(glval<coroutine_handle<promise_type>>) = Convert : r99_51
# 99| r99_53(coroutine_handle<promise_type> &) = CopyValue : r99_52
# 99| v99_54(void) = Call[coroutine_handle] : func:r99_50, this:r99_47, 0:r99_53
# 99| m99_55(unknown) = ^CallSideEffect : ~m99_49
# 99| m99_56(unknown) = Chi : total:m99_49, partial:m99_55
# 99| v99_57(void) = ^BufferReadSideEffect[0] : &:r99_53, ~m99_56
# 99| m99_58(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r99_47
# 99| m99_59(unknown) = Chi : total:m99_56, partial:m99_58
# 99| r99_60(coroutine_handle<promise_type>) = Load[#temp99:21] : &:r99_47, ~m99_59
# 99| v99_61(void) = Call[await_suspend] : func:r99_46, this:r0_18, 0:r99_60
# 99| m99_62(unknown) = ^CallSideEffect : ~m99_59
# 99| m99_63(unknown) = Chi : total:m99_59, partial:m99_62
#-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, ~m99_63
#-----| Goto -> Block 1
# 100| Block 3
# 100| m100_34(unknown) = Phi : from 1:~m100_31, from 4:~m100_60
# 100| r100_35(suspend_always *) = CopyValue : r100_24
# 100| r100_36(glval<suspend_always>) = CopyValue : r100_35
#-----| r0_20(glval<suspend_always>) = Convert : r100_36
# 100| r100_37(glval<unknown>) = FunctionAddress[await_resume] :
# 100| v100_38(void) = Call[await_resume] : func:r100_37, this:r0_20
# 100| m100_39(unknown) = ^CallSideEffect : ~m100_34
# 100| m100_40(unknown) = Chi : total:m100_34, partial:m100_39
#-----| v0_21(void) = ^IndirectReadSideEffect[-1] : &:r0_20, ~m100_40
#-----| v0_22(void) = NoOp :
# 99| r99_64(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 99| r99_65(glval<unknown>) = FunctionAddress[final_suspend] :
# 99| r99_66(suspend_always) = Call[final_suspend] : func:r99_65, this:r99_64
# 99| m99_67(unknown) = ^CallSideEffect : ~m100_40
# 99| m99_68(unknown) = Chi : total:m100_40, partial:m99_67
# 99| v99_69(void) = ^IndirectReadSideEffect[-1] : &:r99_64, ~m99_68
# 99| m99_70(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r99_64
# 99| m99_71(unknown) = Chi : total:m99_68, partial:m99_70
#-----| r0_23(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 99| r99_72(glval<suspend_always>) = VariableAddress[#temp99:21] :
# 99| r99_73(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 99| r99_74(glval<unknown>) = FunctionAddress[final_suspend] :
# 99| r99_75(suspend_always) = Call[final_suspend] : func:r99_74, this:r99_73
# 99| m99_76(unknown) = ^CallSideEffect : ~m99_71
# 99| m99_77(unknown) = Chi : total:m99_71, partial:m99_76
# 99| v99_78(void) = ^IndirectReadSideEffect[-1] : &:r99_73, ~m99_77
# 99| m99_79(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r99_73
# 99| m99_80(unknown) = Chi : total:m99_77, partial:m99_79
# 99| m99_81(suspend_always) = Store[#temp99:21] : &:r99_72, r99_75
# 99| m99_82(unknown) = Chi : total:m99_80, partial:m99_81
# 99| r99_83(suspend_always *) = CopyValue : r99_72
# 99| m99_84(suspend_always *) = Store[#temp0:0] : &:r0_23, r99_83
#-----| r0_24(suspend_always *) = Load[#temp0:0] : &:r0_23, m99_84
# 99| r99_85(glval<suspend_always>) = CopyValue : r0_24
# 99| r99_86(glval<suspend_always>) = Convert : r99_85
# 99| r99_87(glval<unknown>) = FunctionAddress[await_ready] :
# 99| r99_88(bool) = Call[await_ready] : func:r99_87, this:r99_86
# 99| m99_89(unknown) = ^CallSideEffect : ~m99_82
# 99| m99_90(unknown) = Chi : total:m99_82, partial:m99_89
# 99| v99_91(void) = ^IndirectReadSideEffect[-1] : &:r99_86, ~m99_90
#-----| v0_25(void) = ConditionalBranch : r99_88
#-----| False -> Block 6
#-----| True -> Block 5
# 100| Block 4
# 100| r100_41(suspend_always *) = CopyValue : r100_24
# 100| r100_42(glval<suspend_always>) = CopyValue : r100_41
#-----| r0_26(glval<suspend_always>) = Convert : r100_42
# 100| r100_43(glval<unknown>) = FunctionAddress[await_suspend] :
# 100| r100_44(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp100:3] :
# 100| m100_45(coroutine_handle<promise_type>) = Uninitialized[#temp100:3] : &:r100_44
# 100| m100_46(unknown) = Chi : total:m100_31, partial:m100_45
# 100| r100_47(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 100| r100_48(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 100| r100_49(glval<coroutine_handle<promise_type>>) = Convert : r100_48
# 100| r100_50(coroutine_handle<promise_type> &) = CopyValue : r100_49
# 100| v100_51(void) = Call[coroutine_handle] : func:r100_47, this:r100_44, 0:r100_50
# 100| m100_52(unknown) = ^CallSideEffect : ~m100_46
# 100| m100_53(unknown) = Chi : total:m100_46, partial:m100_52
# 100| v100_54(void) = ^BufferReadSideEffect[0] : &:r100_50, ~m100_53
# 100| m100_55(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r100_44
# 100| m100_56(unknown) = Chi : total:m100_53, partial:m100_55
# 100| r100_57(coroutine_handle<promise_type>) = Load[#temp100:3] : &:r100_44, ~m100_56
# 100| v100_58(void) = Call[await_suspend] : func:r100_43, this:r0_26, 0:r100_57
# 100| m100_59(unknown) = ^CallSideEffect : ~m100_56
# 100| m100_60(unknown) = Chi : total:m100_56, partial:m100_59
#-----| v0_27(void) = ^IndirectReadSideEffect[-1] : &:r0_26, ~m100_60
#-----| Goto -> Block 3
# 99| Block 5
# 99| m99_92(unknown) = Phi : from 3:~m99_90, from 6:~m99_122
# 99| r99_93(suspend_always *) = CopyValue : r99_83
# 99| r99_94(glval<suspend_always>) = CopyValue : r99_93
#-----| r0_28(glval<suspend_always>) = Convert : r99_94
# 99| r99_95(glval<unknown>) = FunctionAddress[await_resume] :
# 99| v99_96(void) = Call[await_resume] : func:r99_95, this:r0_28
# 99| m99_97(unknown) = ^CallSideEffect : ~m99_92
# 99| m99_98(unknown) = Chi : total:m99_92, partial:m99_97
#-----| v0_29(void) = ^IndirectReadSideEffect[-1] : &:r0_28, ~m99_98
# 99| r99_99(glval<co_returnable_value>) = VariableAddress[#return] :
# 99| v99_100(void) = ReturnValue : &:r99_99, ~m99_98
# 99| v99_101(void) = AliasedUse : ~m99_98
# 99| v99_102(void) = ExitFunction :
# 99| Block 6
# 99| r99_103(suspend_always *) = CopyValue : r99_83
# 99| r99_104(glval<suspend_always>) = CopyValue : r99_103
#-----| r0_30(glval<suspend_always>) = Convert : r99_104
# 99| r99_105(glval<unknown>) = FunctionAddress[await_suspend] :
# 99| r99_106(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp99:21] :
# 99| m99_107(coroutine_handle<promise_type>) = Uninitialized[#temp99:21] : &:r99_106
# 99| m99_108(unknown) = Chi : total:m99_90, partial:m99_107
# 99| r99_109(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 99| r99_110(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 99| r99_111(glval<coroutine_handle<promise_type>>) = Convert : r99_110
# 99| r99_112(coroutine_handle<promise_type> &) = CopyValue : r99_111
# 99| v99_113(void) = Call[coroutine_handle] : func:r99_109, this:r99_106, 0:r99_112
# 99| m99_114(unknown) = ^CallSideEffect : ~m99_108
# 99| m99_115(unknown) = Chi : total:m99_108, partial:m99_114
# 99| v99_116(void) = ^BufferReadSideEffect[0] : &:r99_112, ~m99_115
# 99| m99_117(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r99_106
# 99| m99_118(unknown) = Chi : total:m99_115, partial:m99_117
# 99| r99_119(coroutine_handle<promise_type>) = Load[#temp99:21] : &:r99_106, ~m99_118
# 99| v99_120(void) = Call[await_suspend] : func:r99_105, this:r0_30, 0:r99_119
# 99| m99_121(unknown) = ^CallSideEffect : ~m99_118
# 99| m99_122(unknown) = Chi : total:m99_118, partial:m99_121
#-----| v0_31(void) = ^IndirectReadSideEffect[-1] : &:r0_30, ~m99_122
#-----| Goto -> Block 5
# 103| co_returnable_void co_yield_and_return_void(int)
# 103| Block 0
# 103| v103_1(void) = EnterFunction :
# 103| m103_2(unknown) = AliasedDefinition :
# 103| m103_3(unknown) = InitializeNonLocal :
# 103| m103_4(unknown) = Chi : total:m103_2, partial:m103_3
# 103| r103_5(glval<int>) = VariableAddress[i] :
# 103| m103_6(int) = InitializeParameter[i] : &:r103_5
#-----| r0_1(glval<int>) = VariableAddress[i] :
#-----| r0_2(glval<int>) = VariableAddress[i] :
#-----| r0_3(int) = Load[i] : &:r0_2, m103_6
#-----| m0_4(int) = Store[i] : &:r0_1, r0_3
# 103| r103_7(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 103| m103_8(promise_type) = Uninitialized[(unnamed local variable)] : &:r103_7
# 103| m103_9(unknown) = Chi : total:m103_4, partial:m103_8
# 103| r103_10(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 103| r103_11(glval<unknown>) = FunctionAddress[initial_suspend] :
# 103| r103_12(suspend_always) = Call[initial_suspend] : func:r103_11, this:r103_10
# 103| m103_13(unknown) = ^CallSideEffect : ~m103_9
# 103| m103_14(unknown) = Chi : total:m103_9, partial:m103_13
# 103| v103_15(void) = ^IndirectReadSideEffect[-1] : &:r103_10, ~m103_14
# 103| m103_16(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r103_10
# 103| m103_17(unknown) = Chi : total:m103_14, partial:m103_16
#-----| r0_5(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 103| r103_18(glval<suspend_always>) = VariableAddress[#temp103:20] :
# 103| r103_19(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 103| r103_20(glval<unknown>) = FunctionAddress[initial_suspend] :
# 103| r103_21(suspend_always) = Call[initial_suspend] : func:r103_20, this:r103_19
# 103| m103_22(unknown) = ^CallSideEffect : ~m103_17
# 103| m103_23(unknown) = Chi : total:m103_17, partial:m103_22
# 103| v103_24(void) = ^IndirectReadSideEffect[-1] : &:r103_19, ~m103_23
# 103| m103_25(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r103_19
# 103| m103_26(unknown) = Chi : total:m103_23, partial:m103_25
# 103| m103_27(suspend_always) = Store[#temp103:20] : &:r103_18, r103_21
# 103| m103_28(unknown) = Chi : total:m103_26, partial:m103_27
# 103| r103_29(suspend_always *) = CopyValue : r103_18
# 103| m103_30(suspend_always *) = Store[#temp0:0] : &:r0_5, r103_29
#-----| r0_6(suspend_always *) = Load[#temp0:0] : &:r0_5, m103_30
# 103| r103_31(glval<suspend_always>) = CopyValue : r0_6
# 103| r103_32(glval<suspend_always>) = Convert : r103_31
# 103| r103_33(glval<unknown>) = FunctionAddress[await_ready] :
# 103| r103_34(bool) = Call[await_ready] : func:r103_33, this:r103_32
# 103| m103_35(unknown) = ^CallSideEffect : ~m103_28
# 103| m103_36(unknown) = Chi : total:m103_28, partial:m103_35
# 103| v103_37(void) = ^IndirectReadSideEffect[-1] : &:r103_32, ~m103_36
#-----| v0_7(void) = ConditionalBranch : r103_34
#-----| False -> Block 2
#-----| True -> Block 1
#-----| Block 1
#-----| m0_8(unknown) = Phi : from 0:~m103_36, from 2:~m103_63
#-----| r0_9(bool) = Constant[1] :
#-----| r0_10(glval<bool>) = VariableAddress :
#-----| m0_11(bool) = Store[?] : &:r0_10, r0_9
#-----| m0_12(unknown) = Chi : total:m0_8, partial:m0_11
# 103| r103_38(suspend_always *) = CopyValue : r103_29
# 103| r103_39(glval<suspend_always>) = CopyValue : r103_38
#-----| r0_13(glval<suspend_always>) = Convert : r103_39
# 103| r103_40(glval<unknown>) = FunctionAddress[await_resume] :
# 103| v103_41(void) = Call[await_resume] : func:r103_40, this:r0_13
# 103| m103_42(unknown) = ^CallSideEffect : ~m0_12
# 103| m103_43(unknown) = Chi : total:m0_12, partial:m103_42
#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, ~m103_43
#-----| v0_15(void) = CopyValue : v103_41
# 104| r104_1(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 104| r104_2(glval<unknown>) = FunctionAddress[yield_value] :
# 104| r104_3(glval<int>) = VariableAddress[i] :
# 104| r104_4(int) = Load[i] : &:r104_3, m0_4
# 104| r104_5(suspend_always) = Call[yield_value] : func:r104_2, this:r104_1, 0:r104_4
# 104| m104_6(unknown) = ^CallSideEffect : ~m103_43
# 104| m104_7(unknown) = Chi : total:m103_43, partial:m104_6
# 104| v104_8(void) = ^IndirectReadSideEffect[-1] : &:r104_1, ~m104_7
# 104| m104_9(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r104_1
# 104| m104_10(unknown) = Chi : total:m104_7, partial:m104_9
#-----| r0_16(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 104| r104_11(glval<suspend_always>) = VariableAddress[#temp104:13] :
# 104| r104_12(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 104| r104_13(glval<unknown>) = FunctionAddress[yield_value] :
# 104| r104_14(glval<int>) = VariableAddress[i] :
# 104| r104_15(int) = Load[i] : &:r104_14, m0_4
# 104| r104_16(suspend_always) = Call[yield_value] : func:r104_13, this:r104_12, 0:r104_15
# 104| m104_17(unknown) = ^CallSideEffect : ~m104_10
# 104| m104_18(unknown) = Chi : total:m104_10, partial:m104_17
# 104| v104_19(void) = ^IndirectReadSideEffect[-1] : &:r104_12, ~m104_18
# 104| m104_20(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r104_12
# 104| m104_21(unknown) = Chi : total:m104_18, partial:m104_20
# 104| m104_22(suspend_always) = Store[#temp104:13] : &:r104_11, r104_16
# 104| m104_23(unknown) = Chi : total:m104_21, partial:m104_22
# 104| r104_24(suspend_always *) = CopyValue : r104_11
# 104| m104_25(suspend_always *) = Store[#temp0:0] : &:r0_16, r104_24
#-----| r0_17(suspend_always *) = Load[#temp0:0] : &:r0_16, m104_25
# 104| r104_26(glval<suspend_always>) = CopyValue : r0_17
# 104| r104_27(glval<suspend_always>) = Convert : r104_26
# 104| r104_28(glval<unknown>) = FunctionAddress[await_ready] :
# 104| r104_29(bool) = Call[await_ready] : func:r104_28, this:r104_27
# 104| m104_30(unknown) = ^CallSideEffect : ~m104_23
# 104| m104_31(unknown) = Chi : total:m104_23, partial:m104_30
# 104| v104_32(void) = ^IndirectReadSideEffect[-1] : &:r104_27, ~m104_31
# 104| v104_33(void) = ConditionalBranch : r104_29
#-----| False -> Block 4
#-----| True -> Block 3
# 103| Block 2
# 103| r103_44(suspend_always *) = CopyValue : r103_29
# 103| r103_45(glval<suspend_always>) = CopyValue : r103_44
#-----| r0_18(glval<suspend_always>) = Convert : r103_45
# 103| r103_46(glval<unknown>) = FunctionAddress[await_suspend] :
# 103| r103_47(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp103:20] :
# 103| m103_48(coroutine_handle<promise_type>) = Uninitialized[#temp103:20] : &:r103_47
# 103| m103_49(unknown) = Chi : total:m103_36, partial:m103_48
# 103| r103_50(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 103| r103_51(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 103| r103_52(glval<coroutine_handle<promise_type>>) = Convert : r103_51
# 103| r103_53(coroutine_handle<promise_type> &) = CopyValue : r103_52
# 103| v103_54(void) = Call[coroutine_handle] : func:r103_50, this:r103_47, 0:r103_53
# 103| m103_55(unknown) = ^CallSideEffect : ~m103_49
# 103| m103_56(unknown) = Chi : total:m103_49, partial:m103_55
# 103| v103_57(void) = ^BufferReadSideEffect[0] : &:r103_53, ~m103_56
# 103| m103_58(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r103_47
# 103| m103_59(unknown) = Chi : total:m103_56, partial:m103_58
# 103| r103_60(coroutine_handle<promise_type>) = Load[#temp103:20] : &:r103_47, ~m103_59
# 103| v103_61(void) = Call[await_suspend] : func:r103_46, this:r0_18, 0:r103_60
# 103| m103_62(unknown) = ^CallSideEffect : ~m103_59
# 103| m103_63(unknown) = Chi : total:m103_59, partial:m103_62
#-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, ~m103_63
#-----| Goto -> Block 1
# 104| Block 3
# 104| m104_34(unknown) = Phi : from 1:~m104_31, from 4:~m104_60
# 104| r104_35(suspend_always *) = CopyValue : r104_24
# 104| r104_36(glval<suspend_always>) = CopyValue : r104_35
#-----| r0_20(glval<suspend_always>) = Convert : r104_36
# 104| r104_37(glval<unknown>) = FunctionAddress[await_resume] :
# 104| v104_38(void) = Call[await_resume] : func:r104_37, this:r0_20
# 104| m104_39(unknown) = ^CallSideEffect : ~m104_34
# 104| m104_40(unknown) = Chi : total:m104_34, partial:m104_39
#-----| v0_21(void) = ^IndirectReadSideEffect[-1] : &:r0_20, ~m104_40
#-----| r0_22(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
#-----| r0_23(glval<unknown>) = FunctionAddress[return_void] :
#-----| v0_24(void) = Call[return_void] : func:r0_23, this:r0_22
#-----| m0_25(unknown) = ^CallSideEffect : ~m104_40
#-----| m0_26(unknown) = Chi : total:m104_40, partial:m0_25
#-----| v0_27(void) = ^IndirectReadSideEffect[-1] : &:r0_22, ~m0_26
#-----| m0_28(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r0_22
#-----| m0_29(unknown) = Chi : total:m0_26, partial:m0_28
# 105| v105_1(void) = NoOp :
#-----| v0_30(void) = NoOp :
#-----| Goto (back edge) -> Block 5
# 104| Block 4
# 104| r104_41(suspend_always *) = CopyValue : r104_24
# 104| r104_42(glval<suspend_always>) = CopyValue : r104_41
#-----| r0_31(glval<suspend_always>) = Convert : r104_42
# 104| r104_43(glval<unknown>) = FunctionAddress[await_suspend] :
# 104| r104_44(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp104:3] :
# 104| m104_45(coroutine_handle<promise_type>) = Uninitialized[#temp104:3] : &:r104_44
# 104| m104_46(unknown) = Chi : total:m104_31, partial:m104_45
# 104| r104_47(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 104| r104_48(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 104| r104_49(glval<coroutine_handle<promise_type>>) = Convert : r104_48
# 104| r104_50(coroutine_handle<promise_type> &) = CopyValue : r104_49
# 104| v104_51(void) = Call[coroutine_handle] : func:r104_47, this:r104_44, 0:r104_50
# 104| m104_52(unknown) = ^CallSideEffect : ~m104_46
# 104| m104_53(unknown) = Chi : total:m104_46, partial:m104_52
# 104| v104_54(void) = ^BufferReadSideEffect[0] : &:r104_50, ~m104_53
# 104| m104_55(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r104_44
# 104| m104_56(unknown) = Chi : total:m104_53, partial:m104_55
# 104| r104_57(coroutine_handle<promise_type>) = Load[#temp104:3] : &:r104_44, ~m104_56
# 104| v104_58(void) = Call[await_suspend] : func:r104_43, this:r0_31, 0:r104_57
# 104| m104_59(unknown) = ^CallSideEffect : ~m104_56
# 104| m104_60(unknown) = Chi : total:m104_56, partial:m104_59
#-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_31, ~m104_60
#-----| Goto -> Block 3
#-----| Block 5
#-----| v0_33(void) = NoOp :
# 103| r103_64(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 103| r103_65(glval<unknown>) = FunctionAddress[final_suspend] :
# 103| r103_66(suspend_always) = Call[final_suspend] : func:r103_65, this:r103_64
# 103| m103_67(unknown) = ^CallSideEffect : ~m0_29
# 103| m103_68(unknown) = Chi : total:m0_29, partial:m103_67
# 103| v103_69(void) = ^IndirectReadSideEffect[-1] : &:r103_64, ~m103_68
# 103| m103_70(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r103_64
# 103| m103_71(unknown) = Chi : total:m103_68, partial:m103_70
#-----| r0_34(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 103| r103_72(glval<suspend_always>) = VariableAddress[#temp103:20] :
# 103| r103_73(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 103| r103_74(glval<unknown>) = FunctionAddress[final_suspend] :
# 103| r103_75(suspend_always) = Call[final_suspend] : func:r103_74, this:r103_73
# 103| m103_76(unknown) = ^CallSideEffect : ~m103_71
# 103| m103_77(unknown) = Chi : total:m103_71, partial:m103_76
# 103| v103_78(void) = ^IndirectReadSideEffect[-1] : &:r103_73, ~m103_77
# 103| m103_79(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r103_73
# 103| m103_80(unknown) = Chi : total:m103_77, partial:m103_79
# 103| m103_81(suspend_always) = Store[#temp103:20] : &:r103_72, r103_75
# 103| m103_82(unknown) = Chi : total:m103_80, partial:m103_81
# 103| r103_83(suspend_always *) = CopyValue : r103_72
# 103| m103_84(suspend_always *) = Store[#temp0:0] : &:r0_34, r103_83
#-----| r0_35(suspend_always *) = Load[#temp0:0] : &:r0_34, m103_84
# 103| r103_85(glval<suspend_always>) = CopyValue : r0_35
# 103| r103_86(glval<suspend_always>) = Convert : r103_85
# 103| r103_87(glval<unknown>) = FunctionAddress[await_ready] :
# 103| r103_88(bool) = Call[await_ready] : func:r103_87, this:r103_86
# 103| m103_89(unknown) = ^CallSideEffect : ~m103_82
# 103| m103_90(unknown) = Chi : total:m103_82, partial:m103_89
# 103| v103_91(void) = ^IndirectReadSideEffect[-1] : &:r103_86, ~m103_90
#-----| v0_36(void) = ConditionalBranch : r103_88
#-----| False -> Block 7
#-----| True -> Block 6
# 103| Block 6
# 103| m103_92(unknown) = Phi : from 5:~m103_90, from 7:~m103_122
# 103| r103_93(suspend_always *) = CopyValue : r103_83
# 103| r103_94(glval<suspend_always>) = CopyValue : r103_93
#-----| r0_37(glval<suspend_always>) = Convert : r103_94
# 103| r103_95(glval<unknown>) = FunctionAddress[await_resume] :
# 103| v103_96(void) = Call[await_resume] : func:r103_95, this:r0_37
# 103| m103_97(unknown) = ^CallSideEffect : ~m103_92
# 103| m103_98(unknown) = Chi : total:m103_92, partial:m103_97
#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, ~m103_98
# 103| r103_99(glval<co_returnable_void>) = VariableAddress[#return] :
# 103| v103_100(void) = ReturnValue : &:r103_99, ~m103_98
# 103| v103_101(void) = AliasedUse : ~m103_98
# 103| v103_102(void) = ExitFunction :
# 103| Block 7
# 103| r103_103(suspend_always *) = CopyValue : r103_83
# 103| r103_104(glval<suspend_always>) = CopyValue : r103_103
#-----| r0_39(glval<suspend_always>) = Convert : r103_104
# 103| r103_105(glval<unknown>) = FunctionAddress[await_suspend] :
# 103| r103_106(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp103:20] :
# 103| m103_107(coroutine_handle<promise_type>) = Uninitialized[#temp103:20] : &:r103_106
# 103| m103_108(unknown) = Chi : total:m103_90, partial:m103_107
# 103| r103_109(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 103| r103_110(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 103| r103_111(glval<coroutine_handle<promise_type>>) = Convert : r103_110
# 103| r103_112(coroutine_handle<promise_type> &) = CopyValue : r103_111
# 103| v103_113(void) = Call[coroutine_handle] : func:r103_109, this:r103_106, 0:r103_112
# 103| m103_114(unknown) = ^CallSideEffect : ~m103_108
# 103| m103_115(unknown) = Chi : total:m103_108, partial:m103_114
# 103| v103_116(void) = ^BufferReadSideEffect[0] : &:r103_112, ~m103_115
# 103| m103_117(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r103_106
# 103| m103_118(unknown) = Chi : total:m103_115, partial:m103_117
# 103| r103_119(coroutine_handle<promise_type>) = Load[#temp103:20] : &:r103_106, ~m103_118
# 103| v103_120(void) = Call[await_suspend] : func:r103_105, this:r0_39, 0:r103_119
# 103| m103_121(unknown) = ^CallSideEffect : ~m103_118
# 103| m103_122(unknown) = Chi : total:m103_118, partial:m103_121
#-----| v0_40(void) = ^IndirectReadSideEffect[-1] : &:r0_39, ~m103_122
#-----| Goto -> Block 6
# 108| co_returnable_value co_yield_and_return_value(int)
# 108| Block 0
# 108| v108_1(void) = EnterFunction :
# 108| m108_2(unknown) = AliasedDefinition :
# 108| m108_3(unknown) = InitializeNonLocal :
# 108| m108_4(unknown) = Chi : total:m108_2, partial:m108_3
# 108| r108_5(glval<int>) = VariableAddress[i] :
# 108| m108_6(int) = InitializeParameter[i] : &:r108_5
#-----| r0_1(glval<int>) = VariableAddress[i] :
#-----| r0_2(glval<int>) = VariableAddress[i] :
#-----| r0_3(int) = Load[i] : &:r0_2, m108_6
#-----| m0_4(int) = Store[i] : &:r0_1, r0_3
# 108| r108_7(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 108| m108_8(promise_type) = Uninitialized[(unnamed local variable)] : &:r108_7
# 108| m108_9(unknown) = Chi : total:m108_4, partial:m108_8
# 108| r108_10(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 108| r108_11(glval<unknown>) = FunctionAddress[initial_suspend] :
# 108| r108_12(suspend_always) = Call[initial_suspend] : func:r108_11, this:r108_10
# 108| m108_13(unknown) = ^CallSideEffect : ~m108_9
# 108| m108_14(unknown) = Chi : total:m108_9, partial:m108_13
# 108| v108_15(void) = ^IndirectReadSideEffect[-1] : &:r108_10, ~m108_14
# 108| m108_16(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r108_10
# 108| m108_17(unknown) = Chi : total:m108_14, partial:m108_16
#-----| r0_5(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 108| r108_18(glval<suspend_always>) = VariableAddress[#temp108:21] :
# 108| r108_19(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 108| r108_20(glval<unknown>) = FunctionAddress[initial_suspend] :
# 108| r108_21(suspend_always) = Call[initial_suspend] : func:r108_20, this:r108_19
# 108| m108_22(unknown) = ^CallSideEffect : ~m108_17
# 108| m108_23(unknown) = Chi : total:m108_17, partial:m108_22
# 108| v108_24(void) = ^IndirectReadSideEffect[-1] : &:r108_19, ~m108_23
# 108| m108_25(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r108_19
# 108| m108_26(unknown) = Chi : total:m108_23, partial:m108_25
# 108| m108_27(suspend_always) = Store[#temp108:21] : &:r108_18, r108_21
# 108| m108_28(unknown) = Chi : total:m108_26, partial:m108_27
# 108| r108_29(suspend_always *) = CopyValue : r108_18
# 108| m108_30(suspend_always *) = Store[#temp0:0] : &:r0_5, r108_29
#-----| r0_6(suspend_always *) = Load[#temp0:0] : &:r0_5, m108_30
# 108| r108_31(glval<suspend_always>) = CopyValue : r0_6
# 108| r108_32(glval<suspend_always>) = Convert : r108_31
# 108| r108_33(glval<unknown>) = FunctionAddress[await_ready] :
# 108| r108_34(bool) = Call[await_ready] : func:r108_33, this:r108_32
# 108| m108_35(unknown) = ^CallSideEffect : ~m108_28
# 108| m108_36(unknown) = Chi : total:m108_28, partial:m108_35
# 108| v108_37(void) = ^IndirectReadSideEffect[-1] : &:r108_32, ~m108_36
#-----| v0_7(void) = ConditionalBranch : r108_34
#-----| False -> Block 2
#-----| True -> Block 1
#-----| Block 1
#-----| m0_8(unknown) = Phi : from 0:~m108_36, from 2:~m108_63
#-----| r0_9(bool) = Constant[1] :
#-----| r0_10(glval<bool>) = VariableAddress :
#-----| m0_11(bool) = Store[?] : &:r0_10, r0_9
#-----| m0_12(unknown) = Chi : total:m0_8, partial:m0_11
# 108| r108_38(suspend_always *) = CopyValue : r108_29
# 108| r108_39(glval<suspend_always>) = CopyValue : r108_38
#-----| r0_13(glval<suspend_always>) = Convert : r108_39
# 108| r108_40(glval<unknown>) = FunctionAddress[await_resume] :
# 108| v108_41(void) = Call[await_resume] : func:r108_40, this:r0_13
# 108| m108_42(unknown) = ^CallSideEffect : ~m0_12
# 108| m108_43(unknown) = Chi : total:m0_12, partial:m108_42
#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, ~m108_43
#-----| v0_15(void) = CopyValue : v108_41
# 109| r109_1(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 109| r109_2(glval<unknown>) = FunctionAddress[yield_value] :
# 109| r109_3(glval<int>) = VariableAddress[i] :
# 109| r109_4(int) = Load[i] : &:r109_3, m0_4
# 109| r109_5(suspend_always) = Call[yield_value] : func:r109_2, this:r109_1, 0:r109_4
# 109| m109_6(unknown) = ^CallSideEffect : ~m108_43
# 109| m109_7(unknown) = Chi : total:m108_43, partial:m109_6
# 109| v109_8(void) = ^IndirectReadSideEffect[-1] : &:r109_1, ~m109_7
# 109| m109_9(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r109_1
# 109| m109_10(unknown) = Chi : total:m109_7, partial:m109_9
#-----| r0_16(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 109| r109_11(glval<suspend_always>) = VariableAddress[#temp109:13] :
# 109| r109_12(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 109| r109_13(glval<unknown>) = FunctionAddress[yield_value] :
# 109| r109_14(glval<int>) = VariableAddress[i] :
# 109| r109_15(int) = Load[i] : &:r109_14, m0_4
# 109| r109_16(suspend_always) = Call[yield_value] : func:r109_13, this:r109_12, 0:r109_15
# 109| m109_17(unknown) = ^CallSideEffect : ~m109_10
# 109| m109_18(unknown) = Chi : total:m109_10, partial:m109_17
# 109| v109_19(void) = ^IndirectReadSideEffect[-1] : &:r109_12, ~m109_18
# 109| m109_20(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r109_12
# 109| m109_21(unknown) = Chi : total:m109_18, partial:m109_20
# 109| m109_22(suspend_always) = Store[#temp109:13] : &:r109_11, r109_16
# 109| m109_23(unknown) = Chi : total:m109_21, partial:m109_22
# 109| r109_24(suspend_always *) = CopyValue : r109_11
# 109| m109_25(suspend_always *) = Store[#temp0:0] : &:r0_16, r109_24
#-----| r0_17(suspend_always *) = Load[#temp0:0] : &:r0_16, m109_25
# 109| r109_26(glval<suspend_always>) = CopyValue : r0_17
# 109| r109_27(glval<suspend_always>) = Convert : r109_26
# 109| r109_28(glval<unknown>) = FunctionAddress[await_ready] :
# 109| r109_29(bool) = Call[await_ready] : func:r109_28, this:r109_27
# 109| m109_30(unknown) = ^CallSideEffect : ~m109_23
# 109| m109_31(unknown) = Chi : total:m109_23, partial:m109_30
# 109| v109_32(void) = ^IndirectReadSideEffect[-1] : &:r109_27, ~m109_31
# 109| v109_33(void) = ConditionalBranch : r109_29
#-----| False -> Block 4
#-----| True -> Block 3
# 108| Block 2
# 108| r108_44(suspend_always *) = CopyValue : r108_29
# 108| r108_45(glval<suspend_always>) = CopyValue : r108_44
#-----| r0_18(glval<suspend_always>) = Convert : r108_45
# 108| r108_46(glval<unknown>) = FunctionAddress[await_suspend] :
# 108| r108_47(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp108:21] :
# 108| m108_48(coroutine_handle<promise_type>) = Uninitialized[#temp108:21] : &:r108_47
# 108| m108_49(unknown) = Chi : total:m108_36, partial:m108_48
# 108| r108_50(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 108| r108_51(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 108| r108_52(glval<coroutine_handle<promise_type>>) = Convert : r108_51
# 108| r108_53(coroutine_handle<promise_type> &) = CopyValue : r108_52
# 108| v108_54(void) = Call[coroutine_handle] : func:r108_50, this:r108_47, 0:r108_53
# 108| m108_55(unknown) = ^CallSideEffect : ~m108_49
# 108| m108_56(unknown) = Chi : total:m108_49, partial:m108_55
# 108| v108_57(void) = ^BufferReadSideEffect[0] : &:r108_53, ~m108_56
# 108| m108_58(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r108_47
# 108| m108_59(unknown) = Chi : total:m108_56, partial:m108_58
# 108| r108_60(coroutine_handle<promise_type>) = Load[#temp108:21] : &:r108_47, ~m108_59
# 108| v108_61(void) = Call[await_suspend] : func:r108_46, this:r0_18, 0:r108_60
# 108| m108_62(unknown) = ^CallSideEffect : ~m108_59
# 108| m108_63(unknown) = Chi : total:m108_59, partial:m108_62
#-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, ~m108_63
#-----| Goto -> Block 1
# 109| Block 3
# 109| m109_34(unknown) = Phi : from 1:~m109_31, from 4:~m109_60
# 109| r109_35(suspend_always *) = CopyValue : r109_24
# 109| r109_36(glval<suspend_always>) = CopyValue : r109_35
#-----| r0_20(glval<suspend_always>) = Convert : r109_36
# 109| r109_37(glval<unknown>) = FunctionAddress[await_resume] :
# 109| v109_38(void) = Call[await_resume] : func:r109_37, this:r0_20
# 109| m109_39(unknown) = ^CallSideEffect : ~m109_34
# 109| m109_40(unknown) = Chi : total:m109_34, partial:m109_39
#-----| v0_21(void) = ^IndirectReadSideEffect[-1] : &:r0_20, ~m109_40
#-----| r0_22(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
#-----| r0_23(glval<unknown>) = FunctionAddress[return_value] :
# 110| r110_1(glval<int>) = VariableAddress[i] :
# 110| r110_2(int) = Load[i] : &:r110_1, m0_4
# 110| r110_3(int) = Constant[1] :
# 110| r110_4(int) = Add : r110_2, r110_3
#-----| v0_24(void) = Call[return_value] : func:r0_23, this:r0_22, 0:r110_4
#-----| m0_25(unknown) = ^CallSideEffect : ~m109_40
#-----| m0_26(unknown) = Chi : total:m109_40, partial:m0_25
#-----| v0_27(void) = ^IndirectReadSideEffect[-1] : &:r0_22, ~m0_26
#-----| m0_28(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r0_22
#-----| m0_29(unknown) = Chi : total:m0_26, partial:m0_28
# 110| v110_5(void) = NoOp :
#-----| v0_30(void) = NoOp :
#-----| Goto (back edge) -> Block 5
# 109| Block 4
# 109| r109_41(suspend_always *) = CopyValue : r109_24
# 109| r109_42(glval<suspend_always>) = CopyValue : r109_41
#-----| r0_31(glval<suspend_always>) = Convert : r109_42
# 109| r109_43(glval<unknown>) = FunctionAddress[await_suspend] :
# 109| r109_44(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp109:3] :
# 109| m109_45(coroutine_handle<promise_type>) = Uninitialized[#temp109:3] : &:r109_44
# 109| m109_46(unknown) = Chi : total:m109_31, partial:m109_45
# 109| r109_47(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 109| r109_48(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 109| r109_49(glval<coroutine_handle<promise_type>>) = Convert : r109_48
# 109| r109_50(coroutine_handle<promise_type> &) = CopyValue : r109_49
# 109| v109_51(void) = Call[coroutine_handle] : func:r109_47, this:r109_44, 0:r109_50
# 109| m109_52(unknown) = ^CallSideEffect : ~m109_46
# 109| m109_53(unknown) = Chi : total:m109_46, partial:m109_52
# 109| v109_54(void) = ^BufferReadSideEffect[0] : &:r109_50, ~m109_53
# 109| m109_55(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r109_44
# 109| m109_56(unknown) = Chi : total:m109_53, partial:m109_55
# 109| r109_57(coroutine_handle<promise_type>) = Load[#temp109:3] : &:r109_44, ~m109_56
# 109| v109_58(void) = Call[await_suspend] : func:r109_43, this:r0_31, 0:r109_57
# 109| m109_59(unknown) = ^CallSideEffect : ~m109_56
# 109| m109_60(unknown) = Chi : total:m109_56, partial:m109_59
#-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_31, ~m109_60
#-----| Goto -> Block 3
#-----| Block 5
#-----| v0_33(void) = NoOp :
# 108| r108_64(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 108| r108_65(glval<unknown>) = FunctionAddress[final_suspend] :
# 108| r108_66(suspend_always) = Call[final_suspend] : func:r108_65, this:r108_64
# 108| m108_67(unknown) = ^CallSideEffect : ~m0_29
# 108| m108_68(unknown) = Chi : total:m0_29, partial:m108_67
# 108| v108_69(void) = ^IndirectReadSideEffect[-1] : &:r108_64, ~m108_68
# 108| m108_70(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r108_64
# 108| m108_71(unknown) = Chi : total:m108_68, partial:m108_70
#-----| r0_34(glval<suspend_always *>) = VariableAddress[#temp0:0] :
# 108| r108_72(glval<suspend_always>) = VariableAddress[#temp108:21] :
# 108| r108_73(glval<promise_type>) = VariableAddress[(unnamed local variable)] :
# 108| r108_74(glval<unknown>) = FunctionAddress[final_suspend] :
# 108| r108_75(suspend_always) = Call[final_suspend] : func:r108_74, this:r108_73
# 108| m108_76(unknown) = ^CallSideEffect : ~m108_71
# 108| m108_77(unknown) = Chi : total:m108_71, partial:m108_76
# 108| v108_78(void) = ^IndirectReadSideEffect[-1] : &:r108_73, ~m108_77
# 108| m108_79(promise_type) = ^IndirectMayWriteSideEffect[-1] : &:r108_73
# 108| m108_80(unknown) = Chi : total:m108_77, partial:m108_79
# 108| m108_81(suspend_always) = Store[#temp108:21] : &:r108_72, r108_75
# 108| m108_82(unknown) = Chi : total:m108_80, partial:m108_81
# 108| r108_83(suspend_always *) = CopyValue : r108_72
# 108| m108_84(suspend_always *) = Store[#temp0:0] : &:r0_34, r108_83
#-----| r0_35(suspend_always *) = Load[#temp0:0] : &:r0_34, m108_84
# 108| r108_85(glval<suspend_always>) = CopyValue : r0_35
# 108| r108_86(glval<suspend_always>) = Convert : r108_85
# 108| r108_87(glval<unknown>) = FunctionAddress[await_ready] :
# 108| r108_88(bool) = Call[await_ready] : func:r108_87, this:r108_86
# 108| m108_89(unknown) = ^CallSideEffect : ~m108_82
# 108| m108_90(unknown) = Chi : total:m108_82, partial:m108_89
# 108| v108_91(void) = ^IndirectReadSideEffect[-1] : &:r108_86, ~m108_90
#-----| v0_36(void) = ConditionalBranch : r108_88
#-----| False -> Block 7
#-----| True -> Block 6
# 108| Block 6
# 108| m108_92(unknown) = Phi : from 5:~m108_90, from 7:~m108_122
# 108| r108_93(suspend_always *) = CopyValue : r108_83
# 108| r108_94(glval<suspend_always>) = CopyValue : r108_93
#-----| r0_37(glval<suspend_always>) = Convert : r108_94
# 108| r108_95(glval<unknown>) = FunctionAddress[await_resume] :
# 108| v108_96(void) = Call[await_resume] : func:r108_95, this:r0_37
# 108| m108_97(unknown) = ^CallSideEffect : ~m108_92
# 108| m108_98(unknown) = Chi : total:m108_92, partial:m108_97
#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, ~m108_98
# 108| r108_99(glval<co_returnable_value>) = VariableAddress[#return] :
# 108| v108_100(void) = ReturnValue : &:r108_99, ~m108_98
# 108| v108_101(void) = AliasedUse : ~m108_98
# 108| v108_102(void) = ExitFunction :
# 108| Block 7
# 108| r108_103(suspend_always *) = CopyValue : r108_83
# 108| r108_104(glval<suspend_always>) = CopyValue : r108_103
#-----| r0_39(glval<suspend_always>) = Convert : r108_104
# 108| r108_105(glval<unknown>) = FunctionAddress[await_suspend] :
# 108| r108_106(glval<coroutine_handle<promise_type>>) = VariableAddress[#temp108:21] :
# 108| m108_107(coroutine_handle<promise_type>) = Uninitialized[#temp108:21] : &:r108_106
# 108| m108_108(unknown) = Chi : total:m108_90, partial:m108_107
# 108| r108_109(glval<unknown>) = FunctionAddress[coroutine_handle] :
# 108| r108_110(glval<coroutine_handle<promise_type>>) = VariableAddress :
# 108| r108_111(glval<coroutine_handle<promise_type>>) = Convert : r108_110
# 108| r108_112(coroutine_handle<promise_type> &) = CopyValue : r108_111
# 108| v108_113(void) = Call[coroutine_handle] : func:r108_109, this:r108_106, 0:r108_112
# 108| m108_114(unknown) = ^CallSideEffect : ~m108_108
# 108| m108_115(unknown) = Chi : total:m108_108, partial:m108_114
# 108| v108_116(void) = ^BufferReadSideEffect[0] : &:r108_112, ~m108_115
# 108| m108_117(coroutine_handle<promise_type>) = ^IndirectMayWriteSideEffect[-1] : &:r108_106
# 108| m108_118(unknown) = Chi : total:m108_115, partial:m108_117
# 108| r108_119(coroutine_handle<promise_type>) = Load[#temp108:21] : &:r108_106, ~m108_118
# 108| v108_120(void) = Call[await_suspend] : func:r108_105, this:r0_39, 0:r108_119
# 108| m108_121(unknown) = ^CallSideEffect : ~m108_118
# 108| m108_122(unknown) = Chi : total:m108_118, partial:m108_121
#-----| v0_40(void) = ^IndirectReadSideEffect[-1] : &:r0_39, ~m108_122
#-----| Goto -> Block 6
destructors_for_temps.cpp:
# 9| void ClassWithConstructor::ClassWithConstructor(ClassWithConstructor&&)
# 9| Block 0
# 9| v9_1(void) = EnterFunction :
# 9| m9_2(unknown) = AliasedDefinition :
# 9| m9_3(unknown) = InitializeNonLocal :
# 9| m9_4(unknown) = Chi : total:m9_2, partial:m9_3
# 9| r9_5(glval<unknown>) = VariableAddress[#this] :
# 9| m9_6(glval<ClassWithConstructor>) = InitializeParameter[#this] : &:r9_5
# 9| r9_7(glval<ClassWithConstructor>) = Load[#this] : &:r9_5, m9_6
# 9| m9_8(ClassWithConstructor) = InitializeIndirection[#this] : &:r9_7
#-----| r0_1(glval<ClassWithConstructor &&>) = VariableAddress[(unnamed parameter 0)] :
#-----| m0_2(ClassWithConstructor &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(ClassWithConstructor &&) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 9| v9_9(void) = NoOp :
# 9| v9_10(void) = ReturnIndirection[#this] : &:r9_7, m9_8
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 9| v9_11(void) = ReturnVoid :
# 9| v9_12(void) = AliasedUse : m9_3
# 9| v9_13(void) = ExitFunction :
# 14| char temp_test()
# 14| Block 0
# 14| v14_1(void) = EnterFunction :
# 14| m14_2(unknown) = AliasedDefinition :
# 14| m14_3(unknown) = InitializeNonLocal :
# 14| m14_4(unknown) = Chi : total:m14_2, partial:m14_3
# 15| r15_1(glval<char>) = VariableAddress[x] :
# 15| r15_2(glval<ClassWithDestructor2>) = VariableAddress[#temp15:14] :
# 15| m15_3(ClassWithDestructor2) = Uninitialized[#temp15:14] : &:r15_2
# 15| m15_4(unknown) = Chi : total:m14_4, partial:m15_3
# 15| r15_5(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 15| v15_6(void) = Call[ClassWithDestructor2] : func:r15_5, this:r15_2
# 15| m15_7(unknown) = ^CallSideEffect : ~m15_4
# 15| m15_8(unknown) = Chi : total:m15_4, partial:m15_7
# 15| m15_9(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r15_2
# 15| m15_10(unknown) = Chi : total:m15_8, partial:m15_9
# 15| r15_11(glval<unknown>) = FunctionAddress[get_x] :
# 15| r15_12(char) = Call[get_x] : func:r15_11, this:r15_2
# 15| m15_13(unknown) = ^CallSideEffect : ~m15_10
# 15| m15_14(unknown) = Chi : total:m15_10, partial:m15_13
# 15| v15_15(void) = ^IndirectReadSideEffect[-1] : &:r15_2, ~m15_14
# 15| m15_16(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r15_2
# 15| m15_17(unknown) = Chi : total:m15_14, partial:m15_16
# 15| r15_18(glval<ClassWithDestructor2>) = CopyValue : r15_2
# 15| r15_19(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 15| v15_20(void) = Call[~ClassWithDestructor2] : func:r15_19, this:r15_18
# 15| m15_21(unknown) = ^CallSideEffect : ~m15_17
# 15| m15_22(unknown) = Chi : total:m15_17, partial:m15_21
# 15| v15_23(void) = ^IndirectReadSideEffect[-1] : &:r15_18, ~m15_22
# 15| m15_24(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r15_18
# 15| m15_25(unknown) = Chi : total:m15_22, partial:m15_24
# 15| m15_26(char) = Store[x] : &:r15_1, r15_12
# 16| r16_1(glval<ClassWithConstructor>) = VariableAddress[y] :
# 16| m16_2(ClassWithConstructor) = Uninitialized[y] : &:r16_1
# 16| m16_3(unknown) = Chi : total:m15_25, partial:m16_2
# 16| r16_4(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 16| r16_5(char) = Constant[97] :
# 16| r16_6(glval<ClassWithDestructor2>) = VariableAddress[#temp16:33] :
# 16| m16_7(ClassWithDestructor2) = Uninitialized[#temp16:33] : &:r16_6
# 16| m16_8(unknown) = Chi : total:m16_3, partial:m16_7
# 16| r16_9(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 16| v16_10(void) = Call[ClassWithDestructor2] : func:r16_9, this:r16_6
# 16| m16_11(unknown) = ^CallSideEffect : ~m16_8
# 16| m16_12(unknown) = Chi : total:m16_8, partial:m16_11
# 16| m16_13(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r16_6
# 16| m16_14(unknown) = Chi : total:m16_12, partial:m16_13
# 16| r16_15(glval<unknown>) = FunctionAddress[get_x] :
# 16| r16_16(char) = Call[get_x] : func:r16_15, this:r16_6
# 16| m16_17(unknown) = ^CallSideEffect : ~m16_14
# 16| m16_18(unknown) = Chi : total:m16_14, partial:m16_17
# 16| v16_19(void) = ^IndirectReadSideEffect[-1] : &:r16_6, ~m16_18
# 16| m16_20(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r16_6
# 16| m16_21(unknown) = Chi : total:m16_18, partial:m16_20
# 16| v16_22(void) = Call[ClassWithConstructor] : func:r16_4, this:r16_1, 0:r16_5, 1:r16_16
# 16| m16_23(unknown) = ^CallSideEffect : ~m16_21
# 16| m16_24(unknown) = Chi : total:m16_21, partial:m16_23
# 16| m16_25(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r16_1
# 16| m16_26(unknown) = Chi : total:m16_24, partial:m16_25
# 16| r16_27(glval<ClassWithDestructor2>) = CopyValue : r16_6
# 16| r16_28(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 16| v16_29(void) = Call[~ClassWithDestructor2] : func:r16_28, this:r16_27
# 16| m16_30(unknown) = ^CallSideEffect : ~m16_26
# 16| m16_31(unknown) = Chi : total:m16_26, partial:m16_30
# 16| v16_32(void) = ^IndirectReadSideEffect[-1] : &:r16_27, ~m16_31
# 16| m16_33(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r16_27
# 16| m16_34(unknown) = Chi : total:m16_31, partial:m16_33
# 17| r17_1(glval<char>) = VariableAddress[#return] :
# 17| r17_2(glval<ClassWithDestructor2>) = VariableAddress[#temp17:12] :
# 17| m17_3(ClassWithDestructor2) = Uninitialized[#temp17:12] : &:r17_2
# 17| m17_4(unknown) = Chi : total:m16_34, partial:m17_3
# 17| r17_5(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 17| v17_6(void) = Call[ClassWithDestructor2] : func:r17_5, this:r17_2
# 17| m17_7(unknown) = ^CallSideEffect : ~m17_4
# 17| m17_8(unknown) = Chi : total:m17_4, partial:m17_7
# 17| m17_9(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r17_2
# 17| m17_10(unknown) = Chi : total:m17_8, partial:m17_9
# 17| r17_11(glval<unknown>) = FunctionAddress[get_x] :
# 17| r17_12(char) = Call[get_x] : func:r17_11, this:r17_2
# 17| m17_13(unknown) = ^CallSideEffect : ~m17_10
# 17| m17_14(unknown) = Chi : total:m17_10, partial:m17_13
# 17| v17_15(void) = ^IndirectReadSideEffect[-1] : &:r17_2, ~m17_14
# 17| m17_16(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r17_2
# 17| m17_17(unknown) = Chi : total:m17_14, partial:m17_16
# 17| r17_18(glval<ClassWithDestructor2>) = CopyValue : r17_2
# 17| r17_19(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 17| v17_20(void) = Call[~ClassWithDestructor2] : func:r17_19, this:r17_18
# 17| m17_21(unknown) = ^CallSideEffect : ~m17_17
# 17| m17_22(unknown) = Chi : total:m17_17, partial:m17_21
# 17| v17_23(void) = ^IndirectReadSideEffect[-1] : &:r17_18, ~m17_22
# 17| m17_24(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r17_18
# 17| m17_25(unknown) = Chi : total:m17_22, partial:m17_24
# 17| m17_26(char) = Store[#return] : &:r17_1, r17_12
# 14| r14_5(glval<char>) = VariableAddress[#return] :
# 14| v14_6(void) = ReturnValue : &:r14_5, m17_26
# 14| v14_7(void) = AliasedUse : ~m17_22
# 14| v14_8(void) = ExitFunction :
# 21| char temp_test2()
# 21| Block 0
# 21| v21_1(void) = EnterFunction :
# 21| m21_2(unknown) = AliasedDefinition :
# 21| m21_3(unknown) = InitializeNonLocal :
# 21| m21_4(unknown) = Chi : total:m21_2, partial:m21_3
# 22| r22_1(glval<unknown>) = FunctionAddress[operator new] :
# 22| r22_2(unsigned long) = Constant[1] :
# 22| r22_3(void *) = Call[operator new] : func:r22_1, 0:r22_2
# 22| m22_4(unknown) = ^CallSideEffect : ~m21_4
# 22| m22_5(unknown) = Chi : total:m21_4, partial:m22_4
# 22| m22_6(unknown) = ^InitializeDynamicAllocation : &:r22_3
# 22| m22_7(unknown) = Chi : total:m22_5, partial:m22_6
# 22| r22_8(ClassWithDestructor2 *) = Convert : r22_3
# 22| r22_9(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 22| v22_10(void) = Call[ClassWithDestructor2] : func:r22_9, this:r22_8
# 22| m22_11(unknown) = ^CallSideEffect : ~m22_7
# 22| m22_12(unknown) = Chi : total:m22_7, partial:m22_11
# 22| m22_13(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r22_8
# 22| m22_14(unknown) = Chi : total:m22_12, partial:m22_13
# 23| r23_1(glval<char>) = VariableAddress[#return] :
# 23| r23_2(glval<ClassWithDestructor2>) = VariableAddress[#temp23:12] :
# 23| m23_3(ClassWithDestructor2) = Uninitialized[#temp23:12] : &:r23_2
# 23| m23_4(unknown) = Chi : total:m22_14, partial:m23_3
# 23| r23_5(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 23| v23_6(void) = Call[ClassWithDestructor2] : func:r23_5, this:r23_2
# 23| m23_7(unknown) = ^CallSideEffect : ~m23_4
# 23| m23_8(unknown) = Chi : total:m23_4, partial:m23_7
# 23| m23_9(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_2
# 23| m23_10(unknown) = Chi : total:m23_8, partial:m23_9
# 23| r23_11(glval<unknown>) = FunctionAddress[get_x] :
# 23| r23_12(char) = Call[get_x] : func:r23_11, this:r23_2
# 23| m23_13(unknown) = ^CallSideEffect : ~m23_10
# 23| m23_14(unknown) = Chi : total:m23_10, partial:m23_13
# 23| v23_15(void) = ^IndirectReadSideEffect[-1] : &:r23_2, ~m23_14
# 23| m23_16(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_2
# 23| m23_17(unknown) = Chi : total:m23_14, partial:m23_16
# 23| r23_18(int) = Convert : r23_12
# 23| r23_19(glval<ClassWithDestructor2>) = VariableAddress[#temp23:45] :
# 23| m23_20(ClassWithDestructor2) = Uninitialized[#temp23:45] : &:r23_19
# 23| m23_21(unknown) = Chi : total:m23_17, partial:m23_20
# 23| r23_22(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 23| v23_23(void) = Call[ClassWithDestructor2] : func:r23_22, this:r23_19
# 23| m23_24(unknown) = ^CallSideEffect : ~m23_21
# 23| m23_25(unknown) = Chi : total:m23_21, partial:m23_24
# 23| m23_26(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_19
# 23| m23_27(unknown) = Chi : total:m23_25, partial:m23_26
# 23| r23_28(glval<unknown>) = FunctionAddress[get_x] :
# 23| r23_29(char) = Call[get_x] : func:r23_28, this:r23_19
# 23| m23_30(unknown) = ^CallSideEffect : ~m23_27
# 23| m23_31(unknown) = Chi : total:m23_27, partial:m23_30
# 23| v23_32(void) = ^IndirectReadSideEffect[-1] : &:r23_19, ~m23_31
# 23| m23_33(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_19
# 23| m23_34(unknown) = Chi : total:m23_31, partial:m23_33
# 23| r23_35(int) = Convert : r23_29
# 23| r23_36(int) = Add : r23_18, r23_35
# 23| r23_37(glval<ClassWithDestructor2>) = CopyValue : r23_19
# 23| r23_38(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 23| v23_39(void) = Call[~ClassWithDestructor2] : func:r23_38, this:r23_37
# 23| m23_40(unknown) = ^CallSideEffect : ~m23_34
# 23| m23_41(unknown) = Chi : total:m23_34, partial:m23_40
# 23| v23_42(void) = ^IndirectReadSideEffect[-1] : &:r23_37, ~m23_41
# 23| m23_43(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_37
# 23| m23_44(unknown) = Chi : total:m23_41, partial:m23_43
# 23| r23_45(glval<ClassWithDestructor2>) = CopyValue : r23_2
# 23| r23_46(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 23| v23_47(void) = Call[~ClassWithDestructor2] : func:r23_46, this:r23_45
# 23| m23_48(unknown) = ^CallSideEffect : ~m23_44
# 23| m23_49(unknown) = Chi : total:m23_44, partial:m23_48
# 23| v23_50(void) = ^IndirectReadSideEffect[-1] : &:r23_45, ~m23_49
# 23| m23_51(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r23_45
# 23| m23_52(unknown) = Chi : total:m23_49, partial:m23_51
# 23| r23_53(char) = Convert : r23_36
# 23| m23_54(char) = Store[#return] : &:r23_1, r23_53
# 21| r21_5(glval<char>) = VariableAddress[#return] :
# 21| v21_6(void) = ReturnValue : &:r21_5, m23_54
# 21| v21_7(void) = AliasedUse : ~m23_49
# 21| v21_8(void) = ExitFunction :
# 29| void temp_test3()
# 29| Block 0
# 29| v29_1(void) = EnterFunction :
# 29| m29_2(unknown) = AliasedDefinition :
# 29| m29_3(unknown) = InitializeNonLocal :
# 29| m29_4(unknown) = Chi : total:m29_2, partial:m29_3
# 30| r30_1(glval<ClassWithDestructor2 &>) = VariableAddress[rs] :
# 30| r30_2(glval<ClassWithDestructor2>) = VariableAddress[#temp30:38] :
# 30| r30_3(glval<unknown>) = FunctionAddress[returnValue] :
# 30| r30_4(ClassWithDestructor2) = Call[returnValue] : func:r30_3
# 30| m30_5(unknown) = ^CallSideEffect : ~m29_4
# 30| m30_6(unknown) = Chi : total:m29_4, partial:m30_5
# 30| m30_7(ClassWithDestructor2) = Store[#temp30:38] : &:r30_2, r30_4
# 30| m30_8(unknown) = Chi : total:m30_6, partial:m30_7
# 30| r30_9(glval<ClassWithDestructor2>) = Convert : r30_2
# 30| r30_10(ClassWithDestructor2 &) = CopyValue : r30_9
# 30| m30_11(ClassWithDestructor2 &) = Store[rs] : &:r30_1, r30_10
# 31| v31_1(void) = NoOp :
# 31| r31_2(glval<ClassWithDestructor2>) = CopyValue : r30_2
# 31| r31_3(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 31| v31_4(void) = Call[~ClassWithDestructor2] : func:r31_3, this:r31_2
# 31| m31_5(unknown) = ^CallSideEffect : ~m30_8
# 31| m31_6(unknown) = Chi : total:m30_8, partial:m31_5
# 31| v31_7(void) = ^IndirectReadSideEffect[-1] : &:r31_2, ~m31_6
# 31| m31_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r31_2
# 31| m31_9(unknown) = Chi : total:m31_6, partial:m31_8
# 29| v29_5(void) = ReturnVoid :
# 29| v29_6(void) = AliasedUse : ~m31_6
# 29| v29_7(void) = ExitFunction :
# 33| void temp_test4()
# 33| Block 0
# 33| v33_1(void) = EnterFunction :
# 33| m33_2(unknown) = AliasedDefinition :
# 33| m33_3(unknown) = InitializeNonLocal :
# 33| m33_4(unknown) = Chi : total:m33_2, partial:m33_3
# 34| r34_1(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 34| m34_2(ClassWithDestructor2) = Uninitialized[c] : &:r34_1
# 34| m34_3(unknown) = Chi : total:m33_4, partial:m34_2
# 34| r34_4(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 34| v34_5(void) = Call[ClassWithDestructor2] : func:r34_4, this:r34_1
# 34| m34_6(unknown) = ^CallSideEffect : ~m34_3
# 34| m34_7(unknown) = Chi : total:m34_3, partial:m34_6
# 34| m34_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r34_1
# 34| m34_9(unknown) = Chi : total:m34_7, partial:m34_8
# 35| r35_1(glval<ClassWithDestructor2 &>) = VariableAddress[rs2] :
# 35| r35_2(glval<ClassWithDestructor2>) = VariableAddress[#temp35:39] :
# 35| r35_3(glval<unknown>) = FunctionAddress[returnValue] :
# 35| r35_4(ClassWithDestructor2) = Call[returnValue] : func:r35_3
# 35| m35_5(unknown) = ^CallSideEffect : ~m34_9
# 35| m35_6(unknown) = Chi : total:m34_9, partial:m35_5
# 35| m35_7(ClassWithDestructor2) = Store[#temp35:39] : &:r35_2, r35_4
# 35| m35_8(unknown) = Chi : total:m35_6, partial:m35_7
# 35| r35_9(glval<ClassWithDestructor2>) = Convert : r35_2
# 35| r35_10(ClassWithDestructor2 &) = CopyValue : r35_9
# 35| m35_11(ClassWithDestructor2 &) = Store[rs2] : &:r35_1, r35_10
# 36| v36_1(void) = NoOp :
# 36| r36_2(glval<ClassWithDestructor2>) = CopyValue : r35_2
# 36| r36_3(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 36| v36_4(void) = Call[~ClassWithDestructor2] : func:r36_3, this:r36_2
# 36| m36_5(unknown) = ^CallSideEffect : ~m35_8
# 36| m36_6(unknown) = Chi : total:m35_8, partial:m36_5
# 36| v36_7(void) = ^IndirectReadSideEffect[-1] : &:r36_2, ~m36_6
# 36| m36_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r36_2
# 36| m36_9(unknown) = Chi : total:m36_6, partial:m36_8
# 36| r36_10(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 36| r36_11(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 36| v36_12(void) = Call[~ClassWithDestructor2] : func:r36_11, this:r36_10
# 36| m36_13(unknown) = ^CallSideEffect : ~m36_9
# 36| m36_14(unknown) = Chi : total:m36_9, partial:m36_13
# 36| v36_15(void) = ^IndirectReadSideEffect[-1] : &:r36_10, ~m36_14
# 36| m36_16(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r36_10
# 36| m36_17(unknown) = Chi : total:m36_14, partial:m36_16
# 33| v33_5(void) = ReturnVoid :
# 33| v33_6(void) = AliasedUse : ~m36_14
# 33| v33_7(void) = ExitFunction :
# 38| void temp_test5(bool)
# 38| Block 0
# 38| v38_1(void) = EnterFunction :
# 38| m38_2(unknown) = AliasedDefinition :
# 38| m38_3(unknown) = InitializeNonLocal :
# 38| m38_4(unknown) = Chi : total:m38_2, partial:m38_3
# 38| r38_5(glval<bool>) = VariableAddress[b] :
# 38| m38_6(bool) = InitializeParameter[b] : &:r38_5
# 39| r39_1(glval<ClassWithDestructor2>) = VariableAddress[#temp39:3] :
# 39| r39_2(glval<bool>) = VariableAddress[b] :
# 39| r39_3(bool) = Load[b] : &:r39_2, m38_6
# 39| v39_4(void) = ConditionalBranch : r39_3
#-----| False -> Block 3
#-----| True -> Block 2
# 39| Block 1
# 39| m39_5(unknown) = Phi : from 2:~m39_27, from 3:~m39_39
# 39| m39_6(ClassWithDestructor2) = Phi : from 2:m39_30, from 3:m39_42
# 39| r39_7(glval<ClassWithDestructor2>) = VariableAddress[#temp39:3] :
# 39| r39_8(ClassWithDestructor2) = Load[#temp39:3] : &:r39_7, m39_6
# 39| m39_9(ClassWithDestructor2) = Store[#temp39:3] : &:r39_1, r39_8
# 39| m39_10(unknown) = Chi : total:m39_5, partial:m39_9
# 39| r39_11(glval<ClassWithDestructor2>) = CopyValue : r39_1
# 39| r39_12(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 39| v39_13(void) = Call[~ClassWithDestructor2] : func:r39_12, this:r39_11
# 39| m39_14(unknown) = ^CallSideEffect : ~m39_10
# 39| m39_15(unknown) = Chi : total:m39_10, partial:m39_14
# 39| v39_16(void) = ^IndirectReadSideEffect[-1] : &:r39_11, ~m39_15
# 39| m39_17(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r39_11
# 39| m39_18(unknown) = Chi : total:m39_15, partial:m39_17
# 40| v40_1(void) = NoOp :
# 38| v38_7(void) = ReturnVoid :
# 38| v38_8(void) = AliasedUse : ~m39_15
# 38| v38_9(void) = ExitFunction :
# 39| Block 2
# 39| r39_19(glval<ClassWithDestructor2>) = VariableAddress[#temp39:7] :
# 39| m39_20(ClassWithDestructor2) = Uninitialized[#temp39:7] : &:r39_19
# 39| m39_21(unknown) = Chi : total:m38_4, partial:m39_20
# 39| r39_22(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 39| v39_23(void) = Call[ClassWithDestructor2] : func:r39_22, this:r39_19
# 39| m39_24(unknown) = ^CallSideEffect : ~m39_21
# 39| m39_25(unknown) = Chi : total:m39_21, partial:m39_24
# 39| m39_26(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r39_19
# 39| m39_27(unknown) = Chi : total:m39_25, partial:m39_26
# 39| r39_28(ClassWithDestructor2) = Load[#temp39:7] : &:r39_19, ~m39_27
# 39| r39_29(glval<ClassWithDestructor2>) = VariableAddress[#temp39:3] :
# 39| m39_30(ClassWithDestructor2) = Store[#temp39:3] : &:r39_29, r39_28
#-----| Goto -> Block 1
# 39| Block 3
# 39| r39_31(glval<ClassWithDestructor2>) = VariableAddress[#temp39:32] :
# 39| m39_32(ClassWithDestructor2) = Uninitialized[#temp39:32] : &:r39_31
# 39| m39_33(unknown) = Chi : total:m38_4, partial:m39_32
# 39| r39_34(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 39| v39_35(void) = Call[ClassWithDestructor2] : func:r39_34, this:r39_31
# 39| m39_36(unknown) = ^CallSideEffect : ~m39_33
# 39| m39_37(unknown) = Chi : total:m39_33, partial:m39_36
# 39| m39_38(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r39_31
# 39| m39_39(unknown) = Chi : total:m39_37, partial:m39_38
# 39| r39_40(ClassWithDestructor2) = Load[#temp39:32] : &:r39_31, ~m39_39
# 39| r39_41(glval<ClassWithDestructor2>) = VariableAddress[#temp39:3] :
# 39| m39_42(ClassWithDestructor2) = Store[#temp39:3] : &:r39_41, r39_40
#-----| Goto -> Block 1
# 42| void temp_test6(bool)
# 42| Block 0
# 42| v42_1(void) = EnterFunction :
# 42| m42_2(unknown) = AliasedDefinition :
# 42| m42_3(unknown) = InitializeNonLocal :
# 42| m42_4(unknown) = Chi : total:m42_2, partial:m42_3
# 42| r42_5(glval<bool>) = VariableAddress[b] :
# 42| m42_6(bool) = InitializeParameter[b] : &:r42_5
# 43| r43_1(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 43| m43_2(ClassWithDestructor2) = Uninitialized[c] : &:r43_1
# 43| m43_3(unknown) = Chi : total:m42_4, partial:m43_2
# 43| r43_4(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 43| v43_5(void) = Call[ClassWithDestructor2] : func:r43_4, this:r43_1
# 43| m43_6(unknown) = ^CallSideEffect : ~m43_3
# 43| m43_7(unknown) = Chi : total:m43_3, partial:m43_6
# 43| m43_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r43_1
# 43| m43_9(unknown) = Chi : total:m43_7, partial:m43_8
# 44| r44_1(glval<bool>) = VariableAddress[b] :
# 44| r44_2(bool) = Load[b] : &:r44_1, m42_6
# 44| v44_3(void) = ConditionalBranch : r44_2
#-----| False -> Block 4
#-----| True -> Block 3
# 42| Block 1
# 42| m42_7(unknown) = Phi : from 2:~m47_8, from 4:~m47_17
# 42| v42_8(void) = AliasedUse : ~m42_7
# 42| v42_9(void) = ExitFunction :
# 42| Block 2
# 42| v42_10(void) = Unwind :
#-----| Goto -> Block 1
# 45| Block 3
# 45| r45_1(glval<ClassWithConstructor>) = VariableAddress[#throw45:7] :
# 45| m45_2(ClassWithConstructor) = Uninitialized[#throw45:7] : &:r45_1
# 45| m45_3(unknown) = Chi : total:m43_9, partial:m45_2
# 45| r45_4(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 45| r45_5(char) = Constant[120] :
# 45| r45_6(glval<ClassWithDestructor2>) = VariableAddress[#temp45:39] :
# 45| m45_7(ClassWithDestructor2) = Uninitialized[#temp45:39] : &:r45_6
# 45| m45_8(unknown) = Chi : total:m45_3, partial:m45_7
# 45| r45_9(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 45| v45_10(void) = Call[ClassWithDestructor2] : func:r45_9, this:r45_6
# 45| m45_11(unknown) = ^CallSideEffect : ~m45_8
# 45| m45_12(unknown) = Chi : total:m45_8, partial:m45_11
# 45| m45_13(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_6
# 45| m45_14(unknown) = Chi : total:m45_12, partial:m45_13
# 45| r45_15(glval<unknown>) = FunctionAddress[get_x] :
# 45| r45_16(char) = Call[get_x] : func:r45_15, this:r45_6
# 45| m45_17(unknown) = ^CallSideEffect : ~m45_14
# 45| m45_18(unknown) = Chi : total:m45_14, partial:m45_17
# 45| v45_19(void) = ^IndirectReadSideEffect[-1] : &:r45_6, ~m45_18
# 45| m45_20(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_6
# 45| m45_21(unknown) = Chi : total:m45_18, partial:m45_20
# 45| v45_22(void) = Call[ClassWithConstructor] : func:r45_4, this:r45_1, 0:r45_5, 1:r45_16
# 45| m45_23(unknown) = ^CallSideEffect : ~m45_21
# 45| m45_24(unknown) = Chi : total:m45_21, partial:m45_23
# 45| m45_25(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r45_1
# 45| m45_26(unknown) = Chi : total:m45_24, partial:m45_25
# 45| v45_27(void) = ThrowValue : &:r45_1, ~m45_26
# 45| r45_28(glval<ClassWithDestructor2>) = CopyValue : r45_6
# 45| r45_29(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 45| v45_30(void) = Call[~ClassWithDestructor2] : func:r45_29, this:r45_28
# 45| m45_31(unknown) = ^CallSideEffect : ~m45_26
# 45| m45_32(unknown) = Chi : total:m45_26, partial:m45_31
# 45| v45_33(void) = ^IndirectReadSideEffect[-1] : &:r45_28, ~m45_32
# 45| m45_34(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r45_28
# 45| m45_35(unknown) = Chi : total:m45_32, partial:m45_34
# 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_35
# 47| m47_5(unknown) = Chi : total:m45_35, partial:m47_4
# 47| v47_6(void) = ^IndirectReadSideEffect[-1] : &:r47_1, ~m47_5
# 47| m47_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r47_1
# 47| m47_8(unknown) = Chi : total:m47_5, partial:m47_7
#-----| Exception -> Block 2
# 47| Block 4
# 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_9
# 47| m47_14(unknown) = Chi : total:m43_9, partial:m47_13
# 47| v47_15(void) = ^IndirectReadSideEffect[-1] : &:r47_10, ~m47_14
# 47| m47_16(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r47_10
# 47| m47_17(unknown) = Chi : total:m47_14, partial:m47_16
# 42| v42_11(void) = ReturnVoid :
#-----| Goto -> Block 1
# 49| void temp_test7(bool)
# 49| Block 0
# 49| v49_1(void) = EnterFunction :
# 49| m49_2(unknown) = AliasedDefinition :
# 49| m49_3(unknown) = InitializeNonLocal :
# 49| m49_4(unknown) = Chi : total:m49_2, partial:m49_3
# 49| r49_5(glval<bool>) = VariableAddress[b] :
# 49| m49_6(bool) = InitializeParameter[b] : &:r49_5
# 50| r50_1(glval<ClassWithDestructor2>) = VariableAddress[c] :
# 50| m50_2(ClassWithDestructor2) = Uninitialized[c] : &:r50_1
# 50| m50_3(unknown) = Chi : total:m49_4, partial:m50_2
# 50| r50_4(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 50| v50_5(void) = Call[ClassWithDestructor2] : func:r50_4, this:r50_1
# 50| m50_6(unknown) = ^CallSideEffect : ~m50_3
# 50| m50_7(unknown) = Chi : total:m50_3, partial:m50_6
# 50| m50_8(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r50_1
# 50| m50_9(unknown) = Chi : total:m50_7, partial:m50_8
# 51| r51_1(glval<ClassWithDestructor2>) = VariableAddress[#temp51:5] :
# 51| r51_2(glval<bool>) = VariableAddress[b] :
# 51| r51_3(bool) = Load[b] : &:r51_2, m49_6
# 51| v51_4(void) = ConditionalBranch : r51_3
#-----| False -> Block 4
#-----| True -> Block 3
# 49| Block 1
# 49| m49_7(unknown) = Phi : from 2:~m52_8, from 4:~m52_17
# 49| v49_8(void) = AliasedUse : ~m49_7
# 49| v49_9(void) = ExitFunction :
# 49| Block 2
# 49| v49_10(void) = Unwind :
#-----| Goto -> Block 1
# 51| Block 3
# 51| r51_5(glval<ClassWithConstructor>) = VariableAddress[#throw51:9] :
# 51| m51_6(ClassWithConstructor) = Uninitialized[#throw51:9] : &:r51_5
# 51| m51_7(unknown) = Chi : total:m50_9, partial:m51_6
# 51| r51_8(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 51| r51_9(char) = Constant[120] :
# 51| r51_10(glval<ClassWithDestructor2>) = VariableAddress[#temp51:41] :
# 51| m51_11(ClassWithDestructor2) = Uninitialized[#temp51:41] : &:r51_10
# 51| m51_12(unknown) = Chi : total:m51_7, partial:m51_11
# 51| r51_13(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 51| v51_14(void) = Call[ClassWithDestructor2] : func:r51_13, this:r51_10
# 51| m51_15(unknown) = ^CallSideEffect : ~m51_12
# 51| m51_16(unknown) = Chi : total:m51_12, partial:m51_15
# 51| m51_17(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_10
# 51| m51_18(unknown) = Chi : total:m51_16, partial:m51_17
# 51| r51_19(glval<unknown>) = FunctionAddress[get_x] :
# 51| r51_20(char) = Call[get_x] : func:r51_19, this:r51_10
# 51| m51_21(unknown) = ^CallSideEffect : ~m51_18
# 51| m51_22(unknown) = Chi : total:m51_18, partial:m51_21
# 51| v51_23(void) = ^IndirectReadSideEffect[-1] : &:r51_10, ~m51_22
# 51| m51_24(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_10
# 51| m51_25(unknown) = Chi : total:m51_22, partial:m51_24
# 51| v51_26(void) = Call[ClassWithConstructor] : func:r51_8, this:r51_5, 0:r51_9, 1:r51_20
# 51| m51_27(unknown) = ^CallSideEffect : ~m51_25
# 51| m51_28(unknown) = Chi : total:m51_25, partial:m51_27
# 51| m51_29(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r51_5
# 51| m51_30(unknown) = Chi : total:m51_28, partial:m51_29
# 51| v51_31(void) = ThrowValue : &:r51_5, ~m51_30
# 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_30
# 52| m52_5(unknown) = Chi : total:m51_30, partial:m52_4
# 52| v52_6(void) = ^IndirectReadSideEffect[-1] : &:r52_1, ~m52_5
# 52| m52_7(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r52_1
# 52| m52_8(unknown) = Chi : total:m52_5, partial:m52_7
#-----| Exception -> Block 2
# 51| Block 4
# 51| r51_32(glval<ClassWithDestructor2>) = VariableAddress[#temp51:75] :
# 51| m51_33(ClassWithDestructor2) = Uninitialized[#temp51:75] : &:r51_32
# 51| m51_34(unknown) = Chi : total:m50_9, partial:m51_33
# 51| r51_35(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 51| v51_36(void) = Call[ClassWithDestructor2] : func:r51_35, this:r51_32
# 51| m51_37(unknown) = ^CallSideEffect : ~m51_34
# 51| m51_38(unknown) = Chi : total:m51_34, partial:m51_37
# 51| m51_39(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r51_32
# 51| m51_40(unknown) = Chi : total:m51_38, partial:m51_39
# 51| r51_41(ClassWithDestructor2) = Load[#temp51:75] : &:r51_32, ~m51_40
# 51| r51_42(glval<ClassWithDestructor2>) = VariableAddress[#temp51:5] :
# 51| m51_43(ClassWithDestructor2) = Store[#temp51:5] : &:r51_42, r51_41
# 51| r51_44(glval<ClassWithDestructor2>) = VariableAddress[#temp51:5] :
# 51| r51_45(ClassWithDestructor2) = Load[#temp51:5] : &:r51_44, m51_43
# 51| m51_46(ClassWithDestructor2) = Store[#temp51:5] : &:r51_1, r51_45
# 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_40
# 52| m52_14(unknown) = Chi : total:m51_40, partial:m52_13
# 52| v52_15(void) = ^IndirectReadSideEffect[-1] : &:r52_10, ~m52_14
# 52| m52_16(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r52_10
# 52| m52_17(unknown) = Chi : total:m52_14, partial:m52_16
# 49| v49_11(void) = ReturnVoid :
#-----| Goto -> Block 1
# 54| void temp_test8(bool)
# 54| Block 0
# 54| v54_1(void) = EnterFunction :
# 54| m54_2(unknown) = AliasedDefinition :
# 54| m54_3(unknown) = InitializeNonLocal :
# 54| m54_4(unknown) = Chi : total:m54_2, partial:m54_3
# 54| r54_5(glval<bool>) = VariableAddress[b] :
# 54| m54_6(bool) = InitializeParameter[b] : &:r54_5
# 55| r55_1(glval<ClassWithDestructor2>) = VariableAddress[#temp55:5] :
# 55| r55_2(glval<bool>) = VariableAddress[b] :
# 55| r55_3(bool) = Load[b] : &:r55_2, m54_6
# 55| v55_4(void) = ConditionalBranch : r55_3
#-----| False -> Block 4
#-----| True -> Block 3
# 54| Block 1
# 54| m54_7(unknown) = Phi : from 2:~m55_30, from 4:~m55_40
# 54| v54_8(void) = AliasedUse : ~m54_7
# 54| v54_9(void) = ExitFunction :
# 54| Block 2
# 54| v54_10(void) = Unwind :
#-----| Goto -> Block 1
# 55| Block 3
# 55| r55_5(glval<ClassWithConstructor>) = VariableAddress[#throw55:9] :
# 55| m55_6(ClassWithConstructor) = Uninitialized[#throw55:9] : &:r55_5
# 55| m55_7(unknown) = Chi : total:m54_4, partial:m55_6
# 55| r55_8(glval<unknown>) = FunctionAddress[ClassWithConstructor] :
# 55| r55_9(char) = Constant[120] :
# 55| r55_10(glval<ClassWithDestructor2>) = VariableAddress[#temp55:41] :
# 55| m55_11(ClassWithDestructor2) = Uninitialized[#temp55:41] : &:r55_10
# 55| m55_12(unknown) = Chi : total:m55_7, partial:m55_11
# 55| r55_13(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 55| v55_14(void) = Call[ClassWithDestructor2] : func:r55_13, this:r55_10
# 55| m55_15(unknown) = ^CallSideEffect : ~m55_12
# 55| m55_16(unknown) = Chi : total:m55_12, partial:m55_15
# 55| m55_17(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r55_10
# 55| m55_18(unknown) = Chi : total:m55_16, partial:m55_17
# 55| r55_19(glval<unknown>) = FunctionAddress[get_x] :
# 55| r55_20(char) = Call[get_x] : func:r55_19, this:r55_10
# 55| m55_21(unknown) = ^CallSideEffect : ~m55_18
# 55| m55_22(unknown) = Chi : total:m55_18, partial:m55_21
# 55| v55_23(void) = ^IndirectReadSideEffect[-1] : &:r55_10, ~m55_22
# 55| m55_24(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r55_10
# 55| m55_25(unknown) = Chi : total:m55_22, partial:m55_24
# 55| v55_26(void) = Call[ClassWithConstructor] : func:r55_8, this:r55_5, 0:r55_9, 1:r55_20
# 55| m55_27(unknown) = ^CallSideEffect : ~m55_25
# 55| m55_28(unknown) = Chi : total:m55_25, partial:m55_27
# 55| m55_29(ClassWithConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r55_5
# 55| m55_30(unknown) = Chi : total:m55_28, partial:m55_29
# 55| v55_31(void) = ThrowValue : &:r55_5, ~m55_30
#-----| Exception -> Block 2
# 55| Block 4
# 55| r55_32(glval<ClassWithDestructor2>) = VariableAddress[#temp55:75] :
# 55| m55_33(ClassWithDestructor2) = Uninitialized[#temp55:75] : &:r55_32
# 55| m55_34(unknown) = Chi : total:m54_4, partial:m55_33
# 55| r55_35(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 55| v55_36(void) = Call[ClassWithDestructor2] : func:r55_35, this:r55_32
# 55| m55_37(unknown) = ^CallSideEffect : ~m55_34
# 55| m55_38(unknown) = Chi : total:m55_34, partial:m55_37
# 55| m55_39(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r55_32
# 55| m55_40(unknown) = Chi : total:m55_38, partial:m55_39
# 55| r55_41(ClassWithDestructor2) = Load[#temp55:75] : &:r55_32, ~m55_40
# 55| r55_42(glval<ClassWithDestructor2>) = VariableAddress[#temp55:5] :
# 55| m55_43(ClassWithDestructor2) = Store[#temp55:5] : &:r55_42, r55_41
# 55| r55_44(glval<ClassWithDestructor2>) = VariableAddress[#temp55:5] :
# 55| r55_45(ClassWithDestructor2) = Load[#temp55:5] : &:r55_44, m55_43
# 55| m55_46(ClassWithDestructor2) = Store[#temp55:5] : &:r55_1, r55_45
# 56| v56_1(void) = NoOp :
# 54| v54_11(void) = ReturnVoid :
#-----| Goto -> Block 1
# 58| void temp_test8_simple(bool)
# 58| Block 0
# 58| v58_1(void) = EnterFunction :
# 58| m58_2(unknown) = AliasedDefinition :
# 58| m58_3(unknown) = InitializeNonLocal :
# 58| m58_4(unknown) = Chi : total:m58_2, partial:m58_3
# 58| r58_5(glval<bool>) = VariableAddress[b] :
# 58| m58_6(bool) = InitializeParameter[b] : &:r58_5
# 59| r59_1(glval<bool>) = VariableAddress[b] :
# 59| r59_2(bool) = Load[b] : &:r59_1, m58_6
# 59| v59_3(void) = ConditionalBranch : r59_2
#-----| False -> Block 4
#-----| True -> Block 3
# 58| Block 1
# 58| m58_7(unknown) = Phi : from 2:~m59_20, from 4:~m58_4
# 58| v58_8(void) = AliasedUse : ~m58_7
# 58| v58_9(void) = ExitFunction :
# 58| Block 2
# 58| v58_10(void) = Unwind :
#-----| Goto -> Block 1
# 59| Block 3
# 59| r59_4(glval<char>) = VariableAddress[#throw59:9] :
# 59| r59_5(glval<ClassWithDestructor2>) = VariableAddress[#temp59:15] :
# 59| m59_6(ClassWithDestructor2) = Uninitialized[#temp59:15] : &:r59_5
# 59| m59_7(unknown) = Chi : total:m58_4, partial:m59_6
# 59| r59_8(glval<unknown>) = FunctionAddress[ClassWithDestructor2] :
# 59| v59_9(void) = Call[ClassWithDestructor2] : func:r59_8, this:r59_5
# 59| m59_10(unknown) = ^CallSideEffect : ~m59_7
# 59| m59_11(unknown) = Chi : total:m59_7, partial:m59_10
# 59| m59_12(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r59_5
# 59| m59_13(unknown) = Chi : total:m59_11, partial:m59_12
# 59| r59_14(glval<unknown>) = FunctionAddress[get_x] :
# 59| r59_15(char) = Call[get_x] : func:r59_14, this:r59_5
# 59| m59_16(unknown) = ^CallSideEffect : ~m59_13
# 59| m59_17(unknown) = Chi : total:m59_13, partial:m59_16
# 59| v59_18(void) = ^IndirectReadSideEffect[-1] : &:r59_5, ~m59_17
# 59| m59_19(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r59_5
# 59| m59_20(unknown) = Chi : total:m59_17, partial:m59_19
# 59| m59_21(char) = Store[#throw59:9] : &:r59_4, r59_15
# 59| v59_22(void) = ThrowValue : &:r59_4, m59_21
#-----| Exception -> Block 2
# 59| Block 4
# 59| r59_23(char) = Constant[97] :
# 59| r59_24(glval<char>) = VariableAddress[#temp59:5] :
# 59| m59_25(char) = Store[#temp59:5] : &:r59_24, r59_23
# 59| r59_26(glval<char>) = VariableAddress[#temp59:5] :
# 59| r59_27(char) = Load[#temp59:5] : &:r59_26, m59_25
# 60| v60_1(void) = NoOp :
# 58| v58_11(void) = ReturnVoid :
#-----| Goto -> Block 1
# 70| bool conditional_temp_via_conjunction(bool)
# 70| Block 0
# 70| v70_1(void) = EnterFunction :
# 70| m70_2(unknown) = AliasedDefinition :
# 70| m70_3(unknown) = InitializeNonLocal :
# 70| m70_4(unknown) = Chi : total:m70_2, partial:m70_3
# 70| r70_5(glval<bool>) = VariableAddress[b] :
# 70| m70_6(bool) = InitializeParameter[b] : &:r70_5
# 72| r72_1(glval<bool>) = VariableAddress[#return] :
# 72| r72_2(glval<bool>) = VariableAddress[b] :
# 72| r72_3(bool) = Load[b] : &:r72_2, m70_6
# 72| v72_4(void) = ConditionalBranch : r72_3
#-----| False -> Block 1
#-----| True -> Block 4
# 72| Block 1
# 72| m72_5(unknown) = Phi : from 0:~m70_4, from 4:~m72_33
# 72| r72_6(glval<bool>) = VariableAddress[#temp72:12] :
# 72| r72_7(bool) = Constant[0] :
# 72| m72_8(bool) = Store[#temp72:12] : &:r72_6, r72_7
#-----| Goto -> Block 2
# 72| Block 2
# 72| m72_9(unknown) = Phi : from 1:~m72_5, from 3:~m72_33
# 72| m72_10(bool) = Phi : from 1:m72_8, from 3:m72_16
# 72| r72_11(glval<bool>) = VariableAddress[#temp72:12] :
# 72| r72_12(bool) = Load[#temp72:12] : &:r72_11, m72_10
# 72| m72_13(bool) = Store[#return] : &:r72_1, r72_12
# 70| r70_7(glval<bool>) = VariableAddress[#return] :
# 70| v70_8(void) = ReturnValue : &:r70_7, m72_13
# 70| v70_9(void) = AliasedUse : ~m72_9
# 70| v70_10(void) = ExitFunction :
# 72| Block 3
# 72| r72_14(glval<bool>) = VariableAddress[#temp72:12] :
# 72| r72_15(bool) = Constant[1] :
# 72| m72_16(bool) = Store[#temp72:12] : &:r72_14, r72_15
#-----| Goto -> Block 2
# 72| Block 4
# 72| r72_17(glval<unknown>) = FunctionAddress[const_ref_string] :
# 72| r72_18(glval<string>) = VariableAddress[#temp72:34] :
# 72| m72_19(string) = Uninitialized[#temp72:34] : &:r72_18
# 72| m72_20(unknown) = Chi : total:m70_4, partial:m72_19
# 72| r72_21(glval<unknown>) = FunctionAddress[string] :
# 72| r72_22(glval<char[1]>) = StringConstant[""] :
# 72| r72_23(char *) = Convert : r72_22
# 72| v72_24(void) = Call[string] : func:r72_21, this:r72_18, 0:r72_23
# 72| m72_25(unknown) = ^CallSideEffect : ~m72_20
# 72| m72_26(unknown) = Chi : total:m72_20, partial:m72_25
# 72| v72_27(void) = ^BufferReadSideEffect[0] : &:r72_23, ~m70_3
# 72| m72_28(string) = ^IndirectMayWriteSideEffect[-1] : &:r72_18
# 72| m72_29(unknown) = Chi : total:m72_26, partial:m72_28
# 72| r72_30(string &) = CopyValue : r72_18
# 72| r72_31(bool) = Call[const_ref_string] : func:r72_17, 0:r72_30
# 72| m72_32(unknown) = ^CallSideEffect : ~m72_29
# 72| m72_33(unknown) = Chi : total:m72_29, partial:m72_32
# 72| v72_34(void) = ^BufferReadSideEffect[0] : &:r72_30, ~m72_33
# 72| v72_35(void) = ConditionalBranch : r72_31
#-----| False -> Block 1
#-----| True -> Block 3
# 77| void temp_test9()
# 77| Block 0
# 77| v77_1(void) = EnterFunction :
# 77| m77_2(unknown) = AliasedDefinition :
# 77| m77_3(unknown) = InitializeNonLocal :
# 77| m77_4(unknown) = Chi : total:m77_2, partial:m77_3
# 78| r78_1(glval<ClassWithDestructor2>) = VariableAddress[#temp78:5] :
# 78| r78_2(glval<unknown>) = FunctionAddress[make] :
# 78| r78_3(ClassWithDestructor2) = Call[make] : func:r78_2
# 78| m78_4(unknown) = ^CallSideEffect : ~m77_4
# 78| m78_5(unknown) = Chi : total:m77_4, partial:m78_4
# 78| m78_6(ClassWithDestructor2) = Store[#temp78:5] : &:r78_1, r78_3
# 78| m78_7(unknown) = Chi : total:m78_5, partial:m78_6
# 78| r78_8(glval<ClassWithDestructor2>) = CopyValue : r78_1
# 78| r78_9(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 78| v78_10(void) = Call[~ClassWithDestructor2] : func:r78_9, this:r78_8
# 78| m78_11(unknown) = ^CallSideEffect : ~m78_7
# 78| m78_12(unknown) = Chi : total:m78_7, partial:m78_11
# 78| v78_13(void) = ^IndirectReadSideEffect[-1] : &:r78_8, ~m78_12
# 78| m78_14(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r78_8
# 78| m78_15(unknown) = Chi : total:m78_12, partial:m78_14
# 79| v79_1(void) = NoOp :
# 77| v77_5(void) = ReturnVoid :
# 77| v77_6(void) = AliasedUse : ~m78_12
# 77| v77_7(void) = ExitFunction :
# 81| void temp_test10(int)
# 81| Block 0
# 81| v81_1(void) = EnterFunction :
# 81| m81_2(unknown) = AliasedDefinition :
# 81| m81_3(unknown) = InitializeNonLocal :
# 81| m81_4(unknown) = Chi : total:m81_2, partial:m81_3
# 81| r81_5(glval<int>) = VariableAddress[i] :
# 81| m81_6(int) = InitializeParameter[i] : &:r81_5
#-----| Goto -> Block 1
# 82| Block 1
# 82| m82_1(unknown) = Phi : from 0:~m81_4, from 2:~m83_15
# 82| r82_2(glval<int>) = VariableAddress[i] :
# 82| r82_3(int) = Load[i] : &:r82_2, m81_6
# 82| r82_4(int) = Constant[10] :
# 82| r82_5(bool) = CompareLT : r82_3, r82_4
# 82| v82_6(void) = ConditionalBranch : r82_5
#-----| False -> Block 3
#-----| True -> Block 2
# 83| Block 2
# 83| r83_1(glval<ClassWithDestructor2>) = VariableAddress[#temp83:9] :
# 83| r83_2(glval<unknown>) = FunctionAddress[make] :
# 83| r83_3(ClassWithDestructor2) = Call[make] : func:r83_2
# 83| m83_4(unknown) = ^CallSideEffect : ~m82_1
# 83| m83_5(unknown) = Chi : total:m82_1, partial:m83_4
# 83| m83_6(ClassWithDestructor2) = Store[#temp83:9] : &:r83_1, r83_3
# 83| m83_7(unknown) = Chi : total:m83_5, partial:m83_6
# 83| r83_8(glval<ClassWithDestructor2>) = CopyValue : r83_1
# 83| r83_9(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 83| v83_10(void) = Call[~ClassWithDestructor2] : func:r83_9, this:r83_8
# 83| m83_11(unknown) = ^CallSideEffect : ~m83_7
# 83| m83_12(unknown) = Chi : total:m83_7, partial:m83_11
# 83| v83_13(void) = ^IndirectReadSideEffect[-1] : &:r83_8, ~m83_12
# 83| m83_14(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r83_8
# 83| m83_15(unknown) = Chi : total:m83_12, partial:m83_14
#-----| Goto (back edge) -> Block 1
# 85| Block 3
# 85| v85_1(void) = NoOp :
# 81| v81_7(void) = ReturnVoid :
# 81| v81_8(void) = AliasedUse : ~m82_1
# 81| v81_9(void) = ExitFunction :
# 94| void temp_test11()
# 94| Block 0
# 94| v94_1(void) = EnterFunction :
# 94| m94_2(unknown) = AliasedDefinition :
# 94| m94_3(unknown) = InitializeNonLocal :
# 94| m94_4(unknown) = Chi : total:m94_2, partial:m94_3
# 99| r99_1(glval<ClassWithDestructor2>) = VariableAddress[#temp99:5] :
# 99| r99_2(glval<ClassWithDestructor3>) = VariableAddress[#temp99:5] :
# 99| r99_3(glval<unknown>) = FunctionAddress[makeClassWithDestructor3] :
# 99| r99_4(ClassWithDestructor3) = Call[makeClassWithDestructor3] : func:r99_3
# 99| m99_5(unknown) = ^CallSideEffect : ~m94_4
# 99| m99_6(unknown) = Chi : total:m94_4, partial:m99_5
# 99| m99_7(ClassWithDestructor3) = Store[#temp99:5] : &:r99_2, r99_4
# 99| m99_8(unknown) = Chi : total:m99_6, partial:m99_7
# 99| r99_9(glval<unknown>) = FunctionAddress[getClassWithDestructor2] :
# 99| r99_10(ClassWithDestructor2) = Call[getClassWithDestructor2] : func:r99_9, this:r99_2
# 99| m99_11(unknown) = ^CallSideEffect : ~m99_8
# 99| m99_12(unknown) = Chi : total:m99_8, partial:m99_11
# 99| v99_13(void) = ^IndirectReadSideEffect[-1] : &:r99_2, ~m99_12
# 99| m99_14(ClassWithDestructor3) = ^IndirectMayWriteSideEffect[-1] : &:r99_2
# 99| m99_15(unknown) = Chi : total:m99_12, partial:m99_14
# 99| m99_16(ClassWithDestructor2) = Store[#temp99:5] : &:r99_1, r99_10
# 99| m99_17(unknown) = Chi : total:m99_15, partial:m99_16
# 99| r99_18(glval<ClassWithDestructor2>) = CopyValue : r99_1
# 99| r99_19(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 99| v99_20(void) = Call[~ClassWithDestructor2] : func:r99_19, this:r99_18
# 99| m99_21(unknown) = ^CallSideEffect : ~m99_17
# 99| m99_22(unknown) = Chi : total:m99_17, partial:m99_21
# 99| v99_23(void) = ^IndirectReadSideEffect[-1] : &:r99_18, ~m99_22
# 99| m99_24(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r99_18
# 99| m99_25(unknown) = Chi : total:m99_22, partial:m99_24
# 99| r99_26(glval<ClassWithDestructor3>) = CopyValue : r99_2
# 99| r99_27(glval<unknown>) = FunctionAddress[~ClassWithDestructor3] :
# 99| v99_28(void) = Call[~ClassWithDestructor3] : func:r99_27, this:r99_26
# 99| m99_29(unknown) = ^CallSideEffect : ~m99_25
# 99| m99_30(unknown) = Chi : total:m99_25, partial:m99_29
# 99| v99_31(void) = ^IndirectReadSideEffect[-1] : &:r99_26, ~m99_30
# 99| m99_32(ClassWithDestructor3) = ^IndirectMayWriteSideEffect[-1] : &:r99_26
# 99| m99_33(unknown) = Chi : total:m99_30, partial:m99_32
# 100| v100_1(void) = NoOp :
# 94| v94_5(void) = ReturnVoid :
# 94| v94_6(void) = AliasedUse : ~m99_30
# 94| v94_7(void) = ExitFunction :
# 102| void temp_test12(ClassWithDestructor3)
# 102| Block 0
# 102| v102_1(void) = EnterFunction :
# 102| m102_2(unknown) = AliasedDefinition :
# 102| m102_3(unknown) = InitializeNonLocal :
# 102| m102_4(unknown) = Chi : total:m102_2, partial:m102_3
# 102| r102_5(glval<ClassWithDestructor3>) = VariableAddress[x] :
# 102| m102_6(ClassWithDestructor3) = InitializeParameter[x] : &:r102_5
# 102| m102_7(unknown) = Chi : total:m102_4, partial:m102_6
# 103| r103_1(glval<ClassWithDestructor2>) = VariableAddress[#temp103:5] :
# 103| r103_2(glval<ClassWithDestructor3>) = VariableAddress[x] :
# 103| r103_3(glval<unknown>) = FunctionAddress[getClassWithDestructor2] :
# 103| r103_4(ClassWithDestructor2) = Call[getClassWithDestructor2] : func:r103_3, this:r103_2
# 103| m103_5(unknown) = ^CallSideEffect : ~m102_7
# 103| m103_6(unknown) = Chi : total:m102_7, partial:m103_5
# 103| v103_7(void) = ^IndirectReadSideEffect[-1] : &:r103_2, ~m103_6
# 103| m103_8(ClassWithDestructor3) = ^IndirectMayWriteSideEffect[-1] : &:r103_2
# 103| m103_9(unknown) = Chi : total:m103_6, partial:m103_8
# 103| m103_10(ClassWithDestructor2) = Store[#temp103:5] : &:r103_1, r103_4
# 103| m103_11(unknown) = Chi : total:m103_9, partial:m103_10
# 103| r103_12(glval<unknown>) = FunctionAddress[get_x] :
# 103| r103_13(char) = Call[get_x] : func:r103_12, this:r103_1
# 103| m103_14(unknown) = ^CallSideEffect : ~m103_11
# 103| m103_15(unknown) = Chi : total:m103_11, partial:m103_14
# 103| v103_16(void) = ^IndirectReadSideEffect[-1] : &:r103_1, ~m103_15
# 103| m103_17(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r103_1
# 103| m103_18(unknown) = Chi : total:m103_15, partial:m103_17
# 103| r103_19(int) = Convert : r103_13
# 103| r103_20(int) = Constant[5] :
# 103| r103_21(int) = Add : r103_19, r103_20
# 103| r103_22(glval<ClassWithDestructor2>) = CopyValue : r103_1
# 103| r103_23(glval<unknown>) = FunctionAddress[~ClassWithDestructor2] :
# 103| v103_24(void) = Call[~ClassWithDestructor2] : func:r103_23, this:r103_22
# 103| m103_25(unknown) = ^CallSideEffect : ~m103_18
# 103| m103_26(unknown) = Chi : total:m103_18, partial:m103_25
# 103| v103_27(void) = ^IndirectReadSideEffect[-1] : &:r103_22, ~m103_26
# 103| m103_28(ClassWithDestructor2) = ^IndirectMayWriteSideEffect[-1] : &:r103_22
# 103| m103_29(unknown) = Chi : total:m103_26, partial:m103_28
# 104| v104_1(void) = NoOp :
# 102| v102_8(void) = ReturnVoid :
# 102| v102_9(void) = AliasedUse : ~m103_26
# 102| v102_10(void) = ExitFunction :
ir.c:
# 7| void MyCoordsTest(int)
# 7| Block 0
# 7| v7_1(void) = EnterFunction :
# 7| m7_2(unknown) = AliasedDefinition :
# 7| m7_3(unknown) = InitializeNonLocal :
# 7| m7_4(unknown) = Chi : total:m7_2, partial:m7_3
# 7| r7_5(glval<int>) = VariableAddress[pos] :
# 7| m7_6(int) = InitializeParameter[pos] : &:r7_5
# 8| r8_1(glval<(unnamed class/struct/union)>) = VariableAddress[coords] :
# 8| m8_2((unnamed class/struct/union)) = Uninitialized[coords] : &:r8_1
# 8| m8_3(unknown) = Chi : total:m7_4, partial:m8_2
# 8| r8_4(glval<int>) = FieldAddress[x] : r8_1
# 8| r8_5(int) = Constant[0] :
# 8| m8_6(int) = Store[?] : &:r8_4, r8_5
# 8| m8_7(unknown) = Chi : total:m8_3, partial:m8_6
# 8| r8_8(glval<int>) = FieldAddress[y] : r8_1
# 8| r8_9(int) = Constant[0] :
# 8| m8_10(int) = Store[?] : &:r8_8, r8_9
# 8| m8_11(unknown) = Chi : total:m8_7, partial:m8_10
# 9| r9_1(glval<int>) = VariableAddress[pos] :
# 9| r9_2(int) = Load[pos] : &:r9_1, m7_6
# 9| r9_3(int) = Constant[1] :
# 9| r9_4(int) = Add : r9_2, r9_3
# 9| r9_5(glval<(unnamed class/struct/union)>) = VariableAddress[coords] :
# 9| r9_6(glval<int>) = FieldAddress[y] : r9_5
# 9| m9_7(int) = Store[?] : &:r9_6, r9_4
# 9| m9_8(unknown) = Chi : total:m8_11, partial:m9_7
# 9| r9_9(int) = Load[?] : &:r9_6, m9_7
# 9| r9_10(glval<(unnamed class/struct/union)>) = VariableAddress[coords] :
# 9| r9_11(glval<int>) = FieldAddress[x] : r9_10
# 9| m9_12(int) = Store[?] : &:r9_11, r9_9
# 9| m9_13(unknown) = Chi : total:m9_8, partial:m9_12
# 10| r10_1(glval<unknown>) = FunctionAddress[getX] :
# 10| r10_2(glval<(unnamed class/struct/union)>) = VariableAddress[coords] :
# 10| r10_3(struct <unnamed> *) = CopyValue : r10_2
# 10| r10_4(int) = Call[getX] : func:r10_1, 0:r10_3
# 10| m10_5(unknown) = ^CallSideEffect : ~m9_13
# 10| m10_6(unknown) = Chi : total:m9_13, partial:m10_5
# 10| v10_7(void) = ^BufferReadSideEffect[0] : &:r10_3, ~m10_6
# 10| m10_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r10_3
# 10| m10_9(unknown) = Chi : total:m10_6, partial:m10_8
# 10| r10_10(glval<(unnamed class/struct/union)>) = VariableAddress[coords] :
# 10| r10_11(glval<int>) = FieldAddress[x] : r10_10
# 10| m10_12(int) = Store[?] : &:r10_11, r10_4
# 10| m10_13(unknown) = Chi : total:m10_9, partial:m10_12
# 11| v11_1(void) = NoOp :
# 7| v7_7(void) = ReturnVoid :
# 7| v7_8(void) = AliasedUse : ~m10_6
# 7| v7_9(void) = ExitFunction :
# 13| void CStyleCast(void*)
# 13| Block 0
# 13| v13_1(void) = EnterFunction :
# 13| m13_2(unknown) = AliasedDefinition :
# 13| m13_3(unknown) = InitializeNonLocal :
# 13| m13_4(unknown) = Chi : total:m13_2, partial:m13_3
# 13| r13_5(glval<void *>) = VariableAddress[src] :
# 13| m13_6(void *) = InitializeParameter[src] : &:r13_5
# 13| r13_7(void *) = Load[src] : &:r13_5, m13_6
# 13| m13_8(unknown) = InitializeIndirection[src] : &:r13_7
# 15| r15_1(glval<char *>) = VariableAddress[dst] :
# 15| r15_2(glval<void *>) = VariableAddress[src] :
# 15| r15_3(void *) = Load[src] : &:r15_2, m13_6
# 15| r15_4(char *) = Convert : r15_3
# 15| m15_5(char *) = Store[dst] : &:r15_1, r15_4
# 16| v16_1(void) = NoOp :
# 13| v13_9(void) = ReturnIndirection[src] : &:r13_7, m13_8
# 13| v13_10(void) = ReturnVoid :
# 13| v13_11(void) = AliasedUse : m13_3
# 13| v13_12(void) = ExitFunction :
# 21| int TryExceptTest(int)
# 21| Block 0
# 21| v21_1(void) = EnterFunction :
# 21| m21_2(unknown) = AliasedDefinition :
# 21| m21_3(unknown) = InitializeNonLocal :
# 21| m21_4(unknown) = Chi : total:m21_2, partial:m21_3
# 21| r21_5(glval<int>) = VariableAddress[x] :
# 21| m21_6(int) = InitializeParameter[x] : &:r21_5
# 22| r22_1(glval<int *>) = VariableAddress[localPtr] :
# 22| m22_2(int *) = Uninitialized[localPtr] : &:r22_1
# 25| r25_1(glval<unknown>) = FunctionAddress[ExRaiseAccessViolation] :
# 25| r25_2(glval<int>) = VariableAddress[x] :
# 25| r25_3(int) = Load[x] : &:r25_2, m21_6
# 25| v25_4(void) = Call[ExRaiseAccessViolation] : func:r25_1, 0:r25_3
# 25| m25_5(unknown) = ^CallSideEffect : ~m21_4
# 25| m25_6(unknown) = Chi : total:m21_4, partial:m25_5
#-----| Exception -> Block 3
# 26| Block 1
# 26| r26_1(int) = Constant[0] :
# 26| r26_2(bool) = CompareEQ : r26_7, r26_1
# 26| v26_3(void) = ConditionalBranch : r26_2
#-----| False -> Block 2
#-----| True -> Block 5
# 26| Block 2
# 26| r26_4(int) = Constant[1] :
# 26| r26_5(bool) = CompareEQ : r26_7, r26_4
# 26| v26_6(void) = ConditionalBranch : r26_5
#-----| False -> Block 5
#-----| True -> Block 4
# 26| Block 3
# 26| r26_7(int) = Constant[1] :
# 26| r26_8(int) = Constant[-1] :
# 26| r26_9(bool) = CompareEQ : r26_7, r26_8
# 26| v26_10(void) = ConditionalBranch : r26_9
#-----| False -> Block 1
#-----| True -> Block 5
# 27| Block 4
# 27| r27_1(glval<int>) = VariableAddress[#return] :
# 27| r27_2(int) = Constant[1] :
# 27| m27_3(int) = Store[#return] : &:r27_1, r27_2
# 21| r21_7(glval<int>) = VariableAddress[#return] :
# 21| v21_8(void) = ReturnValue : &:r21_7, m27_3
# 21| v21_9(void) = AliasedUse : ~m25_6
# 21| v21_10(void) = ExitFunction :
# 21| Block 5
# 21| v21_11(void) = Unreached :
ir.cpp:
# 1| void Constants()
# 1| Block 0
# 1| v1_1(void) = EnterFunction :
# 1| m1_2(unknown) = AliasedDefinition :
# 1| m1_3(unknown) = InitializeNonLocal :
# 1| m1_4(unknown) = Chi : total:m1_2, partial:m1_3
# 2| r2_1(glval<char>) = VariableAddress[c_i] :
# 2| r2_2(char) = Constant[1] :
# 2| m2_3(char) = Store[c_i] : &:r2_1, r2_2
# 3| r3_1(glval<char>) = VariableAddress[c_c] :
# 3| r3_2(char) = Constant[65] :
# 3| m3_3(char) = Store[c_c] : &:r3_1, r3_2
# 5| r5_1(glval<signed char>) = VariableAddress[sc_i] :
# 5| r5_2(signed char) = Constant[-1] :
# 5| m5_3(signed char) = Store[sc_i] : &:r5_1, r5_2
# 6| r6_1(glval<signed char>) = VariableAddress[sc_c] :
# 6| r6_2(signed char) = Constant[65] :
# 6| m6_3(signed char) = Store[sc_c] : &:r6_1, r6_2
# 8| r8_1(glval<unsigned char>) = VariableAddress[uc_i] :
# 8| r8_2(unsigned char) = Constant[5] :
# 8| m8_3(unsigned char) = Store[uc_i] : &:r8_1, r8_2
# 9| r9_1(glval<unsigned char>) = VariableAddress[uc_c] :
# 9| r9_2(unsigned char) = Constant[65] :
# 9| m9_3(unsigned char) = Store[uc_c] : &:r9_1, r9_2
# 11| r11_1(glval<short>) = VariableAddress[s] :
# 11| r11_2(short) = Constant[5] :
# 11| m11_3(short) = Store[s] : &:r11_1, r11_2
# 12| r12_1(glval<unsigned short>) = VariableAddress[us] :
# 12| r12_2(unsigned short) = Constant[5] :
# 12| m12_3(unsigned short) = Store[us] : &:r12_1, r12_2
# 14| r14_1(glval<int>) = VariableAddress[i] :
# 14| r14_2(int) = Constant[5] :
# 14| m14_3(int) = Store[i] : &:r14_1, r14_2
# 15| r15_1(glval<unsigned int>) = VariableAddress[ui] :
# 15| r15_2(unsigned int) = Constant[5] :
# 15| m15_3(unsigned int) = Store[ui] : &:r15_1, r15_2
# 17| r17_1(glval<long>) = VariableAddress[l] :
# 17| r17_2(long) = Constant[5] :
# 17| m17_3(long) = Store[l] : &:r17_1, r17_2
# 18| r18_1(glval<unsigned long>) = VariableAddress[ul] :
# 18| r18_2(unsigned long) = Constant[5] :
# 18| m18_3(unsigned long) = Store[ul] : &:r18_1, r18_2
# 20| r20_1(glval<long long>) = VariableAddress[ll_i] :
# 20| r20_2(long long) = Constant[5] :
# 20| m20_3(long long) = Store[ll_i] : &:r20_1, r20_2
# 21| r21_1(glval<long long>) = VariableAddress[ll_ll] :
# 21| r21_2(long long) = Constant[5] :
# 21| m21_3(long long) = Store[ll_ll] : &:r21_1, r21_2
# 22| r22_1(glval<unsigned long long>) = VariableAddress[ull_i] :
# 22| r22_2(unsigned long long) = Constant[5] :
# 22| m22_3(unsigned long long) = Store[ull_i] : &:r22_1, r22_2
# 23| r23_1(glval<unsigned long long>) = VariableAddress[ull_ull] :
# 23| r23_2(unsigned long long) = Constant[5] :
# 23| m23_3(unsigned long long) = Store[ull_ull] : &:r23_1, r23_2
# 25| r25_1(glval<bool>) = VariableAddress[b_t] :
# 25| r25_2(bool) = Constant[1] :
# 25| m25_3(bool) = Store[b_t] : &:r25_1, r25_2
# 26| r26_1(glval<bool>) = VariableAddress[b_f] :
# 26| r26_2(bool) = Constant[0] :
# 26| m26_3(bool) = Store[b_f] : &:r26_1, r26_2
# 28| r28_1(glval<wchar_t>) = VariableAddress[wc_i] :
# 28| r28_2(wchar_t) = Constant[5] :
# 28| m28_3(wchar_t) = Store[wc_i] : &:r28_1, r28_2
# 29| r29_1(glval<wchar_t>) = VariableAddress[wc_c] :
# 29| r29_2(wchar_t) = Constant[65] :
# 29| m29_3(wchar_t) = Store[wc_c] : &:r29_1, r29_2
# 31| r31_1(glval<char16_t>) = VariableAddress[c16] :
# 31| r31_2(char16_t) = Constant[65] :
# 31| m31_3(char16_t) = Store[c16] : &:r31_1, r31_2
# 32| r32_1(glval<char32_t>) = VariableAddress[c32] :
# 32| r32_2(char32_t) = Constant[65] :
# 32| m32_3(char32_t) = Store[c32] : &:r32_1, r32_2
# 34| r34_1(glval<float>) = VariableAddress[f_i] :
# 34| r34_2(float) = Constant[1.0] :
# 34| m34_3(float) = Store[f_i] : &:r34_1, r34_2
# 35| r35_1(glval<float>) = VariableAddress[f_f] :
# 35| r35_2(float) = Constant[1.0] :
# 35| m35_3(float) = Store[f_f] : &:r35_1, r35_2
# 36| r36_1(glval<float>) = VariableAddress[f_d] :
# 36| r36_2(float) = Constant[1.0] :
# 36| m36_3(float) = Store[f_d] : &:r36_1, r36_2
# 38| r38_1(glval<double>) = VariableAddress[d_i] :
# 38| r38_2(double) = Constant[1.0] :
# 38| m38_3(double) = Store[d_i] : &:r38_1, r38_2
# 39| r39_1(glval<double>) = VariableAddress[d_f] :
# 39| r39_2(double) = Constant[1.0] :
# 39| m39_3(double) = Store[d_f] : &:r39_1, r39_2
# 40| r40_1(glval<double>) = VariableAddress[d_d] :
# 40| r40_2(double) = Constant[1.0] :
# 40| m40_3(double) = Store[d_d] : &:r40_1, r40_2
# 41| v41_1(void) = NoOp :
# 1| v1_5(void) = ReturnVoid :
# 1| v1_6(void) = AliasedUse : m1_3
# 1| v1_7(void) = ExitFunction :
# 43| void Foo()
# 43| Block 0
# 43| v43_1(void) = EnterFunction :
# 43| m43_2(unknown) = AliasedDefinition :
# 43| m43_3(unknown) = InitializeNonLocal :
# 43| m43_4(unknown) = Chi : total:m43_2, partial:m43_3
# 44| r44_1(glval<int>) = VariableAddress[x] :
# 44| r44_2(int) = Constant[17] :
# 44| m44_3(int) = Store[x] : &:r44_1, r44_2
# 45| r45_1(glval<short>) = VariableAddress[y] :
# 45| r45_2(short) = Constant[7] :
# 45| m45_3(short) = Store[y] : &:r45_1, r45_2
# 46| r46_1(glval<int>) = VariableAddress[x] :
# 46| r46_2(int) = Load[x] : &:r46_1, m44_3
# 46| r46_3(glval<short>) = VariableAddress[y] :
# 46| r46_4(short) = Load[y] : &:r46_3, m45_3
# 46| r46_5(int) = Convert : r46_4
# 46| r46_6(int) = Add : r46_2, r46_5
# 46| r46_7(short) = Convert : r46_6
# 46| r46_8(glval<short>) = VariableAddress[y] :
# 46| m46_9(short) = Store[y] : &:r46_8, r46_7
# 47| r47_1(glval<int>) = VariableAddress[x] :
# 47| r47_2(int) = Load[x] : &:r47_1, m44_3
# 47| r47_3(glval<short>) = VariableAddress[y] :
# 47| r47_4(short) = Load[y] : &:r47_3, m46_9
# 47| r47_5(int) = Convert : r47_4
# 47| r47_6(int) = Mul : r47_2, r47_5
# 47| r47_7(glval<int>) = VariableAddress[x] :
# 47| m47_8(int) = Store[x] : &:r47_7, r47_6
# 48| v48_1(void) = NoOp :
# 43| v43_5(void) = ReturnVoid :
# 43| v43_6(void) = AliasedUse : m43_3
# 43| v43_7(void) = ExitFunction :
# 50| void IntegerOps(int, int)
# 50| Block 0
# 50| v50_1(void) = EnterFunction :
# 50| m50_2(unknown) = AliasedDefinition :
# 50| m50_3(unknown) = InitializeNonLocal :
# 50| m50_4(unknown) = Chi : total:m50_2, partial:m50_3
# 50| r50_5(glval<int>) = VariableAddress[x] :
# 50| m50_6(int) = InitializeParameter[x] : &:r50_5
# 50| r50_7(glval<int>) = VariableAddress[y] :
# 50| m50_8(int) = InitializeParameter[y] : &:r50_7
# 51| r51_1(glval<int>) = VariableAddress[z] :
# 51| m51_2(int) = Uninitialized[z] : &:r51_1
# 53| r53_1(glval<int>) = VariableAddress[x] :
# 53| r53_2(int) = Load[x] : &:r53_1, m50_6
# 53| r53_3(glval<int>) = VariableAddress[y] :
# 53| r53_4(int) = Load[y] : &:r53_3, m50_8
# 53| r53_5(int) = Add : r53_2, r53_4
# 53| r53_6(glval<int>) = VariableAddress[z] :
# 53| m53_7(int) = Store[z] : &:r53_6, r53_5
# 54| r54_1(glval<int>) = VariableAddress[x] :
# 54| r54_2(int) = Load[x] : &:r54_1, m50_6
# 54| r54_3(glval<int>) = VariableAddress[y] :
# 54| r54_4(int) = Load[y] : &:r54_3, m50_8
# 54| r54_5(int) = Sub : r54_2, r54_4
# 54| r54_6(glval<int>) = VariableAddress[z] :
# 54| m54_7(int) = Store[z] : &:r54_6, r54_5
# 55| r55_1(glval<int>) = VariableAddress[x] :
# 55| r55_2(int) = Load[x] : &:r55_1, m50_6
# 55| r55_3(glval<int>) = VariableAddress[y] :
# 55| r55_4(int) = Load[y] : &:r55_3, m50_8
# 55| r55_5(int) = Mul : r55_2, r55_4
# 55| r55_6(glval<int>) = VariableAddress[z] :
# 55| m55_7(int) = Store[z] : &:r55_6, r55_5
# 56| r56_1(glval<int>) = VariableAddress[x] :
# 56| r56_2(int) = Load[x] : &:r56_1, m50_6
# 56| r56_3(glval<int>) = VariableAddress[y] :
# 56| r56_4(int) = Load[y] : &:r56_3, m50_8
# 56| r56_5(int) = Div : r56_2, r56_4
# 56| r56_6(glval<int>) = VariableAddress[z] :
# 56| m56_7(int) = Store[z] : &:r56_6, r56_5
# 57| r57_1(glval<int>) = VariableAddress[x] :
# 57| r57_2(int) = Load[x] : &:r57_1, m50_6
# 57| r57_3(glval<int>) = VariableAddress[y] :
# 57| r57_4(int) = Load[y] : &:r57_3, m50_8
# 57| r57_5(int) = Rem : r57_2, r57_4
# 57| r57_6(glval<int>) = VariableAddress[z] :
# 57| m57_7(int) = Store[z] : &:r57_6, r57_5
# 59| r59_1(glval<int>) = VariableAddress[x] :
# 59| r59_2(int) = Load[x] : &:r59_1, m50_6
# 59| r59_3(glval<int>) = VariableAddress[y] :
# 59| r59_4(int) = Load[y] : &:r59_3, m50_8
# 59| r59_5(int) = BitAnd : r59_2, r59_4
# 59| r59_6(glval<int>) = VariableAddress[z] :
# 59| m59_7(int) = Store[z] : &:r59_6, r59_5
# 60| r60_1(glval<int>) = VariableAddress[x] :
# 60| r60_2(int) = Load[x] : &:r60_1, m50_6
# 60| r60_3(glval<int>) = VariableAddress[y] :
# 60| r60_4(int) = Load[y] : &:r60_3, m50_8
# 60| r60_5(int) = BitOr : r60_2, r60_4
# 60| r60_6(glval<int>) = VariableAddress[z] :
# 60| m60_7(int) = Store[z] : &:r60_6, r60_5
# 61| r61_1(glval<int>) = VariableAddress[x] :
# 61| r61_2(int) = Load[x] : &:r61_1, m50_6
# 61| r61_3(glval<int>) = VariableAddress[y] :
# 61| r61_4(int) = Load[y] : &:r61_3, m50_8
# 61| r61_5(int) = BitXor : r61_2, r61_4
# 61| r61_6(glval<int>) = VariableAddress[z] :
# 61| m61_7(int) = Store[z] : &:r61_6, r61_5
# 63| r63_1(glval<int>) = VariableAddress[x] :
# 63| r63_2(int) = Load[x] : &:r63_1, m50_6
# 63| r63_3(glval<int>) = VariableAddress[y] :
# 63| r63_4(int) = Load[y] : &:r63_3, m50_8
# 63| r63_5(int) = ShiftLeft : r63_2, r63_4
# 63| r63_6(glval<int>) = VariableAddress[z] :
# 63| m63_7(int) = Store[z] : &:r63_6, r63_5
# 64| r64_1(glval<int>) = VariableAddress[x] :
# 64| r64_2(int) = Load[x] : &:r64_1, m50_6
# 64| r64_3(glval<int>) = VariableAddress[y] :
# 64| r64_4(int) = Load[y] : &:r64_3, m50_8
# 64| r64_5(int) = ShiftRight : r64_2, r64_4
# 64| r64_6(glval<int>) = VariableAddress[z] :
# 64| m64_7(int) = Store[z] : &:r64_6, r64_5
# 66| r66_1(glval<int>) = VariableAddress[x] :
# 66| r66_2(int) = Load[x] : &:r66_1, m50_6
# 66| r66_3(glval<int>) = VariableAddress[z] :
# 66| m66_4(int) = Store[z] : &:r66_3, r66_2
# 68| r68_1(glval<int>) = VariableAddress[x] :
# 68| r68_2(int) = Load[x] : &:r68_1, m50_6
# 68| r68_3(glval<int>) = VariableAddress[z] :
# 68| r68_4(int) = Load[z] : &:r68_3, m66_4
# 68| r68_5(int) = Add : r68_4, r68_2
# 68| m68_6(int) = Store[z] : &:r68_3, r68_5
# 69| r69_1(glval<int>) = VariableAddress[x] :
# 69| r69_2(int) = Load[x] : &:r69_1, m50_6
# 69| r69_3(glval<int>) = VariableAddress[z] :
# 69| r69_4(int) = Load[z] : &:r69_3, m68_6
# 69| r69_5(int) = Sub : r69_4, r69_2
# 69| m69_6(int) = Store[z] : &:r69_3, r69_5
# 70| r70_1(glval<int>) = VariableAddress[x] :
# 70| r70_2(int) = Load[x] : &:r70_1, m50_6
# 70| r70_3(glval<int>) = VariableAddress[z] :
# 70| r70_4(int) = Load[z] : &:r70_3, m69_6
# 70| r70_5(int) = Mul : r70_4, r70_2
# 70| m70_6(int) = Store[z] : &:r70_3, r70_5
# 71| r71_1(glval<int>) = VariableAddress[x] :
# 71| r71_2(int) = Load[x] : &:r71_1, m50_6
# 71| r71_3(glval<int>) = VariableAddress[z] :
# 71| r71_4(int) = Load[z] : &:r71_3, m70_6
# 71| r71_5(int) = Div : r71_4, r71_2
# 71| m71_6(int) = Store[z] : &:r71_3, r71_5
# 72| r72_1(glval<int>) = VariableAddress[x] :
# 72| r72_2(int) = Load[x] : &:r72_1, m50_6
# 72| r72_3(glval<int>) = VariableAddress[z] :
# 72| r72_4(int) = Load[z] : &:r72_3, m71_6
# 72| r72_5(int) = Rem : r72_4, r72_2
# 72| m72_6(int) = Store[z] : &:r72_3, r72_5
# 74| r74_1(glval<int>) = VariableAddress[x] :
# 74| r74_2(int) = Load[x] : &:r74_1, m50_6
# 74| r74_3(glval<int>) = VariableAddress[z] :
# 74| r74_4(int) = Load[z] : &:r74_3, m72_6
# 74| r74_5(int) = BitAnd : r74_4, r74_2
# 74| m74_6(int) = Store[z] : &:r74_3, r74_5
# 75| r75_1(glval<int>) = VariableAddress[x] :
# 75| r75_2(int) = Load[x] : &:r75_1, m50_6
# 75| r75_3(glval<int>) = VariableAddress[z] :
# 75| r75_4(int) = Load[z] : &:r75_3, m74_6
# 75| r75_5(int) = BitOr : r75_4, r75_2
# 75| m75_6(int) = Store[z] : &:r75_3, r75_5
# 76| r76_1(glval<int>) = VariableAddress[x] :
# 76| r76_2(int) = Load[x] : &:r76_1, m50_6
# 76| r76_3(glval<int>) = VariableAddress[z] :
# 76| r76_4(int) = Load[z] : &:r76_3, m75_6
# 76| r76_5(int) = BitXor : r76_4, r76_2
# 76| m76_6(int) = Store[z] : &:r76_3, r76_5
# 78| r78_1(glval<int>) = VariableAddress[x] :
# 78| r78_2(int) = Load[x] : &:r78_1, m50_6
# 78| r78_3(glval<int>) = VariableAddress[z] :
# 78| r78_4(int) = Load[z] : &:r78_3, m76_6
# 78| r78_5(int) = ShiftLeft : r78_4, r78_2
# 78| m78_6(int) = Store[z] : &:r78_3, r78_5
# 79| r79_1(glval<int>) = VariableAddress[x] :
# 79| r79_2(int) = Load[x] : &:r79_1, m50_6
# 79| r79_3(glval<int>) = VariableAddress[z] :
# 79| r79_4(int) = Load[z] : &:r79_3, m78_6
# 79| r79_5(int) = ShiftRight : r79_4, r79_2
# 79| m79_6(int) = Store[z] : &:r79_3, r79_5
# 81| r81_1(glval<int>) = VariableAddress[x] :
# 81| r81_2(int) = Load[x] : &:r81_1, m50_6
# 81| r81_3(int) = CopyValue : r81_2
# 81| r81_4(glval<int>) = VariableAddress[z] :
# 81| m81_5(int) = Store[z] : &:r81_4, r81_3
# 82| r82_1(glval<int>) = VariableAddress[x] :
# 82| r82_2(int) = Load[x] : &:r82_1, m50_6
# 82| r82_3(int) = Negate : r82_2
# 82| r82_4(glval<int>) = VariableAddress[z] :
# 82| m82_5(int) = Store[z] : &:r82_4, r82_3
# 83| r83_1(glval<int>) = VariableAddress[x] :
# 83| r83_2(int) = Load[x] : &:r83_1, m50_6
# 83| r83_3(int) = BitComplement : r83_2
# 83| r83_4(glval<int>) = VariableAddress[z] :
# 83| m83_5(int) = Store[z] : &:r83_4, r83_3
# 84| r84_1(glval<int>) = VariableAddress[x] :
# 84| r84_2(int) = Load[x] : &:r84_1, m50_6
# 84| r84_3(int) = Constant[0] :
# 84| r84_4(bool) = CompareNE : r84_2, r84_3
# 84| r84_5(bool) = LogicalNot : r84_4
# 84| r84_6(int) = Convert : r84_5
# 84| r84_7(glval<int>) = VariableAddress[z] :
# 84| m84_8(int) = Store[z] : &:r84_7, r84_6
# 85| v85_1(void) = NoOp :
# 50| v50_9(void) = ReturnVoid :
# 50| v50_10(void) = AliasedUse : m50_3
# 50| v50_11(void) = ExitFunction :
# 87| void IntegerCompare(int, int)
# 87| Block 0
# 87| v87_1(void) = EnterFunction :
# 87| m87_2(unknown) = AliasedDefinition :
# 87| m87_3(unknown) = InitializeNonLocal :
# 87| m87_4(unknown) = Chi : total:m87_2, partial:m87_3
# 87| r87_5(glval<int>) = VariableAddress[x] :
# 87| m87_6(int) = InitializeParameter[x] : &:r87_5
# 87| r87_7(glval<int>) = VariableAddress[y] :
# 87| m87_8(int) = InitializeParameter[y] : &:r87_7
# 88| r88_1(glval<bool>) = VariableAddress[b] :
# 88| m88_2(bool) = Uninitialized[b] : &:r88_1
# 90| r90_1(glval<int>) = VariableAddress[x] :
# 90| r90_2(int) = Load[x] : &:r90_1, m87_6
# 90| r90_3(glval<int>) = VariableAddress[y] :
# 90| r90_4(int) = Load[y] : &:r90_3, m87_8
# 90| r90_5(bool) = CompareEQ : r90_2, r90_4
# 90| r90_6(glval<bool>) = VariableAddress[b] :
# 90| m90_7(bool) = Store[b] : &:r90_6, r90_5
# 91| r91_1(glval<int>) = VariableAddress[x] :
# 91| r91_2(int) = Load[x] : &:r91_1, m87_6
# 91| r91_3(glval<int>) = VariableAddress[y] :
# 91| r91_4(int) = Load[y] : &:r91_3, m87_8
# 91| r91_5(bool) = CompareNE : r91_2, r91_4
# 91| r91_6(glval<bool>) = VariableAddress[b] :
# 91| m91_7(bool) = Store[b] : &:r91_6, r91_5
# 92| r92_1(glval<int>) = VariableAddress[x] :
# 92| r92_2(int) = Load[x] : &:r92_1, m87_6
# 92| r92_3(glval<int>) = VariableAddress[y] :
# 92| r92_4(int) = Load[y] : &:r92_3, m87_8
# 92| r92_5(bool) = CompareLT : r92_2, r92_4
# 92| r92_6(glval<bool>) = VariableAddress[b] :
# 92| m92_7(bool) = Store[b] : &:r92_6, r92_5
# 93| r93_1(glval<int>) = VariableAddress[x] :
# 93| r93_2(int) = Load[x] : &:r93_1, m87_6
# 93| r93_3(glval<int>) = VariableAddress[y] :
# 93| r93_4(int) = Load[y] : &:r93_3, m87_8
# 93| r93_5(bool) = CompareGT : r93_2, r93_4
# 93| r93_6(glval<bool>) = VariableAddress[b] :
# 93| m93_7(bool) = Store[b] : &:r93_6, r93_5
# 94| r94_1(glval<int>) = VariableAddress[x] :
# 94| r94_2(int) = Load[x] : &:r94_1, m87_6
# 94| r94_3(glval<int>) = VariableAddress[y] :
# 94| r94_4(int) = Load[y] : &:r94_3, m87_8
# 94| r94_5(bool) = CompareLE : r94_2, r94_4
# 94| r94_6(glval<bool>) = VariableAddress[b] :
# 94| m94_7(bool) = Store[b] : &:r94_6, r94_5
# 95| r95_1(glval<int>) = VariableAddress[x] :
# 95| r95_2(int) = Load[x] : &:r95_1, m87_6
# 95| r95_3(glval<int>) = VariableAddress[y] :
# 95| r95_4(int) = Load[y] : &:r95_3, m87_8
# 95| r95_5(bool) = CompareGE : r95_2, r95_4
# 95| r95_6(glval<bool>) = VariableAddress[b] :
# 95| m95_7(bool) = Store[b] : &:r95_6, r95_5
# 96| v96_1(void) = NoOp :
# 87| v87_9(void) = ReturnVoid :
# 87| v87_10(void) = AliasedUse : m87_3
# 87| v87_11(void) = ExitFunction :
# 98| void IntegerCrement(int)
# 98| Block 0
# 98| v98_1(void) = EnterFunction :
# 98| m98_2(unknown) = AliasedDefinition :
# 98| m98_3(unknown) = InitializeNonLocal :
# 98| m98_4(unknown) = Chi : total:m98_2, partial:m98_3
# 98| r98_5(glval<int>) = VariableAddress[x] :
# 98| m98_6(int) = InitializeParameter[x] : &:r98_5
# 99| r99_1(glval<int>) = VariableAddress[y] :
# 99| m99_2(int) = Uninitialized[y] : &:r99_1
# 101| r101_1(glval<int>) = VariableAddress[x] :
# 101| r101_2(int) = Load[x] : &:r101_1, m98_6
# 101| r101_3(int) = Constant[1] :
# 101| r101_4(int) = Add : r101_2, r101_3
# 101| m101_5(int) = Store[x] : &:r101_1, r101_4
# 101| r101_6(int) = Load[x] : &:r101_1, m101_5
# 101| r101_7(glval<int>) = VariableAddress[y] :
# 101| m101_8(int) = Store[y] : &:r101_7, r101_6
# 102| r102_1(glval<int>) = VariableAddress[x] :
# 102| r102_2(int) = Load[x] : &:r102_1, m101_5
# 102| r102_3(int) = Constant[1] :
# 102| r102_4(int) = Sub : r102_2, r102_3
# 102| m102_5(int) = Store[x] : &:r102_1, r102_4
# 102| r102_6(int) = Load[x] : &:r102_1, m102_5
# 102| r102_7(glval<int>) = VariableAddress[y] :
# 102| m102_8(int) = Store[y] : &:r102_7, r102_6
# 103| r103_1(glval<int>) = VariableAddress[x] :
# 103| r103_2(int) = Load[x] : &:r103_1, m102_5
# 103| r103_3(int) = Constant[1] :
# 103| r103_4(int) = Add : r103_2, r103_3
# 103| m103_5(int) = Store[x] : &:r103_1, r103_4
# 103| r103_6(int) = CopyValue : r103_2
# 103| r103_7(glval<int>) = VariableAddress[y] :
# 103| m103_8(int) = Store[y] : &:r103_7, r103_6
# 104| r104_1(glval<int>) = VariableAddress[x] :
# 104| r104_2(int) = Load[x] : &:r104_1, m103_5
# 104| r104_3(int) = Constant[1] :
# 104| r104_4(int) = Sub : r104_2, r104_3
# 104| m104_5(int) = Store[x] : &:r104_1, r104_4
# 104| r104_6(int) = CopyValue : r104_2
# 104| r104_7(glval<int>) = VariableAddress[y] :
# 104| m104_8(int) = Store[y] : &:r104_7, r104_6
# 105| v105_1(void) = NoOp :
# 98| v98_7(void) = ReturnVoid :
# 98| v98_8(void) = AliasedUse : m98_3
# 98| v98_9(void) = ExitFunction :
# 107| void IntegerCrement_LValue(int)
# 107| Block 0
# 107| v107_1(void) = EnterFunction :
# 107| m107_2(unknown) = AliasedDefinition :
# 107| m107_3(unknown) = InitializeNonLocal :
# 107| m107_4(unknown) = Chi : total:m107_2, partial:m107_3
# 107| r107_5(glval<int>) = VariableAddress[x] :
# 107| m107_6(int) = InitializeParameter[x] : &:r107_5
# 108| r108_1(glval<int *>) = VariableAddress[p] :
# 108| m108_2(int *) = Uninitialized[p] : &:r108_1
# 110| r110_1(glval<int>) = VariableAddress[x] :
# 110| r110_2(int) = Load[x] : &:r110_1, m107_6
# 110| r110_3(int) = Constant[1] :
# 110| r110_4(int) = Add : r110_2, r110_3
# 110| m110_5(int) = Store[x] : &:r110_1, r110_4
# 110| r110_6(glval<int>) = CopyValue : r110_1
# 110| r110_7(int *) = CopyValue : r110_6
# 110| r110_8(glval<int *>) = VariableAddress[p] :
# 110| m110_9(int *) = Store[p] : &:r110_8, r110_7
# 111| r111_1(glval<int>) = VariableAddress[x] :
# 111| r111_2(int) = Load[x] : &:r111_1, m110_5
# 111| r111_3(int) = Constant[1] :
# 111| r111_4(int) = Sub : r111_2, r111_3
# 111| m111_5(int) = Store[x] : &:r111_1, r111_4
# 111| r111_6(glval<int>) = CopyValue : r111_1
# 111| r111_7(int *) = CopyValue : r111_6
# 111| r111_8(glval<int *>) = VariableAddress[p] :
# 111| m111_9(int *) = Store[p] : &:r111_8, r111_7
# 112| v112_1(void) = NoOp :
# 107| v107_7(void) = ReturnVoid :
# 107| v107_8(void) = AliasedUse : m107_3
# 107| v107_9(void) = ExitFunction :
# 114| void FloatOps(double, double)
# 114| Block 0
# 114| v114_1(void) = EnterFunction :
# 114| m114_2(unknown) = AliasedDefinition :
# 114| m114_3(unknown) = InitializeNonLocal :
# 114| m114_4(unknown) = Chi : total:m114_2, partial:m114_3
# 114| r114_5(glval<double>) = VariableAddress[x] :
# 114| m114_6(double) = InitializeParameter[x] : &:r114_5
# 114| r114_7(glval<double>) = VariableAddress[y] :
# 114| m114_8(double) = InitializeParameter[y] : &:r114_7
# 115| r115_1(glval<double>) = VariableAddress[z] :
# 115| m115_2(double) = Uninitialized[z] : &:r115_1
# 117| r117_1(glval<double>) = VariableAddress[x] :
# 117| r117_2(double) = Load[x] : &:r117_1, m114_6
# 117| r117_3(glval<double>) = VariableAddress[y] :
# 117| r117_4(double) = Load[y] : &:r117_3, m114_8
# 117| r117_5(double) = Add : r117_2, r117_4
# 117| r117_6(glval<double>) = VariableAddress[z] :
# 117| m117_7(double) = Store[z] : &:r117_6, r117_5
# 118| r118_1(glval<double>) = VariableAddress[x] :
# 118| r118_2(double) = Load[x] : &:r118_1, m114_6
# 118| r118_3(glval<double>) = VariableAddress[y] :
# 118| r118_4(double) = Load[y] : &:r118_3, m114_8
# 118| r118_5(double) = Sub : r118_2, r118_4
# 118| r118_6(glval<double>) = VariableAddress[z] :
# 118| m118_7(double) = Store[z] : &:r118_6, r118_5
# 119| r119_1(glval<double>) = VariableAddress[x] :
# 119| r119_2(double) = Load[x] : &:r119_1, m114_6
# 119| r119_3(glval<double>) = VariableAddress[y] :
# 119| r119_4(double) = Load[y] : &:r119_3, m114_8
# 119| r119_5(double) = Mul : r119_2, r119_4
# 119| r119_6(glval<double>) = VariableAddress[z] :
# 119| m119_7(double) = Store[z] : &:r119_6, r119_5
# 120| r120_1(glval<double>) = VariableAddress[x] :
# 120| r120_2(double) = Load[x] : &:r120_1, m114_6
# 120| r120_3(glval<double>) = VariableAddress[y] :
# 120| r120_4(double) = Load[y] : &:r120_3, m114_8
# 120| r120_5(double) = Div : r120_2, r120_4
# 120| r120_6(glval<double>) = VariableAddress[z] :
# 120| m120_7(double) = Store[z] : &:r120_6, r120_5
# 122| r122_1(glval<double>) = VariableAddress[x] :
# 122| r122_2(double) = Load[x] : &:r122_1, m114_6
# 122| r122_3(glval<double>) = VariableAddress[z] :
# 122| m122_4(double) = Store[z] : &:r122_3, r122_2
# 124| r124_1(glval<double>) = VariableAddress[x] :
# 124| r124_2(double) = Load[x] : &:r124_1, m114_6
# 124| r124_3(glval<double>) = VariableAddress[z] :
# 124| r124_4(double) = Load[z] : &:r124_3, m122_4
# 124| r124_5(double) = Add : r124_4, r124_2
# 124| m124_6(double) = Store[z] : &:r124_3, r124_5
# 125| r125_1(glval<double>) = VariableAddress[x] :
# 125| r125_2(double) = Load[x] : &:r125_1, m114_6
# 125| r125_3(glval<double>) = VariableAddress[z] :
# 125| r125_4(double) = Load[z] : &:r125_3, m124_6
# 125| r125_5(double) = Sub : r125_4, r125_2
# 125| m125_6(double) = Store[z] : &:r125_3, r125_5
# 126| r126_1(glval<double>) = VariableAddress[x] :
# 126| r126_2(double) = Load[x] : &:r126_1, m114_6
# 126| r126_3(glval<double>) = VariableAddress[z] :
# 126| r126_4(double) = Load[z] : &:r126_3, m125_6
# 126| r126_5(double) = Mul : r126_4, r126_2
# 126| m126_6(double) = Store[z] : &:r126_3, r126_5
# 127| r127_1(glval<double>) = VariableAddress[x] :
# 127| r127_2(double) = Load[x] : &:r127_1, m114_6
# 127| r127_3(glval<double>) = VariableAddress[z] :
# 127| r127_4(double) = Load[z] : &:r127_3, m126_6
# 127| r127_5(double) = Div : r127_4, r127_2
# 127| m127_6(double) = Store[z] : &:r127_3, r127_5
# 129| r129_1(glval<double>) = VariableAddress[x] :
# 129| r129_2(double) = Load[x] : &:r129_1, m114_6
# 129| r129_3(double) = CopyValue : r129_2
# 129| r129_4(glval<double>) = VariableAddress[z] :
# 129| m129_5(double) = Store[z] : &:r129_4, r129_3
# 130| r130_1(glval<double>) = VariableAddress[x] :
# 130| r130_2(double) = Load[x] : &:r130_1, m114_6
# 130| r130_3(double) = Negate : r130_2
# 130| r130_4(glval<double>) = VariableAddress[z] :
# 130| m130_5(double) = Store[z] : &:r130_4, r130_3
# 131| v131_1(void) = NoOp :
# 114| v114_9(void) = ReturnVoid :
# 114| v114_10(void) = AliasedUse : m114_3
# 114| v114_11(void) = ExitFunction :
# 133| void FloatCompare(double, double)
# 133| Block 0
# 133| v133_1(void) = EnterFunction :
# 133| m133_2(unknown) = AliasedDefinition :
# 133| m133_3(unknown) = InitializeNonLocal :
# 133| m133_4(unknown) = Chi : total:m133_2, partial:m133_3
# 133| r133_5(glval<double>) = VariableAddress[x] :
# 133| m133_6(double) = InitializeParameter[x] : &:r133_5
# 133| r133_7(glval<double>) = VariableAddress[y] :
# 133| m133_8(double) = InitializeParameter[y] : &:r133_7
# 134| r134_1(glval<bool>) = VariableAddress[b] :
# 134| m134_2(bool) = Uninitialized[b] : &:r134_1
# 136| r136_1(glval<double>) = VariableAddress[x] :
# 136| r136_2(double) = Load[x] : &:r136_1, m133_6
# 136| r136_3(glval<double>) = VariableAddress[y] :
# 136| r136_4(double) = Load[y] : &:r136_3, m133_8
# 136| r136_5(bool) = CompareEQ : r136_2, r136_4
# 136| r136_6(glval<bool>) = VariableAddress[b] :
# 136| m136_7(bool) = Store[b] : &:r136_6, r136_5
# 137| r137_1(glval<double>) = VariableAddress[x] :
# 137| r137_2(double) = Load[x] : &:r137_1, m133_6
# 137| r137_3(glval<double>) = VariableAddress[y] :
# 137| r137_4(double) = Load[y] : &:r137_3, m133_8
# 137| r137_5(bool) = CompareNE : r137_2, r137_4
# 137| r137_6(glval<bool>) = VariableAddress[b] :
# 137| m137_7(bool) = Store[b] : &:r137_6, r137_5
# 138| r138_1(glval<double>) = VariableAddress[x] :
# 138| r138_2(double) = Load[x] : &:r138_1, m133_6
# 138| r138_3(glval<double>) = VariableAddress[y] :
# 138| r138_4(double) = Load[y] : &:r138_3, m133_8
# 138| r138_5(bool) = CompareLT : r138_2, r138_4
# 138| r138_6(glval<bool>) = VariableAddress[b] :
# 138| m138_7(bool) = Store[b] : &:r138_6, r138_5
# 139| r139_1(glval<double>) = VariableAddress[x] :
# 139| r139_2(double) = Load[x] : &:r139_1, m133_6
# 139| r139_3(glval<double>) = VariableAddress[y] :
# 139| r139_4(double) = Load[y] : &:r139_3, m133_8
# 139| r139_5(bool) = CompareGT : r139_2, r139_4
# 139| r139_6(glval<bool>) = VariableAddress[b] :
# 139| m139_7(bool) = Store[b] : &:r139_6, r139_5
# 140| r140_1(glval<double>) = VariableAddress[x] :
# 140| r140_2(double) = Load[x] : &:r140_1, m133_6
# 140| r140_3(glval<double>) = VariableAddress[y] :
# 140| r140_4(double) = Load[y] : &:r140_3, m133_8
# 140| r140_5(bool) = CompareLE : r140_2, r140_4
# 140| r140_6(glval<bool>) = VariableAddress[b] :
# 140| m140_7(bool) = Store[b] : &:r140_6, r140_5
# 141| r141_1(glval<double>) = VariableAddress[x] :
# 141| r141_2(double) = Load[x] : &:r141_1, m133_6
# 141| r141_3(glval<double>) = VariableAddress[y] :
# 141| r141_4(double) = Load[y] : &:r141_3, m133_8
# 141| r141_5(bool) = CompareGE : r141_2, r141_4
# 141| r141_6(glval<bool>) = VariableAddress[b] :
# 141| m141_7(bool) = Store[b] : &:r141_6, r141_5
# 142| v142_1(void) = NoOp :
# 133| v133_9(void) = ReturnVoid :
# 133| v133_10(void) = AliasedUse : m133_3
# 133| v133_11(void) = ExitFunction :
# 144| void FloatCrement(float)
# 144| Block 0
# 144| v144_1(void) = EnterFunction :
# 144| m144_2(unknown) = AliasedDefinition :
# 144| m144_3(unknown) = InitializeNonLocal :
# 144| m144_4(unknown) = Chi : total:m144_2, partial:m144_3
# 144| r144_5(glval<float>) = VariableAddress[x] :
# 144| m144_6(float) = InitializeParameter[x] : &:r144_5
# 145| r145_1(glval<float>) = VariableAddress[y] :
# 145| m145_2(float) = Uninitialized[y] : &:r145_1
# 147| r147_1(glval<float>) = VariableAddress[x] :
# 147| r147_2(float) = Load[x] : &:r147_1, m144_6
# 147| r147_3(float) = Constant[1.0] :
# 147| r147_4(float) = Add : r147_2, r147_3
# 147| m147_5(float) = Store[x] : &:r147_1, r147_4
# 147| r147_6(float) = Load[x] : &:r147_1, m147_5
# 147| r147_7(glval<float>) = VariableAddress[y] :
# 147| m147_8(float) = Store[y] : &:r147_7, r147_6
# 148| r148_1(glval<float>) = VariableAddress[x] :
# 148| r148_2(float) = Load[x] : &:r148_1, m147_5
# 148| r148_3(float) = Constant[1.0] :
# 148| r148_4(float) = Sub : r148_2, r148_3
# 148| m148_5(float) = Store[x] : &:r148_1, r148_4
# 148| r148_6(float) = Load[x] : &:r148_1, m148_5
# 148| r148_7(glval<float>) = VariableAddress[y] :
# 148| m148_8(float) = Store[y] : &:r148_7, r148_6
# 149| r149_1(glval<float>) = VariableAddress[x] :
# 149| r149_2(float) = Load[x] : &:r149_1, m148_5
# 149| r149_3(float) = Constant[1.0] :
# 149| r149_4(float) = Add : r149_2, r149_3
# 149| m149_5(float) = Store[x] : &:r149_1, r149_4
# 149| r149_6(float) = CopyValue : r149_2
# 149| r149_7(glval<float>) = VariableAddress[y] :
# 149| m149_8(float) = Store[y] : &:r149_7, r149_6
# 150| r150_1(glval<float>) = VariableAddress[x] :
# 150| r150_2(float) = Load[x] : &:r150_1, m149_5
# 150| r150_3(float) = Constant[1.0] :
# 150| r150_4(float) = Sub : r150_2, r150_3
# 150| m150_5(float) = Store[x] : &:r150_1, r150_4
# 150| r150_6(float) = CopyValue : r150_2
# 150| r150_7(glval<float>) = VariableAddress[y] :
# 150| m150_8(float) = Store[y] : &:r150_7, r150_6
# 151| v151_1(void) = NoOp :
# 144| v144_7(void) = ReturnVoid :
# 144| v144_8(void) = AliasedUse : m144_3
# 144| v144_9(void) = ExitFunction :
# 153| void PointerOps(int*, int)
# 153| Block 0
# 153| v153_1(void) = EnterFunction :
# 153| m153_2(unknown) = AliasedDefinition :
# 153| m153_3(unknown) = InitializeNonLocal :
# 153| m153_4(unknown) = Chi : total:m153_2, partial:m153_3
# 153| r153_5(glval<int *>) = VariableAddress[p] :
# 153| m153_6(int *) = InitializeParameter[p] : &:r153_5
# 153| r153_7(int *) = Load[p] : &:r153_5, m153_6
# 153| m153_8(unknown) = InitializeIndirection[p] : &:r153_7
# 153| r153_9(glval<int>) = VariableAddress[i] :
# 153| m153_10(int) = InitializeParameter[i] : &:r153_9
# 154| r154_1(glval<int *>) = VariableAddress[q] :
# 154| m154_2(int *) = Uninitialized[q] : &:r154_1
# 155| r155_1(glval<bool>) = VariableAddress[b] :
# 155| m155_2(bool) = Uninitialized[b] : &:r155_1
# 157| r157_1(glval<int *>) = VariableAddress[p] :
# 157| r157_2(int *) = Load[p] : &:r157_1, m153_6
# 157| r157_3(glval<int>) = VariableAddress[i] :
# 157| r157_4(int) = Load[i] : &:r157_3, m153_10
# 157| r157_5(int *) = PointerAdd[4] : r157_2, r157_4
# 157| r157_6(glval<int *>) = VariableAddress[q] :
# 157| m157_7(int *) = Store[q] : &:r157_6, r157_5
# 158| r158_1(glval<int>) = VariableAddress[i] :
# 158| r158_2(int) = Load[i] : &:r158_1, m153_10
# 158| r158_3(glval<int *>) = VariableAddress[p] :
# 158| r158_4(int *) = Load[p] : &:r158_3, m153_6
# 158| r158_5(int *) = PointerAdd[4] : r158_4, r158_2
# 158| r158_6(glval<int *>) = VariableAddress[q] :
# 158| m158_7(int *) = Store[q] : &:r158_6, r158_5
# 159| r159_1(glval<int *>) = VariableAddress[p] :
# 159| r159_2(int *) = Load[p] : &:r159_1, m153_6
# 159| r159_3(glval<int>) = VariableAddress[i] :
# 159| r159_4(int) = Load[i] : &:r159_3, m153_10
# 159| r159_5(int *) = PointerSub[4] : r159_2, r159_4
# 159| r159_6(glval<int *>) = VariableAddress[q] :
# 159| m159_7(int *) = Store[q] : &:r159_6, r159_5
# 160| r160_1(glval<int *>) = VariableAddress[p] :
# 160| r160_2(int *) = Load[p] : &:r160_1, m153_6
# 160| r160_3(glval<int *>) = VariableAddress[q] :
# 160| r160_4(int *) = Load[q] : &:r160_3, m159_7
# 160| r160_5(long) = PointerDiff[4] : r160_2, r160_4
# 160| r160_6(int) = Convert : r160_5
# 160| r160_7(glval<int>) = VariableAddress[i] :
# 160| m160_8(int) = Store[i] : &:r160_7, r160_6
# 162| r162_1(glval<int *>) = VariableAddress[p] :
# 162| r162_2(int *) = Load[p] : &:r162_1, m153_6
# 162| r162_3(glval<int *>) = VariableAddress[q] :
# 162| m162_4(int *) = Store[q] : &:r162_3, r162_2
# 164| r164_1(glval<int>) = VariableAddress[i] :
# 164| r164_2(int) = Load[i] : &:r164_1, m160_8
# 164| r164_3(glval<int *>) = VariableAddress[q] :
# 164| r164_4(int *) = Load[q] : &:r164_3, m162_4
# 164| r164_5(int *) = PointerAdd[4] : r164_4, r164_2
# 164| m164_6(int *) = Store[q] : &:r164_3, r164_5
# 165| r165_1(glval<int>) = VariableAddress[i] :
# 165| r165_2(int) = Load[i] : &:r165_1, m160_8
# 165| r165_3(glval<int *>) = VariableAddress[q] :
# 165| r165_4(int *) = Load[q] : &:r165_3, m164_6
# 165| r165_5(int *) = PointerSub[4] : r165_4, r165_2
# 165| m165_6(int *) = Store[q] : &:r165_3, r165_5
# 167| r167_1(glval<int *>) = VariableAddress[p] :
# 167| r167_2(int *) = Load[p] : &:r167_1, m153_6
# 167| r167_3(int *) = Constant[0] :
# 167| r167_4(bool) = CompareNE : r167_2, r167_3
# 167| r167_5(glval<bool>) = VariableAddress[b] :
# 167| m167_6(bool) = Store[b] : &:r167_5, r167_4
# 168| r168_1(glval<int *>) = VariableAddress[p] :
# 168| r168_2(int *) = Load[p] : &:r168_1, m153_6
# 168| r168_3(int *) = Constant[0] :
# 168| r168_4(bool) = CompareNE : r168_2, r168_3
# 168| r168_5(bool) = LogicalNot : r168_4
# 168| r168_6(glval<bool>) = VariableAddress[b] :
# 168| m168_7(bool) = Store[b] : &:r168_6, r168_5
# 169| v169_1(void) = NoOp :
# 153| v153_11(void) = ReturnIndirection[p] : &:r153_7, m153_8
# 153| v153_12(void) = ReturnVoid :
# 153| v153_13(void) = AliasedUse : m153_3
# 153| v153_14(void) = ExitFunction :
# 171| void ArrayAccess(int*, int)
# 171| Block 0
# 171| v171_1(void) = EnterFunction :
# 171| m171_2(unknown) = AliasedDefinition :
# 171| m171_3(unknown) = InitializeNonLocal :
# 171| m171_4(unknown) = Chi : total:m171_2, partial:m171_3
# 171| r171_5(glval<int *>) = VariableAddress[p] :
# 171| m171_6(int *) = InitializeParameter[p] : &:r171_5
# 171| r171_7(int *) = Load[p] : &:r171_5, m171_6
# 171| m171_8(unknown) = InitializeIndirection[p] : &:r171_7
# 171| r171_9(glval<int>) = VariableAddress[i] :
# 171| m171_10(int) = InitializeParameter[i] : &:r171_9
# 172| r172_1(glval<int>) = VariableAddress[x] :
# 172| m172_2(int) = Uninitialized[x] : &:r172_1
# 174| r174_1(glval<int *>) = VariableAddress[p] :
# 174| r174_2(int *) = Load[p] : &:r174_1, m171_6
# 174| r174_3(glval<int>) = VariableAddress[i] :
# 174| r174_4(int) = Load[i] : &:r174_3, m171_10
# 174| r174_5(glval<int>) = PointerAdd[4] : r174_2, r174_4
# 174| r174_6(int) = Load[?] : &:r174_5, ~m171_8
# 174| r174_7(glval<int>) = VariableAddress[x] :
# 174| m174_8(int) = Store[x] : &:r174_7, r174_6
# 175| r175_1(glval<int *>) = VariableAddress[p] :
# 175| r175_2(int *) = Load[p] : &:r175_1, m171_6
# 175| r175_3(glval<int>) = VariableAddress[i] :
# 175| r175_4(int) = Load[i] : &:r175_3, m171_10
# 175| r175_5(glval<int>) = PointerAdd[4] : r175_2, r175_4
# 175| r175_6(int) = Load[?] : &:r175_5, ~m171_8
# 175| r175_7(glval<int>) = VariableAddress[x] :
# 175| m175_8(int) = Store[x] : &:r175_7, r175_6
# 177| r177_1(glval<int>) = VariableAddress[x] :
# 177| r177_2(int) = Load[x] : &:r177_1, m175_8
# 177| r177_3(glval<int *>) = VariableAddress[p] :
# 177| r177_4(int *) = Load[p] : &:r177_3, m171_6
# 177| r177_5(glval<int>) = VariableAddress[i] :
# 177| r177_6(int) = Load[i] : &:r177_5, m171_10
# 177| r177_7(glval<int>) = PointerAdd[4] : r177_4, r177_6
# 177| m177_8(int) = Store[?] : &:r177_7, r177_2
# 177| m177_9(unknown) = Chi : total:m171_8, partial:m177_8
# 178| r178_1(glval<int>) = VariableAddress[x] :
# 178| r178_2(int) = Load[x] : &:r178_1, m175_8
# 178| r178_3(glval<int *>) = VariableAddress[p] :
# 178| r178_4(int *) = Load[p] : &:r178_3, m171_6
# 178| r178_5(glval<int>) = VariableAddress[i] :
# 178| r178_6(int) = Load[i] : &:r178_5, m171_10
# 178| r178_7(glval<int>) = PointerAdd[4] : r178_4, r178_6
# 178| m178_8(int) = Store[?] : &:r178_7, r178_2
# 178| m178_9(unknown) = Chi : total:m177_9, partial:m178_8
# 180| r180_1(glval<int[10]>) = VariableAddress[a] :
# 180| m180_2(int[10]) = Uninitialized[a] : &:r180_1
# 181| r181_1(glval<int[10]>) = VariableAddress[a] :
# 181| r181_2(int *) = Convert : r181_1
# 181| r181_3(glval<int>) = VariableAddress[i] :
# 181| r181_4(int) = Load[i] : &:r181_3, m171_10
# 181| r181_5(glval<int>) = PointerAdd[4] : r181_2, r181_4
# 181| r181_6(int) = Load[?] : &:r181_5, ~m180_2
# 181| r181_7(glval<int>) = VariableAddress[x] :
# 181| m181_8(int) = Store[x] : &:r181_7, r181_6
# 182| r182_1(glval<int[10]>) = VariableAddress[a] :
# 182| r182_2(int *) = Convert : r182_1
# 182| r182_3(glval<int>) = VariableAddress[i] :
# 182| r182_4(int) = Load[i] : &:r182_3, m171_10
# 182| r182_5(glval<int>) = PointerAdd[4] : r182_2, r182_4
# 182| r182_6(int) = Load[?] : &:r182_5, ~m180_2
# 182| r182_7(glval<int>) = VariableAddress[x] :
# 182| m182_8(int) = Store[x] : &:r182_7, r182_6
# 183| r183_1(glval<int>) = VariableAddress[x] :
# 183| r183_2(int) = Load[x] : &:r183_1, m182_8
# 183| r183_3(glval<int[10]>) = VariableAddress[a] :
# 183| r183_4(int *) = Convert : r183_3
# 183| r183_5(glval<int>) = VariableAddress[i] :
# 183| r183_6(int) = Load[i] : &:r183_5, m171_10
# 183| r183_7(glval<int>) = PointerAdd[4] : r183_4, r183_6
# 183| m183_8(int) = Store[?] : &:r183_7, r183_2
# 183| m183_9(int[10]) = Chi : total:m180_2, partial:m183_8
# 184| r184_1(glval<int>) = VariableAddress[x] :
# 184| r184_2(int) = Load[x] : &:r184_1, m182_8
# 184| r184_3(glval<int[10]>) = VariableAddress[a] :
# 184| r184_4(int *) = Convert : r184_3
# 184| r184_5(glval<int>) = VariableAddress[i] :
# 184| r184_6(int) = Load[i] : &:r184_5, m171_10
# 184| r184_7(glval<int>) = PointerAdd[4] : r184_4, r184_6
# 184| m184_8(int) = Store[?] : &:r184_7, r184_2
# 184| m184_9(int[10]) = Chi : total:m183_9, partial:m184_8
# 185| v185_1(void) = NoOp :
# 171| v171_11(void) = ReturnIndirection[p] : &:r171_7, m178_9
# 171| v171_12(void) = ReturnVoid :
# 171| v171_13(void) = AliasedUse : m171_3
# 171| v171_14(void) = ExitFunction :
# 187| void StringLiteral(int)
# 187| Block 0
# 187| v187_1(void) = EnterFunction :
# 187| m187_2(unknown) = AliasedDefinition :
# 187| m187_3(unknown) = InitializeNonLocal :
# 187| m187_4(unknown) = Chi : total:m187_2, partial:m187_3
# 187| r187_5(glval<int>) = VariableAddress[i] :
# 187| m187_6(int) = InitializeParameter[i] : &:r187_5
# 188| r188_1(glval<char>) = VariableAddress[c] :
# 188| r188_2(glval<char[4]>) = StringConstant["Foo"] :
# 188| r188_3(char *) = Convert : r188_2
# 188| r188_4(glval<int>) = VariableAddress[i] :
# 188| r188_5(int) = Load[i] : &:r188_4, m187_6
# 188| r188_6(glval<char>) = PointerAdd[1] : r188_3, r188_5
# 188| r188_7(char) = Load[?] : &:r188_6, ~m187_3
# 188| m188_8(char) = Store[c] : &:r188_1, r188_7
# 189| r189_1(glval<wchar_t *>) = VariableAddress[pwc] :
# 189| r189_2(glval<wchar_t[4]>) = StringConstant[L"Bar"] :
# 189| r189_3(wchar_t *) = Convert : r189_2
# 189| r189_4(wchar_t *) = Convert : r189_3
# 189| m189_5(wchar_t *) = Store[pwc] : &:r189_1, r189_4
# 190| r190_1(glval<wchar_t>) = VariableAddress[wc] :
# 190| r190_2(glval<wchar_t *>) = VariableAddress[pwc] :
# 190| r190_3(wchar_t *) = Load[pwc] : &:r190_2, m189_5
# 190| r190_4(glval<int>) = VariableAddress[i] :
# 190| r190_5(int) = Load[i] : &:r190_4, m187_6
# 190| r190_6(glval<wchar_t>) = PointerAdd[4] : r190_3, r190_5
# 190| r190_7(wchar_t) = Load[?] : &:r190_6, ~m187_3
# 190| m190_8(wchar_t) = Store[wc] : &:r190_1, r190_7
# 191| v191_1(void) = NoOp :
# 187| v187_7(void) = ReturnVoid :
# 187| v187_8(void) = AliasedUse : m187_3
# 187| v187_9(void) = ExitFunction :
# 193| void PointerCompare(int*, int*)
# 193| Block 0
# 193| v193_1(void) = EnterFunction :
# 193| m193_2(unknown) = AliasedDefinition :
# 193| m193_3(unknown) = InitializeNonLocal :
# 193| m193_4(unknown) = Chi : total:m193_2, partial:m193_3
# 193| r193_5(glval<int *>) = VariableAddress[p] :
# 193| m193_6(int *) = InitializeParameter[p] : &:r193_5
# 193| r193_7(int *) = Load[p] : &:r193_5, m193_6
# 193| m193_8(unknown) = InitializeIndirection[p] : &:r193_7
# 193| r193_9(glval<int *>) = VariableAddress[q] :
# 193| m193_10(int *) = InitializeParameter[q] : &:r193_9
# 193| r193_11(int *) = Load[q] : &:r193_9, m193_10
# 193| m193_12(unknown) = InitializeIndirection[q] : &:r193_11
# 194| r194_1(glval<bool>) = VariableAddress[b] :
# 194| m194_2(bool) = Uninitialized[b] : &:r194_1
# 196| r196_1(glval<int *>) = VariableAddress[p] :
# 196| r196_2(int *) = Load[p] : &:r196_1, m193_6
# 196| r196_3(glval<int *>) = VariableAddress[q] :
# 196| r196_4(int *) = Load[q] : &:r196_3, m193_10
# 196| r196_5(bool) = CompareEQ : r196_2, r196_4
# 196| r196_6(glval<bool>) = VariableAddress[b] :
# 196| m196_7(bool) = Store[b] : &:r196_6, r196_5
# 197| r197_1(glval<int *>) = VariableAddress[p] :
# 197| r197_2(int *) = Load[p] : &:r197_1, m193_6
# 197| r197_3(glval<int *>) = VariableAddress[q] :
# 197| r197_4(int *) = Load[q] : &:r197_3, m193_10
# 197| r197_5(bool) = CompareNE : r197_2, r197_4
# 197| r197_6(glval<bool>) = VariableAddress[b] :
# 197| m197_7(bool) = Store[b] : &:r197_6, r197_5
# 198| r198_1(glval<int *>) = VariableAddress[p] :
# 198| r198_2(int *) = Load[p] : &:r198_1, m193_6
# 198| r198_3(glval<int *>) = VariableAddress[q] :
# 198| r198_4(int *) = Load[q] : &:r198_3, m193_10
# 198| r198_5(bool) = CompareLT : r198_2, r198_4
# 198| r198_6(glval<bool>) = VariableAddress[b] :
# 198| m198_7(bool) = Store[b] : &:r198_6, r198_5
# 199| r199_1(glval<int *>) = VariableAddress[p] :
# 199| r199_2(int *) = Load[p] : &:r199_1, m193_6
# 199| r199_3(glval<int *>) = VariableAddress[q] :
# 199| r199_4(int *) = Load[q] : &:r199_3, m193_10
# 199| r199_5(bool) = CompareGT : r199_2, r199_4
# 199| r199_6(glval<bool>) = VariableAddress[b] :
# 199| m199_7(bool) = Store[b] : &:r199_6, r199_5
# 200| r200_1(glval<int *>) = VariableAddress[p] :
# 200| r200_2(int *) = Load[p] : &:r200_1, m193_6
# 200| r200_3(glval<int *>) = VariableAddress[q] :
# 200| r200_4(int *) = Load[q] : &:r200_3, m193_10
# 200| r200_5(bool) = CompareLE : r200_2, r200_4
# 200| r200_6(glval<bool>) = VariableAddress[b] :
# 200| m200_7(bool) = Store[b] : &:r200_6, r200_5
# 201| r201_1(glval<int *>) = VariableAddress[p] :
# 201| r201_2(int *) = Load[p] : &:r201_1, m193_6
# 201| r201_3(glval<int *>) = VariableAddress[q] :
# 201| r201_4(int *) = Load[q] : &:r201_3, m193_10
# 201| r201_5(bool) = CompareGE : r201_2, r201_4
# 201| r201_6(glval<bool>) = VariableAddress[b] :
# 201| m201_7(bool) = Store[b] : &:r201_6, r201_5
# 202| v202_1(void) = NoOp :
# 193| v193_13(void) = ReturnIndirection[p] : &:r193_7, m193_8
# 193| v193_14(void) = ReturnIndirection[q] : &:r193_11, m193_12
# 193| v193_15(void) = ReturnVoid :
# 193| v193_16(void) = AliasedUse : m193_3
# 193| v193_17(void) = ExitFunction :
# 204| void PointerCrement(int*)
# 204| Block 0
# 204| v204_1(void) = EnterFunction :
# 204| m204_2(unknown) = AliasedDefinition :
# 204| m204_3(unknown) = InitializeNonLocal :
# 204| m204_4(unknown) = Chi : total:m204_2, partial:m204_3
# 204| r204_5(glval<int *>) = VariableAddress[p] :
# 204| m204_6(int *) = InitializeParameter[p] : &:r204_5
# 204| r204_7(int *) = Load[p] : &:r204_5, m204_6
# 204| m204_8(unknown) = InitializeIndirection[p] : &:r204_7
# 205| r205_1(glval<int *>) = VariableAddress[q] :
# 205| m205_2(int *) = Uninitialized[q] : &:r205_1
# 207| r207_1(glval<int *>) = VariableAddress[p] :
# 207| r207_2(int *) = Load[p] : &:r207_1, m204_6
# 207| r207_3(int) = Constant[1] :
# 207| r207_4(int *) = PointerAdd[4] : r207_2, r207_3
# 207| m207_5(int *) = Store[p] : &:r207_1, r207_4
# 207| r207_6(int *) = Load[p] : &:r207_1, m207_5
# 207| r207_7(glval<int *>) = VariableAddress[q] :
# 207| m207_8(int *) = Store[q] : &:r207_7, r207_6
# 208| r208_1(glval<int *>) = VariableAddress[p] :
# 208| r208_2(int *) = Load[p] : &:r208_1, m207_5
# 208| r208_3(int) = Constant[1] :
# 208| r208_4(int *) = PointerSub[4] : r208_2, r208_3
# 208| m208_5(int *) = Store[p] : &:r208_1, r208_4
# 208| r208_6(int *) = Load[p] : &:r208_1, m208_5
# 208| r208_7(glval<int *>) = VariableAddress[q] :
# 208| m208_8(int *) = Store[q] : &:r208_7, r208_6
# 209| r209_1(glval<int *>) = VariableAddress[p] :
# 209| r209_2(int *) = Load[p] : &:r209_1, m208_5
# 209| r209_3(int) = Constant[1] :
# 209| r209_4(int *) = PointerAdd[4] : r209_2, r209_3
# 209| m209_5(int *) = Store[p] : &:r209_1, r209_4
# 209| r209_6(int *) = CopyValue : r209_2
# 209| r209_7(glval<int *>) = VariableAddress[q] :
# 209| m209_8(int *) = Store[q] : &:r209_7, r209_6
# 210| r210_1(glval<int *>) = VariableAddress[p] :
# 210| r210_2(int *) = Load[p] : &:r210_1, m209_5
# 210| r210_3(int) = Constant[1] :
# 210| r210_4(int *) = PointerSub[4] : r210_2, r210_3
# 210| m210_5(int *) = Store[p] : &:r210_1, r210_4
# 210| r210_6(int *) = CopyValue : r210_2
# 210| r210_7(glval<int *>) = VariableAddress[q] :
# 210| m210_8(int *) = Store[q] : &:r210_7, r210_6
# 211| v211_1(void) = NoOp :
# 204| v204_9(void) = ReturnIndirection[p] : &:r204_7, m204_8
# 204| v204_10(void) = ReturnVoid :
# 204| v204_11(void) = AliasedUse : m204_3
# 204| v204_12(void) = ExitFunction :
# 213| void CompoundAssignment()
# 213| Block 0
# 213| v213_1(void) = EnterFunction :
# 213| m213_2(unknown) = AliasedDefinition :
# 213| m213_3(unknown) = InitializeNonLocal :
# 213| m213_4(unknown) = Chi : total:m213_2, partial:m213_3
# 215| r215_1(glval<int>) = VariableAddress[x] :
# 215| r215_2(int) = Constant[5] :
# 215| m215_3(int) = Store[x] : &:r215_1, r215_2
# 216| r216_1(int) = Constant[7] :
# 216| r216_2(glval<int>) = VariableAddress[x] :
# 216| r216_3(int) = Load[x] : &:r216_2, m215_3
# 216| r216_4(int) = Add : r216_3, r216_1
# 216| m216_5(int) = Store[x] : &:r216_2, r216_4
# 219| r219_1(glval<short>) = VariableAddress[y] :
# 219| r219_2(short) = Constant[5] :
# 219| m219_3(short) = Store[y] : &:r219_1, r219_2
# 220| r220_1(glval<int>) = VariableAddress[x] :
# 220| r220_2(int) = Load[x] : &:r220_1, m216_5
# 220| r220_3(glval<short>) = VariableAddress[y] :
# 220| r220_4(short) = Load[y] : &:r220_3, m219_3
# 220| r220_5(int) = Convert : r220_4
# 220| r220_6(int) = Add : r220_5, r220_2
# 220| r220_7(short) = Convert : r220_6
# 220| m220_8(short) = Store[y] : &:r220_3, r220_7
# 223| r223_1(int) = Constant[1] :
# 223| r223_2(glval<short>) = VariableAddress[y] :
# 223| r223_3(short) = Load[y] : &:r223_2, m220_8
# 223| r223_4(short) = ShiftLeft : r223_3, r223_1
# 223| m223_5(short) = Store[y] : &:r223_2, r223_4
# 226| r226_1(glval<long>) = VariableAddress[z] :
# 226| r226_2(long) = Constant[7] :
# 226| m226_3(long) = Store[z] : &:r226_1, r226_2
# 227| r227_1(float) = Constant[2.0] :
# 227| r227_2(glval<long>) = VariableAddress[z] :
# 227| r227_3(long) = Load[z] : &:r227_2, m226_3
# 227| r227_4(float) = Convert : r227_3
# 227| r227_5(float) = Add : r227_4, r227_1
# 227| r227_6(long) = Convert : r227_5
# 227| m227_7(long) = Store[z] : &:r227_2, r227_6
# 228| v228_1(void) = NoOp :
# 213| v213_5(void) = ReturnVoid :
# 213| v213_6(void) = AliasedUse : m213_3
# 213| v213_7(void) = ExitFunction :
# 230| void UninitializedVariables()
# 230| Block 0
# 230| v230_1(void) = EnterFunction :
# 230| m230_2(unknown) = AliasedDefinition :
# 230| m230_3(unknown) = InitializeNonLocal :
# 230| m230_4(unknown) = Chi : total:m230_2, partial:m230_3
# 231| r231_1(glval<int>) = VariableAddress[x] :
# 231| m231_2(int) = Uninitialized[x] : &:r231_1
# 232| r232_1(glval<int>) = VariableAddress[y] :
# 232| r232_2(glval<int>) = VariableAddress[x] :
# 232| r232_3(int) = Load[x] : &:r232_2, m231_2
# 232| m232_4(int) = Store[y] : &:r232_1, r232_3
# 233| v233_1(void) = NoOp :
# 230| v230_5(void) = ReturnVoid :
# 230| v230_6(void) = AliasedUse : m230_3
# 230| v230_7(void) = ExitFunction :
# 235| int Parameters(int, int)
# 235| Block 0
# 235| v235_1(void) = EnterFunction :
# 235| m235_2(unknown) = AliasedDefinition :
# 235| m235_3(unknown) = InitializeNonLocal :
# 235| m235_4(unknown) = Chi : total:m235_2, partial:m235_3
# 235| r235_5(glval<int>) = VariableAddress[x] :
# 235| m235_6(int) = InitializeParameter[x] : &:r235_5
# 235| r235_7(glval<int>) = VariableAddress[y] :
# 235| m235_8(int) = InitializeParameter[y] : &:r235_7
# 236| r236_1(glval<int>) = VariableAddress[#return] :
# 236| r236_2(glval<int>) = VariableAddress[x] :
# 236| r236_3(int) = Load[x] : &:r236_2, m235_6
# 236| r236_4(glval<int>) = VariableAddress[y] :
# 236| r236_5(int) = Load[y] : &:r236_4, m235_8
# 236| r236_6(int) = Rem : r236_3, r236_5
# 236| m236_7(int) = Store[#return] : &:r236_1, r236_6
# 235| r235_9(glval<int>) = VariableAddress[#return] :
# 235| v235_10(void) = ReturnValue : &:r235_9, m236_7
# 235| v235_11(void) = AliasedUse : m235_3
# 235| v235_12(void) = ExitFunction :
# 239| void IfStatements(bool, int, int)
# 239| Block 0
# 239| v239_1(void) = EnterFunction :
# 239| m239_2(unknown) = AliasedDefinition :
# 239| m239_3(unknown) = InitializeNonLocal :
# 239| m239_4(unknown) = Chi : total:m239_2, partial:m239_3
# 239| r239_5(glval<bool>) = VariableAddress[b] :
# 239| m239_6(bool) = InitializeParameter[b] : &:r239_5
# 239| r239_7(glval<int>) = VariableAddress[x] :
# 239| m239_8(int) = InitializeParameter[x] : &:r239_7
# 239| r239_9(glval<int>) = VariableAddress[y] :
# 239| m239_10(int) = InitializeParameter[y] : &:r239_9
# 240| r240_1(glval<bool>) = VariableAddress[b] :
# 240| r240_2(bool) = Load[b] : &:r240_1, m239_6
# 240| v240_3(void) = ConditionalBranch : r240_2
#-----| False -> Block 2
#-----| True -> Block 1
# 240| Block 1
# 240| v240_4(void) = NoOp :
#-----| Goto -> Block 2
# 243| Block 2
# 243| r243_1(glval<bool>) = VariableAddress[b] :
# 243| r243_2(bool) = Load[b] : &:r243_1, m239_6
# 243| v243_3(void) = ConditionalBranch : r243_2
#-----| False -> Block 4
#-----| True -> Block 3
# 244| Block 3
# 244| r244_1(glval<int>) = VariableAddress[y] :
# 244| r244_2(int) = Load[y] : &:r244_1, m239_10
# 244| r244_3(glval<int>) = VariableAddress[x] :
# 244| m244_4(int) = Store[x] : &:r244_3, r244_2
#-----| Goto -> Block 4
# 247| Block 4
# 247| m247_1(int) = Phi : from 2:m239_8, from 3:m244_4
# 247| r247_2(glval<int>) = VariableAddress[x] :
# 247| r247_3(int) = Load[x] : &:r247_2, m247_1
# 247| r247_4(int) = Constant[7] :
# 247| r247_5(bool) = CompareLT : r247_3, r247_4
# 247| v247_6(void) = ConditionalBranch : r247_5
#-----| False -> Block 6
#-----| True -> Block 5
# 248| Block 5
# 248| r248_1(int) = Constant[2] :
# 248| r248_2(glval<int>) = VariableAddress[x] :
# 248| m248_3(int) = Store[x] : &:r248_2, r248_1
#-----| Goto -> Block 7
# 250| Block 6
# 250| r250_1(int) = Constant[7] :
# 250| r250_2(glval<int>) = VariableAddress[x] :
# 250| m250_3(int) = Store[x] : &:r250_2, r250_1
#-----| Goto -> Block 7
# 251| Block 7
# 251| v251_1(void) = NoOp :
# 239| v239_11(void) = ReturnVoid :
# 239| v239_12(void) = AliasedUse : m239_3
# 239| v239_13(void) = ExitFunction :
# 253| void WhileStatements(int)
# 253| Block 0
# 253| v253_1(void) = EnterFunction :
# 253| m253_2(unknown) = AliasedDefinition :
# 253| m253_3(unknown) = InitializeNonLocal :
# 253| m253_4(unknown) = Chi : total:m253_2, partial:m253_3
# 253| r253_5(glval<int>) = VariableAddress[n] :
# 253| m253_6(int) = InitializeParameter[n] : &:r253_5
#-----| Goto -> Block 1
# 254| Block 1
# 254| m254_1(int) = Phi : from 0:m253_6, from 2:m255_5
# 254| r254_2(glval<int>) = VariableAddress[n] :
# 254| r254_3(int) = Load[n] : &:r254_2, m254_1
# 254| r254_4(int) = Constant[0] :
# 254| r254_5(bool) = CompareGT : r254_3, r254_4
# 254| v254_6(void) = ConditionalBranch : r254_5
#-----| False -> Block 3
#-----| True -> Block 2
# 255| Block 2
# 255| r255_1(int) = Constant[1] :
# 255| r255_2(glval<int>) = VariableAddress[n] :
# 255| r255_3(int) = Load[n] : &:r255_2, m254_1
# 255| r255_4(int) = Sub : r255_3, r255_1
# 255| m255_5(int) = Store[n] : &:r255_2, r255_4
#-----| Goto (back edge) -> Block 1
# 257| Block 3
# 257| v257_1(void) = NoOp :
# 253| v253_7(void) = ReturnVoid :
# 253| v253_8(void) = AliasedUse : m253_3
# 253| v253_9(void) = ExitFunction :
# 259| void DoStatements(int)
# 259| Block 0
# 259| v259_1(void) = EnterFunction :
# 259| m259_2(unknown) = AliasedDefinition :
# 259| m259_3(unknown) = InitializeNonLocal :
# 259| m259_4(unknown) = Chi : total:m259_2, partial:m259_3
# 259| r259_5(glval<int>) = VariableAddress[n] :
# 259| m259_6(int) = InitializeParameter[n] : &:r259_5
#-----| Goto -> Block 1
# 261| Block 1
# 261| m261_1(int) = Phi : from 0:m259_6, from 1:m261_6
# 261| r261_2(int) = Constant[1] :
# 261| r261_3(glval<int>) = VariableAddress[n] :
# 261| r261_4(int) = Load[n] : &:r261_3, m261_1
# 261| r261_5(int) = Sub : r261_4, r261_2
# 261| m261_6(int) = Store[n] : &:r261_3, r261_5
# 262| r262_1(glval<int>) = VariableAddress[n] :
# 262| r262_2(int) = Load[n] : &:r262_1, m261_6
# 262| r262_3(int) = Constant[0] :
# 262| r262_4(bool) = CompareGT : r262_2, r262_3
# 262| v262_5(void) = ConditionalBranch : r262_4
#-----| False -> Block 2
#-----| True (back edge) -> Block 1
# 263| Block 2
# 263| v263_1(void) = NoOp :
# 259| v259_7(void) = ReturnVoid :
# 259| v259_8(void) = AliasedUse : m259_3
# 259| v259_9(void) = ExitFunction :
# 265| void For_Empty()
# 265| Block 0
# 265| v265_1(void) = EnterFunction :
# 265| m265_2(unknown) = AliasedDefinition :
# 265| m265_3(unknown) = InitializeNonLocal :
# 265| m265_4(unknown) = Chi : total:m265_2, partial:m265_3
# 266| r266_1(glval<int>) = VariableAddress[j] :
# 266| m266_2(int) = Uninitialized[j] : &:r266_1
#-----| Goto -> Block 1
# 268| Block 1
# 268| v268_1(void) = NoOp :
#-----| Goto (back edge) -> Block 1
# 272| void For_Init()
# 272| Block 0
# 272| v272_1(void) = EnterFunction :
# 272| m272_2(unknown) = AliasedDefinition :
# 272| m272_3(unknown) = InitializeNonLocal :
# 272| m272_4(unknown) = Chi : total:m272_2, partial:m272_3
# 273| r273_1(glval<int>) = VariableAddress[i] :
# 273| r273_2(int) = Constant[0] :
# 273| m273_3(int) = Store[i] : &:r273_1, r273_2
#-----| Goto -> Block 1
# 274| Block 1
# 274| v274_1(void) = NoOp :
#-----| Goto (back edge) -> Block 1
# 278| void For_Condition()
# 278| Block 0
# 278| v278_1(void) = EnterFunction :
# 278| m278_2(unknown) = AliasedDefinition :
# 278| m278_3(unknown) = InitializeNonLocal :
# 278| m278_4(unknown) = Chi : total:m278_2, partial:m278_3
# 279| r279_1(glval<int>) = VariableAddress[i] :
# 279| r279_2(int) = Constant[0] :
# 279| m279_3(int) = Store[i] : &:r279_1, r279_2
#-----| Goto -> Block 1
# 280| Block 1
# 280| r280_1(glval<int>) = VariableAddress[i] :
# 280| r280_2(int) = Load[i] : &:r280_1, m279_3
# 280| r280_3(int) = Constant[10] :
# 280| r280_4(bool) = CompareLT : r280_2, r280_3
# 280| v280_5(void) = ConditionalBranch : r280_4
#-----| False -> Block 3
#-----| True -> Block 2
# 281| Block 2
# 281| v281_1(void) = NoOp :
#-----| Goto (back edge) -> Block 1
# 278| Block 3
# 278| v278_5(void) = Unreached :
# 285| void For_Update()
# 285| Block 0
# 285| v285_1(void) = EnterFunction :
# 285| m285_2(unknown) = AliasedDefinition :
# 285| m285_3(unknown) = InitializeNonLocal :
# 285| m285_4(unknown) = Chi : total:m285_2, partial:m285_3
# 286| r286_1(glval<int>) = VariableAddress[i] :
# 286| r286_2(int) = Constant[0] :
# 286| m286_3(int) = Store[i] : &:r286_1, r286_2
#-----| Goto -> Block 1
# 288| Block 1
# 288| m288_1(int) = Phi : from 0:m286_3, from 1:m287_5
# 288| v288_2(void) = NoOp :
# 287| r287_1(int) = Constant[1] :
# 287| r287_2(glval<int>) = VariableAddress[i] :
# 287| r287_3(int) = Load[i] : &:r287_2, m288_1
# 287| r287_4(int) = Add : r287_3, r287_1
# 287| m287_5(int) = Store[i] : &:r287_2, r287_4
#-----| Goto (back edge) -> Block 1
# 292| void For_InitCondition()
# 292| Block 0
# 292| v292_1(void) = EnterFunction :
# 292| m292_2(unknown) = AliasedDefinition :
# 292| m292_3(unknown) = InitializeNonLocal :
# 292| m292_4(unknown) = Chi : total:m292_2, partial:m292_3
# 293| r293_1(glval<int>) = VariableAddress[i] :
# 293| r293_2(int) = Constant[0] :
# 293| m293_3(int) = Store[i] : &:r293_1, r293_2
#-----| Goto -> Block 1
# 293| Block 1
# 293| r293_4(glval<int>) = VariableAddress[i] :
# 293| r293_5(int) = Load[i] : &:r293_4, m293_3
# 293| r293_6(int) = Constant[10] :
# 293| r293_7(bool) = CompareLT : r293_5, r293_6
# 293| v293_8(void) = ConditionalBranch : r293_7
#-----| False -> Block 3
#-----| True -> Block 2
# 294| Block 2
# 294| v294_1(void) = NoOp :
#-----| Goto (back edge) -> Block 1
# 292| Block 3
# 292| v292_5(void) = Unreached :
# 298| void For_InitUpdate()
# 298| Block 0
# 298| v298_1(void) = EnterFunction :
# 298| m298_2(unknown) = AliasedDefinition :
# 298| m298_3(unknown) = InitializeNonLocal :
# 298| m298_4(unknown) = Chi : total:m298_2, partial:m298_3
# 299| r299_1(glval<int>) = VariableAddress[i] :
# 299| r299_2(int) = Constant[0] :
# 299| m299_3(int) = Store[i] : &:r299_1, r299_2
#-----| Goto -> Block 1
# 300| Block 1
# 300| m300_1(int) = Phi : from 0:m299_3, from 1:m299_8
# 300| v300_2(void) = NoOp :
# 299| r299_4(int) = Constant[1] :
# 299| r299_5(glval<int>) = VariableAddress[i] :
# 299| r299_6(int) = Load[i] : &:r299_5, m300_1
# 299| r299_7(int) = Add : r299_6, r299_4
# 299| m299_8(int) = Store[i] : &:r299_5, r299_7
#-----| Goto (back edge) -> Block 1
# 304| void For_ConditionUpdate()
# 304| Block 0
# 304| v304_1(void) = EnterFunction :
# 304| m304_2(unknown) = AliasedDefinition :
# 304| m304_3(unknown) = InitializeNonLocal :
# 304| m304_4(unknown) = Chi : total:m304_2, partial:m304_3
# 305| r305_1(glval<int>) = VariableAddress[i] :
# 305| r305_2(int) = Constant[0] :
# 305| m305_3(int) = Store[i] : &:r305_1, r305_2
#-----| Goto -> Block 1
# 306| Block 1
# 306| m306_1(int) = Phi : from 0:m305_3, from 2:m306_11
# 306| r306_2(glval<int>) = VariableAddress[i] :
# 306| r306_3(int) = Load[i] : &:r306_2, m306_1
# 306| r306_4(int) = Constant[10] :
# 306| r306_5(bool) = CompareLT : r306_3, r306_4
# 306| v306_6(void) = ConditionalBranch : r306_5
#-----| False -> Block 3
#-----| True -> Block 2
# 307| Block 2
# 307| v307_1(void) = NoOp :
# 306| r306_7(int) = Constant[1] :
# 306| r306_8(glval<int>) = VariableAddress[i] :
# 306| r306_9(int) = Load[i] : &:r306_8, m306_1
# 306| r306_10(int) = Add : r306_9, r306_7
# 306| m306_11(int) = Store[i] : &:r306_8, r306_10
#-----| Goto (back edge) -> Block 1
# 309| Block 3
# 309| v309_1(void) = NoOp :
# 304| v304_5(void) = ReturnVoid :
# 304| v304_6(void) = AliasedUse : m304_3
# 304| v304_7(void) = ExitFunction :
# 311| void For_InitConditionUpdate()
# 311| Block 0
# 311| v311_1(void) = EnterFunction :
# 311| m311_2(unknown) = AliasedDefinition :
# 311| m311_3(unknown) = InitializeNonLocal :
# 311| m311_4(unknown) = Chi : total:m311_2, partial:m311_3
# 312| r312_1(glval<int>) = VariableAddress[i] :
# 312| r312_2(int) = Constant[0] :
# 312| m312_3(int) = Store[i] : &:r312_1, r312_2
#-----| Goto -> Block 1
# 312| Block 1
# 312| m312_4(int) = Phi : from 0:m312_3, from 2:m312_14
# 312| r312_5(glval<int>) = VariableAddress[i] :
# 312| r312_6(int) = Load[i] : &:r312_5, m312_4
# 312| r312_7(int) = Constant[10] :
# 312| r312_8(bool) = CompareLT : r312_6, r312_7
# 312| v312_9(void) = ConditionalBranch : r312_8
#-----| False -> Block 3
#-----| True -> Block 2
# 313| Block 2
# 313| v313_1(void) = NoOp :
# 312| r312_10(int) = Constant[1] :
# 312| r312_11(glval<int>) = VariableAddress[i] :
# 312| r312_12(int) = Load[i] : &:r312_11, m312_4
# 312| r312_13(int) = Add : r312_12, r312_10
# 312| m312_14(int) = Store[i] : &:r312_11, r312_13
#-----| Goto (back edge) -> Block 1
# 315| Block 3
# 315| v315_1(void) = NoOp :
# 311| v311_5(void) = ReturnVoid :
# 311| v311_6(void) = AliasedUse : m311_3
# 311| v311_7(void) = ExitFunction :
# 317| void For_Break()
# 317| Block 0
# 317| v317_1(void) = EnterFunction :
# 317| m317_2(unknown) = AliasedDefinition :
# 317| m317_3(unknown) = InitializeNonLocal :
# 317| m317_4(unknown) = Chi : total:m317_2, partial:m317_3
# 318| r318_1(glval<int>) = VariableAddress[i] :
# 318| r318_2(int) = Constant[0] :
# 318| m318_3(int) = Store[i] : &:r318_1, r318_2
#-----| Goto -> Block 1
# 318| Block 1
# 318| m318_4(int) = Phi : from 0:m318_3, from 2:m318_14
# 318| r318_5(glval<int>) = VariableAddress[i] :
# 318| r318_6(int) = Load[i] : &:r318_5, m318_4
# 318| r318_7(int) = Constant[10] :
# 318| r318_8(bool) = CompareLT : r318_6, r318_7
# 318| v318_9(void) = ConditionalBranch : r318_8
#-----| False -> Block 5
#-----| True -> Block 3
# 318| Block 2
# 318| r318_10(int) = Constant[1] :
# 318| r318_11(glval<int>) = VariableAddress[i] :
# 318| r318_12(int) = Load[i] : &:r318_11, m318_4
# 318| r318_13(int) = Add : r318_12, r318_10
# 318| m318_14(int) = Store[i] : &:r318_11, r318_13
#-----| Goto (back edge) -> Block 1
# 319| Block 3
# 319| r319_1(glval<int>) = VariableAddress[i] :
# 319| r319_2(int) = Load[i] : &:r319_1, m318_4
# 319| r319_3(int) = Constant[5] :
# 319| r319_4(bool) = CompareEQ : r319_2, r319_3
# 319| v319_5(void) = ConditionalBranch : r319_4
#-----| False -> Block 2
#-----| True -> Block 4
# 320| Block 4
# 320| v320_1(void) = NoOp :
#-----| Goto -> Block 5
# 322| Block 5
# 322| v322_1(void) = NoOp :
# 323| v323_1(void) = NoOp :
# 317| v317_5(void) = ReturnVoid :
# 317| v317_6(void) = AliasedUse : m317_3
# 317| v317_7(void) = ExitFunction :
# 325| void For_Continue_Update()
# 325| Block 0
# 325| v325_1(void) = EnterFunction :
# 325| m325_2(unknown) = AliasedDefinition :
# 325| m325_3(unknown) = InitializeNonLocal :
# 325| m325_4(unknown) = Chi : total:m325_2, partial:m325_3
# 326| r326_1(glval<int>) = VariableAddress[i] :
# 326| r326_2(int) = Constant[0] :
# 326| m326_3(int) = Store[i] : &:r326_1, r326_2
#-----| Goto -> Block 1
# 326| Block 1
# 326| m326_4(int) = Phi : from 0:m326_3, from 4:m326_15
# 326| r326_5(glval<int>) = VariableAddress[i] :
# 326| r326_6(int) = Load[i] : &:r326_5, m326_4
# 326| r326_7(int) = Constant[10] :
# 326| r326_8(bool) = CompareLT : r326_6, r326_7
# 326| v326_9(void) = ConditionalBranch : r326_8
#-----| False -> Block 5
#-----| True -> Block 2
# 327| Block 2
# 327| r327_1(glval<int>) = VariableAddress[i] :
# 327| r327_2(int) = Load[i] : &:r327_1, m326_4
# 327| r327_3(int) = Constant[5] :
# 327| r327_4(bool) = CompareEQ : r327_2, r327_3
# 327| v327_5(void) = ConditionalBranch : r327_4
#-----| False -> Block 4
#-----| True -> Block 3
# 328| Block 3
# 328| v328_1(void) = NoOp :
#-----| Goto -> Block 4
# 326| Block 4
# 326| v326_10(void) = NoOp :
# 326| r326_11(int) = Constant[1] :
# 326| r326_12(glval<int>) = VariableAddress[i] :
# 326| r326_13(int) = Load[i] : &:r326_12, m326_4
# 326| r326_14(int) = Add : r326_13, r326_11
# 326| m326_15(int) = Store[i] : &:r326_12, r326_14
#-----| Goto (back edge) -> Block 1
# 331| Block 5
# 331| v331_1(void) = NoOp :
# 325| v325_5(void) = ReturnVoid :
# 325| v325_6(void) = AliasedUse : m325_3
# 325| v325_7(void) = ExitFunction :
# 333| void For_Continue_NoUpdate()
# 333| Block 0
# 333| v333_1(void) = EnterFunction :
# 333| m333_2(unknown) = AliasedDefinition :
# 333| m333_3(unknown) = InitializeNonLocal :
# 333| m333_4(unknown) = Chi : total:m333_2, partial:m333_3
# 334| r334_1(glval<int>) = VariableAddress[i] :
# 334| r334_2(int) = Constant[0] :
# 334| m334_3(int) = Store[i] : &:r334_1, r334_2
#-----| Goto -> Block 1
# 334| Block 1
# 334| r334_4(glval<int>) = VariableAddress[i] :
# 334| r334_5(int) = Load[i] : &:r334_4, m334_3
# 334| r334_6(int) = Constant[10] :
# 334| r334_7(bool) = CompareLT : r334_5, r334_6
# 334| v334_8(void) = ConditionalBranch : r334_7
#-----| False -> Block 4
#-----| True -> Block 2
# 335| Block 2
# 335| r335_1(glval<int>) = VariableAddress[i] :
# 335| r335_2(int) = Load[i] : &:r335_1, m334_3
# 335| r335_3(int) = Constant[5] :
# 335| r335_4(bool) = CompareEQ : r335_2, r335_3
# 335| v335_5(void) = ConditionalBranch : r335_4
#-----| False -> Block 3
#-----| True -> Block 4
# 334| Block 3
# 334| v334_9(void) = NoOp :
#-----| Goto (back edge) -> Block 1
# 333| Block 4
# 333| v333_5(void) = Unreached :
# 341| int Dereference(int*)
# 341| Block 0
# 341| v341_1(void) = EnterFunction :
# 341| m341_2(unknown) = AliasedDefinition :
# 341| m341_3(unknown) = InitializeNonLocal :
# 341| m341_4(unknown) = Chi : total:m341_2, partial:m341_3
# 341| r341_5(glval<int *>) = VariableAddress[p] :
# 341| m341_6(int *) = InitializeParameter[p] : &:r341_5
# 341| r341_7(int *) = Load[p] : &:r341_5, m341_6
# 341| m341_8(unknown) = InitializeIndirection[p] : &:r341_7
# 342| r342_1(int) = Constant[1] :
# 342| r342_2(glval<int *>) = VariableAddress[p] :
# 342| r342_3(int *) = Load[p] : &:r342_2, m341_6
# 342| r342_4(glval<int>) = CopyValue : r342_3
# 342| m342_5(int) = Store[?] : &:r342_4, r342_1
# 342| m342_6(unknown) = Chi : total:m341_8, partial:m342_5
# 343| r343_1(glval<int>) = VariableAddress[#return] :
# 343| r343_2(glval<int *>) = VariableAddress[p] :
# 343| r343_3(int *) = Load[p] : &:r343_2, m341_6
# 343| r343_4(int) = Load[?] : &:r343_3, m342_5
# 343| m343_5(int) = Store[#return] : &:r343_1, r343_4
# 341| v341_9(void) = ReturnIndirection[p] : &:r341_7, m342_6
# 341| r341_10(glval<int>) = VariableAddress[#return] :
# 341| v341_11(void) = ReturnValue : &:r341_10, m343_5
# 341| v341_12(void) = AliasedUse : m341_3
# 341| v341_13(void) = ExitFunction :
# 348| int* AddressOf()
# 348| Block 0
# 348| v348_1(void) = EnterFunction :
# 348| m348_2(unknown) = AliasedDefinition :
# 348| m348_3(unknown) = InitializeNonLocal :
# 348| m348_4(unknown) = Chi : total:m348_2, partial:m348_3
# 349| r349_1(glval<int *>) = VariableAddress[#return] :
# 349| r349_2(glval<int>) = VariableAddress[g] :
# 349| r349_3(int *) = CopyValue : r349_2
# 349| m349_4(int *) = Store[#return] : &:r349_1, r349_3
# 348| r348_5(glval<int *>) = VariableAddress[#return] :
# 348| v348_6(void) = ReturnValue : &:r348_5, m349_4
# 348| v348_7(void) = AliasedUse : m348_3
# 348| v348_8(void) = ExitFunction :
# 352| void Break(int)
# 352| Block 0
# 352| v352_1(void) = EnterFunction :
# 352| m352_2(unknown) = AliasedDefinition :
# 352| m352_3(unknown) = InitializeNonLocal :
# 352| m352_4(unknown) = Chi : total:m352_2, partial:m352_3
# 352| r352_5(glval<int>) = VariableAddress[n] :
# 352| m352_6(int) = InitializeParameter[n] : &:r352_5
#-----| Goto -> Block 1
# 353| Block 1
# 353| m353_1(int) = Phi : from 0:m352_6, from 4:m356_5
# 353| r353_2(glval<int>) = VariableAddress[n] :
# 353| r353_3(int) = Load[n] : &:r353_2, m353_1
# 353| r353_4(int) = Constant[0] :
# 353| r353_5(bool) = CompareGT : r353_3, r353_4
# 353| v353_6(void) = ConditionalBranch : r353_5
#-----| False -> Block 5
#-----| True -> Block 2
# 354| Block 2
# 354| r354_1(glval<int>) = VariableAddress[n] :
# 354| r354_2(int) = Load[n] : &:r354_1, m353_1
# 354| r354_3(int) = Constant[1] :
# 354| r354_4(bool) = CompareEQ : r354_2, r354_3
# 354| v354_5(void) = ConditionalBranch : r354_4
#-----| False -> Block 4
#-----| True -> Block 3
# 355| Block 3
# 355| v355_1(void) = NoOp :
#-----| Goto -> Block 5
# 356| Block 4
# 356| r356_1(int) = Constant[1] :
# 356| r356_2(glval<int>) = VariableAddress[n] :
# 356| r356_3(int) = Load[n] : &:r356_2, m353_1
# 356| r356_4(int) = Sub : r356_3, r356_1
# 356| m356_5(int) = Store[n] : &:r356_2, r356_4
#-----| Goto (back edge) -> Block 1
# 357| Block 5
# 357| v357_1(void) = NoOp :
# 358| v358_1(void) = NoOp :
# 352| v352_7(void) = ReturnVoid :
# 352| v352_8(void) = AliasedUse : m352_3
# 352| v352_9(void) = ExitFunction :
# 360| void Continue(int)
# 360| Block 0
# 360| v360_1(void) = EnterFunction :
# 360| m360_2(unknown) = AliasedDefinition :
# 360| m360_3(unknown) = InitializeNonLocal :
# 360| m360_4(unknown) = Chi : total:m360_2, partial:m360_3
# 360| r360_5(glval<int>) = VariableAddress[n] :
# 360| m360_6(int) = InitializeParameter[n] : &:r360_5
#-----| Goto -> Block 1
# 362| Block 1
# 362| m362_1(int) = Phi : from 0:m360_6, from 4:m361_1
# 362| r362_2(glval<int>) = VariableAddress[n] :
# 362| r362_3(int) = Load[n] : &:r362_2, m362_1
# 362| r362_4(int) = Constant[1] :
# 362| r362_5(bool) = CompareEQ : r362_3, r362_4
# 362| v362_6(void) = ConditionalBranch : r362_5
#-----| False -> Block 3
#-----| True -> Block 2
# 363| Block 2
# 363| v363_1(void) = NoOp :
#-----| Goto -> Block 4
# 365| Block 3
# 365| r365_1(int) = Constant[1] :
# 365| r365_2(glval<int>) = VariableAddress[n] :
# 365| r365_3(int) = Load[n] : &:r365_2, m362_1
# 365| r365_4(int) = Sub : r365_3, r365_1
# 365| m365_5(int) = Store[n] : &:r365_2, r365_4
#-----| Goto -> Block 4
# 361| Block 4
# 361| m361_1(int) = Phi : from 2:m362_1, from 3:m365_5
# 361| v361_2(void) = NoOp :
# 366| r366_1(glval<int>) = VariableAddress[n] :
# 366| r366_2(int) = Load[n] : &:r366_1, m361_1
# 366| r366_3(int) = Constant[0] :
# 366| r366_4(bool) = CompareGT : r366_2, r366_3
# 366| v366_5(void) = ConditionalBranch : r366_4
#-----| False -> Block 5
#-----| True (back edge) -> Block 1
# 367| Block 5
# 367| v367_1(void) = NoOp :
# 360| v360_7(void) = ReturnVoid :
# 360| v360_8(void) = AliasedUse : m360_3
# 360| v360_9(void) = ExitFunction :
# 372| void Call()
# 372| Block 0
# 372| v372_1(void) = EnterFunction :
# 372| m372_2(unknown) = AliasedDefinition :
# 372| m372_3(unknown) = InitializeNonLocal :
# 372| m372_4(unknown) = Chi : total:m372_2, partial:m372_3
# 373| r373_1(glval<unknown>) = FunctionAddress[VoidFunc] :
# 373| v373_2(void) = Call[VoidFunc] : func:r373_1
# 373| m373_3(unknown) = ^CallSideEffect : ~m372_4
# 373| m373_4(unknown) = Chi : total:m372_4, partial:m373_3
# 374| v374_1(void) = NoOp :
# 372| v372_5(void) = ReturnVoid :
# 372| v372_6(void) = AliasedUse : ~m373_4
# 372| v372_7(void) = ExitFunction :
# 376| int CallAdd(int, int)
# 376| Block 0
# 376| v376_1(void) = EnterFunction :
# 376| m376_2(unknown) = AliasedDefinition :
# 376| m376_3(unknown) = InitializeNonLocal :
# 376| m376_4(unknown) = Chi : total:m376_2, partial:m376_3
# 376| r376_5(glval<int>) = VariableAddress[x] :
# 376| m376_6(int) = InitializeParameter[x] : &:r376_5
# 376| r376_7(glval<int>) = VariableAddress[y] :
# 376| m376_8(int) = InitializeParameter[y] : &:r376_7
# 377| r377_1(glval<int>) = VariableAddress[#return] :
# 377| r377_2(glval<unknown>) = FunctionAddress[Add] :
# 377| r377_3(glval<int>) = VariableAddress[x] :
# 377| r377_4(int) = Load[x] : &:r377_3, m376_6
# 377| r377_5(glval<int>) = VariableAddress[y] :
# 377| r377_6(int) = Load[y] : &:r377_5, m376_8
# 377| r377_7(int) = Call[Add] : func:r377_2, 0:r377_4, 1:r377_6
# 377| m377_8(unknown) = ^CallSideEffect : ~m376_4
# 377| m377_9(unknown) = Chi : total:m376_4, partial:m377_8
# 377| m377_10(int) = Store[#return] : &:r377_1, r377_7
# 376| r376_9(glval<int>) = VariableAddress[#return] :
# 376| v376_10(void) = ReturnValue : &:r376_9, m377_10
# 376| v376_11(void) = AliasedUse : ~m377_9
# 376| v376_12(void) = ExitFunction :
# 380| int Comma(int, int)
# 380| Block 0
# 380| v380_1(void) = EnterFunction :
# 380| m380_2(unknown) = AliasedDefinition :
# 380| m380_3(unknown) = InitializeNonLocal :
# 380| m380_4(unknown) = Chi : total:m380_2, partial:m380_3
# 380| r380_5(glval<int>) = VariableAddress[x] :
# 380| m380_6(int) = InitializeParameter[x] : &:r380_5
# 380| r380_7(glval<int>) = VariableAddress[y] :
# 380| m380_8(int) = InitializeParameter[y] : &:r380_7
# 381| r381_1(glval<int>) = VariableAddress[#return] :
# 381| r381_2(glval<unknown>) = FunctionAddress[VoidFunc] :
# 381| v381_3(void) = Call[VoidFunc] : func:r381_2
# 381| m381_4(unknown) = ^CallSideEffect : ~m380_4
# 381| m381_5(unknown) = Chi : total:m380_4, partial:m381_4
# 381| r381_6(glval<unknown>) = FunctionAddress[CallAdd] :
# 381| r381_7(glval<int>) = VariableAddress[x] :
# 381| r381_8(int) = Load[x] : &:r381_7, m380_6
# 381| r381_9(glval<int>) = VariableAddress[y] :
# 381| r381_10(int) = Load[y] : &:r381_9, m380_8
# 381| r381_11(int) = Call[CallAdd] : func:r381_6, 0:r381_8, 1:r381_10
# 381| m381_12(unknown) = ^CallSideEffect : ~m381_5
# 381| m381_13(unknown) = Chi : total:m381_5, partial:m381_12
# 381| r381_14(int) = CopyValue : r381_11
# 381| m381_15(int) = Store[#return] : &:r381_1, r381_14
# 380| r380_9(glval<int>) = VariableAddress[#return] :
# 380| v380_10(void) = ReturnValue : &:r380_9, m381_15
# 380| v380_11(void) = AliasedUse : ~m381_13
# 380| v380_12(void) = ExitFunction :
# 384| void Switch(int)
# 384| Block 0
# 384| v384_1(void) = EnterFunction :
# 384| m384_2(unknown) = AliasedDefinition :
# 384| m384_3(unknown) = InitializeNonLocal :
# 384| m384_4(unknown) = Chi : total:m384_2, partial:m384_3
# 384| r384_5(glval<int>) = VariableAddress[x] :
# 384| m384_6(int) = InitializeParameter[x] : &:r384_5
# 385| r385_1(glval<int>) = VariableAddress[y] :
# 385| m385_2(int) = Uninitialized[y] : &:r385_1
# 386| r386_1(glval<int>) = VariableAddress[x] :
# 386| r386_2(int) = Load[x] : &:r386_1, m384_6
# 386| v386_3(void) = Switch : r386_2
#-----| Case[-1] -> Block 1
#-----| Case[1] -> Block 2
#-----| Case[2] -> Block 3
#-----| Case[3] -> Block 4
#-----| Case[4] -> Block 5
#-----| Default -> Block 6
# 389| Block 1
# 389| v389_1(void) = NoOp :
# 390| r390_1(int) = Constant[-1] :
# 390| r390_2(glval<int>) = VariableAddress[y] :
# 390| m390_3(int) = Store[y] : &:r390_2, r390_1
# 391| v391_1(void) = NoOp :
#-----| Goto -> Block 7
# 393| Block 2
# 393| v393_1(void) = NoOp :
#-----| Goto -> Block 3
# 394| Block 3
# 394| v394_1(void) = NoOp :
# 395| r395_1(int) = Constant[1] :
# 395| r395_2(glval<int>) = VariableAddress[y] :
# 395| m395_3(int) = Store[y] : &:r395_2, r395_1
# 396| v396_1(void) = NoOp :
#-----| Goto -> Block 7
# 398| Block 4
# 398| v398_1(void) = NoOp :
# 399| r399_1(int) = Constant[3] :
# 399| r399_2(glval<int>) = VariableAddress[y] :
# 399| m399_3(int) = Store[y] : &:r399_2, r399_1
#-----| Goto -> Block 5
# 400| Block 5
# 400| v400_1(void) = NoOp :
# 401| r401_1(int) = Constant[4] :
# 401| r401_2(glval<int>) = VariableAddress[y] :
# 401| m401_3(int) = Store[y] : &:r401_2, r401_1
# 402| v402_1(void) = NoOp :
#-----| Goto -> Block 7
# 404| Block 6
# 404| v404_1(void) = NoOp :
# 405| r405_1(int) = Constant[0] :
# 405| r405_2(glval<int>) = VariableAddress[y] :
# 405| m405_3(int) = Store[y] : &:r405_2, r405_1
# 406| v406_1(void) = NoOp :
#-----| Goto -> Block 7
# 409| Block 7
# 409| v409_1(void) = NoOp :
# 410| v410_1(void) = NoOp :
# 384| v384_7(void) = ReturnVoid :
# 384| v384_8(void) = AliasedUse : m384_3
# 384| v384_9(void) = ExitFunction :
# 422| Point ReturnStruct(Point)
# 422| Block 0
# 422| v422_1(void) = EnterFunction :
# 422| m422_2(unknown) = AliasedDefinition :
# 422| m422_3(unknown) = InitializeNonLocal :
# 422| m422_4(unknown) = Chi : total:m422_2, partial:m422_3
# 422| r422_5(glval<Point>) = VariableAddress[pt] :
# 422| m422_6(Point) = InitializeParameter[pt] : &:r422_5
# 423| r423_1(glval<Point>) = VariableAddress[#return] :
# 423| r423_2(glval<Point>) = VariableAddress[pt] :
# 423| r423_3(Point) = Load[pt] : &:r423_2, m422_6
# 423| m423_4(Point) = Store[#return] : &:r423_1, r423_3
# 422| r422_7(glval<Point>) = VariableAddress[#return] :
# 422| v422_8(void) = ReturnValue : &:r422_7, m423_4
# 422| v422_9(void) = AliasedUse : m422_3
# 422| v422_10(void) = ExitFunction :
# 426| void FieldAccess()
# 426| Block 0
# 426| v426_1(void) = EnterFunction :
# 426| m426_2(unknown) = AliasedDefinition :
# 426| m426_3(unknown) = InitializeNonLocal :
# 426| m426_4(unknown) = Chi : total:m426_2, partial:m426_3
# 427| r427_1(glval<Point>) = VariableAddress[pt] :
# 427| m427_2(Point) = Uninitialized[pt] : &:r427_1
# 428| r428_1(int) = Constant[5] :
# 428| r428_2(glval<Point>) = VariableAddress[pt] :
# 428| r428_3(glval<int>) = FieldAddress[x] : r428_2
# 428| m428_4(int) = Store[?] : &:r428_3, r428_1
# 428| m428_5(Point) = Chi : total:m427_2, partial:m428_4
# 429| r429_1(glval<Point>) = VariableAddress[pt] :
# 429| r429_2(glval<int>) = FieldAddress[x] : r429_1
# 429| r429_3(int) = Load[?] : &:r429_2, m428_4
# 429| r429_4(glval<Point>) = VariableAddress[pt] :
# 429| r429_5(glval<int>) = FieldAddress[y] : r429_4
# 429| m429_6(int) = Store[?] : &:r429_5, r429_3
# 429| m429_7(Point) = Chi : total:m428_5, partial:m429_6
# 430| r430_1(glval<int *>) = VariableAddress[p] :
# 430| r430_2(glval<Point>) = VariableAddress[pt] :
# 430| r430_3(glval<int>) = FieldAddress[y] : r430_2
# 430| r430_4(int *) = CopyValue : r430_3
# 430| m430_5(int *) = Store[p] : &:r430_1, r430_4
# 431| v431_1(void) = NoOp :
# 426| v426_5(void) = ReturnVoid :
# 426| v426_6(void) = AliasedUse : m426_3
# 426| v426_7(void) = ExitFunction :
# 433| void LogicalOr(bool, bool)
# 433| Block 0
# 433| v433_1(void) = EnterFunction :
# 433| m433_2(unknown) = AliasedDefinition :
# 433| m433_3(unknown) = InitializeNonLocal :
# 433| m433_4(unknown) = Chi : total:m433_2, partial:m433_3
# 433| r433_5(glval<bool>) = VariableAddress[a] :
# 433| m433_6(bool) = InitializeParameter[a] : &:r433_5
# 433| r433_7(glval<bool>) = VariableAddress[b] :
# 433| m433_8(bool) = InitializeParameter[b] : &:r433_7
# 434| r434_1(glval<int>) = VariableAddress[x] :
# 434| m434_2(int) = Uninitialized[x] : &:r434_1
# 435| r435_1(glval<bool>) = VariableAddress[a] :
# 435| r435_2(bool) = Load[a] : &:r435_1, m433_6
# 435| v435_3(void) = ConditionalBranch : r435_2
#-----| False -> Block 1
#-----| True -> Block 2
# 435| Block 1
# 435| r435_4(glval<bool>) = VariableAddress[b] :
# 435| r435_5(bool) = Load[b] : &:r435_4, m433_8
# 435| v435_6(void) = ConditionalBranch : r435_5
#-----| False -> Block 3
#-----| True -> Block 2
# 436| Block 2
# 436| r436_1(int) = Constant[7] :
# 436| r436_2(glval<int>) = VariableAddress[x] :
# 436| m436_3(int) = Store[x] : &:r436_2, r436_1
#-----| Goto -> Block 3
# 439| Block 3
# 439| r439_1(glval<bool>) = VariableAddress[a] :
# 439| r439_2(bool) = Load[a] : &:r439_1, m433_6
# 439| v439_3(void) = ConditionalBranch : r439_2
#-----| False -> Block 4
#-----| True -> Block 5
# 439| Block 4
# 439| r439_4(glval<bool>) = VariableAddress[b] :
# 439| r439_5(bool) = Load[b] : &:r439_4, m433_8
# 439| v439_6(void) = ConditionalBranch : r439_5
#-----| False -> Block 6
#-----| True -> Block 5
# 440| Block 5
# 440| r440_1(int) = Constant[1] :
# 440| r440_2(glval<int>) = VariableAddress[x] :
# 440| m440_3(int) = Store[x] : &:r440_2, r440_1
#-----| Goto -> Block 7
# 443| Block 6
# 443| r443_1(int) = Constant[5] :
# 443| r443_2(glval<int>) = VariableAddress[x] :
# 443| m443_3(int) = Store[x] : &:r443_2, r443_1
#-----| Goto -> Block 7
# 445| Block 7
# 445| v445_1(void) = NoOp :
# 433| v433_9(void) = ReturnVoid :
# 433| v433_10(void) = AliasedUse : m433_3
# 433| v433_11(void) = ExitFunction :
# 447| void LogicalAnd(bool, bool)
# 447| Block 0
# 447| v447_1(void) = EnterFunction :
# 447| m447_2(unknown) = AliasedDefinition :
# 447| m447_3(unknown) = InitializeNonLocal :
# 447| m447_4(unknown) = Chi : total:m447_2, partial:m447_3
# 447| r447_5(glval<bool>) = VariableAddress[a] :
# 447| m447_6(bool) = InitializeParameter[a] : &:r447_5
# 447| r447_7(glval<bool>) = VariableAddress[b] :
# 447| m447_8(bool) = InitializeParameter[b] : &:r447_7
# 448| r448_1(glval<int>) = VariableAddress[x] :
# 448| m448_2(int) = Uninitialized[x] : &:r448_1
# 449| r449_1(glval<bool>) = VariableAddress[a] :
# 449| r449_2(bool) = Load[a] : &:r449_1, m447_6
# 449| v449_3(void) = ConditionalBranch : r449_2
#-----| False -> Block 3
#-----| True -> Block 1
# 449| Block 1
# 449| r449_4(glval<bool>) = VariableAddress[b] :
# 449| r449_5(bool) = Load[b] : &:r449_4, m447_8
# 449| v449_6(void) = ConditionalBranch : r449_5
#-----| False -> Block 3
#-----| True -> Block 2
# 450| Block 2
# 450| r450_1(int) = Constant[7] :
# 450| r450_2(glval<int>) = VariableAddress[x] :
# 450| m450_3(int) = Store[x] : &:r450_2, r450_1
#-----| Goto -> Block 3
# 453| Block 3
# 453| r453_1(glval<bool>) = VariableAddress[a] :
# 453| r453_2(bool) = Load[a] : &:r453_1, m447_6
# 453| v453_3(void) = ConditionalBranch : r453_2
#-----| False -> Block 6
#-----| True -> Block 4
# 453| Block 4
# 453| r453_4(glval<bool>) = VariableAddress[b] :
# 453| r453_5(bool) = Load[b] : &:r453_4, m447_8
# 453| v453_6(void) = ConditionalBranch : r453_5
#-----| False -> Block 6
#-----| True -> Block 5
# 454| Block 5
# 454| r454_1(int) = Constant[1] :
# 454| r454_2(glval<int>) = VariableAddress[x] :
# 454| m454_3(int) = Store[x] : &:r454_2, r454_1
#-----| Goto -> Block 7
# 457| Block 6
# 457| r457_1(int) = Constant[5] :
# 457| r457_2(glval<int>) = VariableAddress[x] :
# 457| m457_3(int) = Store[x] : &:r457_2, r457_1
#-----| Goto -> Block 7
# 459| Block 7
# 459| v459_1(void) = NoOp :
# 447| v447_9(void) = ReturnVoid :
# 447| v447_10(void) = AliasedUse : m447_3
# 447| v447_11(void) = ExitFunction :
# 461| void LogicalNot(bool, bool)
# 461| Block 0
# 461| v461_1(void) = EnterFunction :
# 461| m461_2(unknown) = AliasedDefinition :
# 461| m461_3(unknown) = InitializeNonLocal :
# 461| m461_4(unknown) = Chi : total:m461_2, partial:m461_3
# 461| r461_5(glval<bool>) = VariableAddress[a] :
# 461| m461_6(bool) = InitializeParameter[a] : &:r461_5
# 461| r461_7(glval<bool>) = VariableAddress[b] :
# 461| m461_8(bool) = InitializeParameter[b] : &:r461_7
# 462| r462_1(glval<int>) = VariableAddress[x] :
# 462| m462_2(int) = Uninitialized[x] : &:r462_1
# 463| r463_1(glval<bool>) = VariableAddress[a] :
# 463| r463_2(bool) = Load[a] : &:r463_1, m461_6
# 463| r463_3(bool) = LogicalNot : r463_2
# 463| v463_4(void) = ConditionalBranch : r463_3
#-----| False -> Block 5
#-----| True -> Block 1
# 464| Block 1
# 464| r464_1(int) = Constant[1] :
# 464| r464_2(glval<int>) = VariableAddress[x] :
# 464| m464_3(int) = Store[x] : &:r464_2, r464_1
#-----| Goto -> Block 5
# 467| Block 2
# 467| r467_1(glval<bool>) = VariableAddress[#temp467:11] :
# 467| r467_2(bool) = Constant[0] :
# 467| m467_3(bool) = Store[#temp467:11] : &:r467_1, r467_2
#-----| Goto -> Block 3
# 467| Block 3
# 467| m467_4(bool) = Phi : from 2:m467_3, from 4:m467_11
# 467| r467_5(glval<bool>) = VariableAddress[#temp467:11] :
# 467| r467_6(bool) = Load[#temp467:11] : &:r467_5, m467_4
# 467| r467_7(bool) = LogicalNot : r467_6
# 467| v467_8(void) = ConditionalBranch : r467_7
#-----| False -> Block 8
#-----| True -> Block 7
# 467| Block 4
# 467| r467_9(glval<bool>) = VariableAddress[#temp467:11] :
# 467| r467_10(bool) = Constant[1] :
# 467| m467_11(bool) = Store[#temp467:11] : &:r467_9, r467_10
#-----| Goto -> Block 3
# 467| Block 5
# 467| r467_12(glval<bool>) = VariableAddress[a] :
# 467| r467_13(bool) = Load[a] : &:r467_12, m461_6
# 467| v467_14(void) = ConditionalBranch : r467_13
#-----| False -> Block 2
#-----| True -> Block 6
# 467| Block 6
# 467| r467_15(glval<bool>) = VariableAddress[b] :
# 467| r467_16(bool) = Load[b] : &:r467_15, m461_8
# 467| v467_17(void) = ConditionalBranch : r467_16
#-----| False -> Block 2
#-----| True -> Block 4
# 468| Block 7
# 468| r468_1(int) = Constant[2] :
# 468| r468_2(glval<int>) = VariableAddress[x] :
# 468| m468_3(int) = Store[x] : &:r468_2, r468_1
#-----| Goto -> Block 9
# 471| Block 8
# 471| r471_1(int) = Constant[3] :
# 471| r471_2(glval<int>) = VariableAddress[x] :
# 471| m471_3(int) = Store[x] : &:r471_2, r471_1
#-----| Goto -> Block 9
# 473| Block 9
# 473| v473_1(void) = NoOp :
# 461| v461_9(void) = ReturnVoid :
# 461| v461_10(void) = AliasedUse : m461_3
# 461| v461_11(void) = ExitFunction :
# 475| void ConditionValues(bool, bool)
# 475| Block 0
# 475| v475_1(void) = EnterFunction :
# 475| m475_2(unknown) = AliasedDefinition :
# 475| m475_3(unknown) = InitializeNonLocal :
# 475| m475_4(unknown) = Chi : total:m475_2, partial:m475_3
# 475| r475_5(glval<bool>) = VariableAddress[a] :
# 475| m475_6(bool) = InitializeParameter[a] : &:r475_5
# 475| r475_7(glval<bool>) = VariableAddress[b] :
# 475| m475_8(bool) = InitializeParameter[b] : &:r475_7
# 476| r476_1(glval<bool>) = VariableAddress[x] :
# 476| m476_2(bool) = Uninitialized[x] : &:r476_1
# 477| r477_1(glval<bool>) = VariableAddress[a] :
# 477| r477_2(bool) = Load[a] : &:r477_1, m475_6
# 477| v477_3(void) = ConditionalBranch : r477_2
#-----| False -> Block 1
#-----| True -> Block 4
# 477| Block 1
# 477| r477_4(glval<bool>) = VariableAddress[#temp477:9] :
# 477| r477_5(bool) = Constant[0] :
# 477| m477_6(bool) = Store[#temp477:9] : &:r477_4, r477_5
#-----| Goto -> Block 2
# 477| Block 2
# 477| m477_7(bool) = Phi : from 1:m477_6, from 3:m477_14
# 477| r477_8(glval<bool>) = VariableAddress[#temp477:9] :
# 477| r477_9(bool) = Load[#temp477:9] : &:r477_8, m477_7
# 477| r477_10(glval<bool>) = VariableAddress[x] :
# 477| m477_11(bool) = Store[x] : &:r477_10, r477_9
# 478| r478_1(glval<bool>) = VariableAddress[a] :
# 478| r478_2(bool) = Load[a] : &:r478_1, m475_6
# 478| v478_3(void) = ConditionalBranch : r478_2
#-----| False -> Block 8
#-----| True -> Block 7
# 477| Block 3
# 477| r477_12(glval<bool>) = VariableAddress[#temp477:9] :
# 477| r477_13(bool) = Constant[1] :
# 477| m477_14(bool) = Store[#temp477:9] : &:r477_12, r477_13
#-----| Goto -> Block 2
# 477| Block 4
# 477| r477_15(glval<bool>) = VariableAddress[b] :
# 477| r477_16(bool) = Load[b] : &:r477_15, m475_8
# 477| v477_17(void) = ConditionalBranch : r477_16
#-----| False -> Block 1
#-----| True -> Block 3
# 478| Block 5
# 478| r478_4(glval<bool>) = VariableAddress[#temp478:9] :
# 478| r478_5(bool) = Constant[0] :
# 478| m478_6(bool) = Store[#temp478:9] : &:r478_4, r478_5
#-----| Goto -> Block 6
# 478| Block 6
# 478| m478_7(bool) = Phi : from 5:m478_6, from 7:m478_14
# 478| r478_8(glval<bool>) = VariableAddress[#temp478:9] :
# 478| r478_9(bool) = Load[#temp478:9] : &:r478_8, m478_7
# 478| r478_10(glval<bool>) = VariableAddress[x] :
# 478| m478_11(bool) = Store[x] : &:r478_10, r478_9
# 479| r479_1(glval<bool>) = VariableAddress[a] :
# 479| r479_2(bool) = Load[a] : &:r479_1, m475_6
# 479| v479_3(void) = ConditionalBranch : r479_2
#-----| False -> Block 12
#-----| True -> Block 11
# 478| Block 7
# 478| r478_12(glval<bool>) = VariableAddress[#temp478:9] :
# 478| r478_13(bool) = Constant[1] :
# 478| m478_14(bool) = Store[#temp478:9] : &:r478_12, r478_13
#-----| Goto -> Block 6
# 478| Block 8
# 478| r478_15(glval<bool>) = VariableAddress[b] :
# 478| r478_16(bool) = Load[b] : &:r478_15, m475_8
# 478| v478_17(void) = ConditionalBranch : r478_16
#-----| False -> Block 5
#-----| True -> Block 7
# 479| Block 9
# 479| r479_4(glval<bool>) = VariableAddress[#temp479:11] :
# 479| r479_5(bool) = Constant[0] :
# 479| m479_6(bool) = Store[#temp479:11] : &:r479_4, r479_5
#-----| Goto -> Block 10
# 479| Block 10
# 479| m479_7(bool) = Phi : from 9:m479_6, from 11:m479_15
# 479| r479_8(glval<bool>) = VariableAddress[#temp479:11] :
# 479| r479_9(bool) = Load[#temp479:11] : &:r479_8, m479_7
# 479| r479_10(bool) = LogicalNot : r479_9
# 479| r479_11(glval<bool>) = VariableAddress[x] :
# 479| m479_12(bool) = Store[x] : &:r479_11, r479_10
# 480| v480_1(void) = NoOp :
# 475| v475_9(void) = ReturnVoid :
# 475| v475_10(void) = AliasedUse : m475_3
# 475| v475_11(void) = ExitFunction :
# 479| Block 11
# 479| r479_13(glval<bool>) = VariableAddress[#temp479:11] :
# 479| r479_14(bool) = Constant[1] :
# 479| m479_15(bool) = Store[#temp479:11] : &:r479_13, r479_14
#-----| Goto -> Block 10
# 479| Block 12
# 479| r479_16(glval<bool>) = VariableAddress[b] :
# 479| r479_17(bool) = Load[b] : &:r479_16, m475_8
# 479| v479_18(void) = ConditionalBranch : r479_17
#-----| False -> Block 9
#-----| True -> Block 11
# 482| void Conditional(bool, int, int)
# 482| Block 0
# 482| v482_1(void) = EnterFunction :
# 482| m482_2(unknown) = AliasedDefinition :
# 482| m482_3(unknown) = InitializeNonLocal :
# 482| m482_4(unknown) = Chi : total:m482_2, partial:m482_3
# 482| r482_5(glval<bool>) = VariableAddress[a] :
# 482| m482_6(bool) = InitializeParameter[a] : &:r482_5
# 482| r482_7(glval<int>) = VariableAddress[x] :
# 482| m482_8(int) = InitializeParameter[x] : &:r482_7
# 482| r482_9(glval<int>) = VariableAddress[y] :
# 482| m482_10(int) = InitializeParameter[y] : &:r482_9
# 483| r483_1(glval<int>) = VariableAddress[z] :
# 483| r483_2(glval<bool>) = VariableAddress[a] :
# 483| r483_3(bool) = Load[a] : &:r483_2, m482_6
# 483| v483_4(void) = ConditionalBranch : r483_3
#-----| False -> Block 3
#-----| True -> Block 2
# 483| Block 1
# 483| m483_5(int) = Phi : from 2:m483_12, from 3:m483_16
# 483| r483_6(glval<int>) = VariableAddress[#temp483:13] :
# 483| r483_7(int) = Load[#temp483:13] : &:r483_6, m483_5
# 483| m483_8(int) = Store[z] : &:r483_1, r483_7
# 484| v484_1(void) = NoOp :
# 482| v482_11(void) = ReturnVoid :
# 482| v482_12(void) = AliasedUse : m482_3
# 482| v482_13(void) = ExitFunction :
# 483| Block 2
# 483| r483_9(glval<int>) = VariableAddress[x] :
# 483| r483_10(int) = Load[x] : &:r483_9, m482_8
# 483| r483_11(glval<int>) = VariableAddress[#temp483:13] :
# 483| m483_12(int) = Store[#temp483:13] : &:r483_11, r483_10
#-----| Goto -> Block 1
# 483| Block 3
# 483| r483_13(glval<int>) = VariableAddress[y] :
# 483| r483_14(int) = Load[y] : &:r483_13, m482_10
# 483| r483_15(glval<int>) = VariableAddress[#temp483:13] :
# 483| m483_16(int) = Store[#temp483:13] : &:r483_15, r483_14
#-----| Goto -> Block 1
# 486| void Conditional_LValue(bool)
# 486| Block 0
# 486| v486_1(void) = EnterFunction :
# 486| m486_2(unknown) = AliasedDefinition :
# 486| m486_3(unknown) = InitializeNonLocal :
# 486| m486_4(unknown) = Chi : total:m486_2, partial:m486_3
# 486| r486_5(glval<bool>) = VariableAddress[a] :
# 486| m486_6(bool) = InitializeParameter[a] : &:r486_5
# 487| r487_1(glval<int>) = VariableAddress[x] :
# 487| m487_2(int) = Uninitialized[x] : &:r487_1
# 488| r488_1(glval<int>) = VariableAddress[y] :
# 488| m488_2(int) = Uninitialized[y] : &:r488_1
# 489| r489_1(int) = Constant[5] :
# 489| r489_2(glval<bool>) = VariableAddress[a] :
# 489| r489_3(bool) = Load[a] : &:r489_2, m486_6
# 489| v489_4(void) = ConditionalBranch : r489_3
#-----| False -> Block 3
#-----| True -> Block 2
# 489| Block 1
# 489| m489_5(glval<int>) = Phi : from 2:m489_12, from 3:m489_15
# 489| r489_6(glval<unknown>) = VariableAddress[#temp489:6] :
# 489| r489_7(glval<int>) = Load[#temp489:6] : &:r489_6, m489_5
# 489| m489_8(int) = Store[?] : &:r489_7, r489_1
# 489| m489_9(unknown) = Chi : total:m486_4, partial:m489_8
# 490| v490_1(void) = NoOp :
# 486| v486_7(void) = ReturnVoid :
# 486| v486_8(void) = AliasedUse : ~m489_9
# 486| v486_9(void) = ExitFunction :
# 489| Block 2
# 489| r489_10(glval<int>) = VariableAddress[x] :
# 489| r489_11(glval<unknown>) = VariableAddress[#temp489:6] :
# 489| m489_12(glval<int>) = Store[#temp489:6] : &:r489_11, r489_10
#-----| Goto -> Block 1
# 489| Block 3
# 489| r489_13(glval<int>) = VariableAddress[y] :
# 489| r489_14(glval<unknown>) = VariableAddress[#temp489:6] :
# 489| m489_15(glval<int>) = Store[#temp489:6] : &:r489_14, r489_13
#-----| Goto -> Block 1
# 492| void Conditional_Void(bool)
# 492| Block 0
# 492| v492_1(void) = EnterFunction :
# 492| m492_2(unknown) = AliasedDefinition :
# 492| m492_3(unknown) = InitializeNonLocal :
# 492| m492_4(unknown) = Chi : total:m492_2, partial:m492_3
# 492| r492_5(glval<bool>) = VariableAddress[a] :
# 492| m492_6(bool) = InitializeParameter[a] : &:r492_5
# 493| r493_1(glval<bool>) = VariableAddress[a] :
# 493| r493_2(bool) = Load[a] : &:r493_1, m492_6
# 493| v493_3(void) = ConditionalBranch : r493_2
#-----| False -> Block 2
#-----| True -> Block 1
# 493| Block 1
# 493| r493_4(glval<unknown>) = FunctionAddress[VoidFunc] :
# 493| v493_5(void) = Call[VoidFunc] : func:r493_4
# 493| m493_6(unknown) = ^CallSideEffect : ~m492_4
# 493| m493_7(unknown) = Chi : total:m492_4, partial:m493_6
#-----| Goto -> Block 3
# 493| Block 2
# 493| r493_8(glval<unknown>) = FunctionAddress[VoidFunc] :
# 493| v493_9(void) = Call[VoidFunc] : func:r493_8
# 493| m493_10(unknown) = ^CallSideEffect : ~m492_4
# 493| m493_11(unknown) = Chi : total:m492_4, partial:m493_10
#-----| Goto -> Block 3
# 494| Block 3
# 494| m494_1(unknown) = Phi : from 1:~m493_7, from 2:~m493_11
# 494| v494_2(void) = NoOp :
# 492| v492_7(void) = ReturnVoid :
# 492| v492_8(void) = AliasedUse : ~m494_1
# 492| v492_9(void) = ExitFunction :
# 496| void Nullptr()
# 496| Block 0
# 496| v496_1(void) = EnterFunction :
# 496| m496_2(unknown) = AliasedDefinition :
# 496| m496_3(unknown) = InitializeNonLocal :
# 496| m496_4(unknown) = Chi : total:m496_2, partial:m496_3
# 497| r497_1(glval<int *>) = VariableAddress[p] :
# 497| r497_2(int *) = Constant[0] :
# 497| m497_3(int *) = Store[p] : &:r497_1, r497_2
# 498| r498_1(glval<int *>) = VariableAddress[q] :
# 498| r498_2(int *) = Constant[0] :
# 498| m498_3(int *) = Store[q] : &:r498_1, r498_2
# 499| r499_1(int *) = Constant[0] :
# 499| r499_2(glval<int *>) = VariableAddress[p] :
# 499| m499_3(int *) = Store[p] : &:r499_2, r499_1
# 500| r500_1(int *) = Constant[0] :
# 500| r500_2(glval<int *>) = VariableAddress[q] :
# 500| m500_3(int *) = Store[q] : &:r500_2, r500_1
# 501| v501_1(void) = NoOp :
# 496| v496_5(void) = ReturnVoid :
# 496| v496_6(void) = AliasedUse : m496_3
# 496| v496_7(void) = ExitFunction :
# 503| void InitList(int, float)
# 503| Block 0
# 503| v503_1(void) = EnterFunction :
# 503| m503_2(unknown) = AliasedDefinition :
# 503| m503_3(unknown) = InitializeNonLocal :
# 503| m503_4(unknown) = Chi : total:m503_2, partial:m503_3
# 503| r503_5(glval<int>) = VariableAddress[x] :
# 503| m503_6(int) = InitializeParameter[x] : &:r503_5
# 503| r503_7(glval<float>) = VariableAddress[f] :
# 503| m503_8(float) = InitializeParameter[f] : &:r503_7
# 504| r504_1(glval<Point>) = VariableAddress[pt1] :
# 504| m504_2(Point) = Uninitialized[pt1] : &:r504_1
# 504| r504_3(glval<int>) = FieldAddress[x] : r504_1
# 504| r504_4(glval<int>) = VariableAddress[x] :
# 504| r504_5(int) = Load[x] : &:r504_4, m503_6
# 504| m504_6(int) = Store[?] : &:r504_3, r504_5
# 504| m504_7(Point) = Chi : total:m504_2, partial:m504_6
# 504| r504_8(glval<int>) = FieldAddress[y] : r504_1
# 504| r504_9(glval<float>) = VariableAddress[f] :
# 504| r504_10(float) = Load[f] : &:r504_9, m503_8
# 504| r504_11(int) = Convert : r504_10
# 504| m504_12(int) = Store[?] : &:r504_8, r504_11
# 504| m504_13(Point) = Chi : total:m504_7, partial:m504_12
# 505| r505_1(glval<Point>) = VariableAddress[pt2] :
# 505| m505_2(Point) = Uninitialized[pt2] : &:r505_1
# 505| r505_3(glval<int>) = FieldAddress[x] : r505_1
# 505| r505_4(glval<int>) = VariableAddress[x] :
# 505| r505_5(int) = Load[x] : &:r505_4, m503_6
# 505| m505_6(int) = Store[?] : &:r505_3, r505_5
# 505| m505_7(Point) = Chi : total:m505_2, partial:m505_6
# 505| r505_8(glval<int>) = FieldAddress[y] : r505_1
# 505| r505_9(int) = Constant[0] :
# 505| m505_10(int) = Store[?] : &:r505_8, r505_9
# 505| m505_11(Point) = Chi : total:m505_7, partial:m505_10
# 506| r506_1(glval<Point>) = VariableAddress[pt3] :
# 506| m506_2(Point) = Uninitialized[pt3] : &:r506_1
# 506| r506_3(glval<int>) = FieldAddress[x] : r506_1
# 506| r506_4(int) = Constant[0] :
# 506| m506_5(int) = Store[?] : &:r506_3, r506_4
# 506| m506_6(Point) = Chi : total:m506_2, partial:m506_5
# 506| r506_7(glval<int>) = FieldAddress[y] : r506_1
# 506| r506_8(int) = Constant[0] :
# 506| m506_9(int) = Store[?] : &:r506_7, r506_8
# 506| m506_10(Point) = Chi : total:m506_6, partial:m506_9
# 508| r508_1(glval<int>) = VariableAddress[x1] :
# 508| r508_2(int) = Constant[1] :
# 508| m508_3(int) = Store[x1] : &:r508_1, r508_2
# 509| r509_1(glval<int>) = VariableAddress[x2] :
# 509| r509_2(int) = Constant[0] :
# 509| m509_3(int) = Store[x2] : &:r509_1, r509_2
# 510| v510_1(void) = NoOp :
# 503| v503_9(void) = ReturnVoid :
# 503| v503_10(void) = AliasedUse : m503_3
# 503| v503_11(void) = ExitFunction :
# 512| void NestedInitList(int, float)
# 512| Block 0
# 512| v512_1(void) = EnterFunction :
# 512| m512_2(unknown) = AliasedDefinition :
# 512| m512_3(unknown) = InitializeNonLocal :
# 512| m512_4(unknown) = Chi : total:m512_2, partial:m512_3
# 512| r512_5(glval<int>) = VariableAddress[x] :
# 512| m512_6(int) = InitializeParameter[x] : &:r512_5
# 512| r512_7(glval<float>) = VariableAddress[f] :
# 512| m512_8(float) = InitializeParameter[f] : &:r512_7
# 513| r513_1(glval<Rect>) = VariableAddress[r1] :
# 513| m513_2(Rect) = Uninitialized[r1] : &:r513_1
# 513| r513_3(glval<Point>) = FieldAddress[topLeft] : r513_1
# 513| r513_4(Point) = Constant[0] :
# 513| m513_5(Point) = Store[?] : &:r513_3, r513_4
# 513| m513_6(Rect) = Chi : total:m513_2, partial:m513_5
# 513| r513_7(glval<Point>) = FieldAddress[bottomRight] : r513_1
# 513| r513_8(Point) = Constant[0] :
# 513| m513_9(Point) = Store[?] : &:r513_7, r513_8
# 513| m513_10(Rect) = Chi : total:m513_6, partial:m513_9
# 514| r514_1(glval<Rect>) = VariableAddress[r2] :
# 514| m514_2(Rect) = Uninitialized[r2] : &:r514_1
# 514| r514_3(glval<Point>) = FieldAddress[topLeft] : r514_1
# 514| r514_4(glval<int>) = FieldAddress[x] : r514_3
# 514| r514_5(glval<int>) = VariableAddress[x] :
# 514| r514_6(int) = Load[x] : &:r514_5, m512_6
# 514| m514_7(int) = Store[?] : &:r514_4, r514_6
# 514| m514_8(Rect) = Chi : total:m514_2, partial:m514_7
# 514| r514_9(glval<int>) = FieldAddress[y] : r514_3
# 514| r514_10(glval<float>) = VariableAddress[f] :
# 514| r514_11(float) = Load[f] : &:r514_10, m512_8
# 514| r514_12(int) = Convert : r514_11
# 514| m514_13(int) = Store[?] : &:r514_9, r514_12
# 514| m514_14(Rect) = Chi : total:m514_8, partial:m514_13
# 514| r514_15(glval<Point>) = FieldAddress[bottomRight] : r514_1
# 514| r514_16(Point) = Constant[0] :
# 514| m514_17(Point) = Store[?] : &:r514_15, r514_16
# 514| m514_18(Rect) = Chi : total:m514_14, partial:m514_17
# 515| r515_1(glval<Rect>) = VariableAddress[r3] :
# 515| m515_2(Rect) = Uninitialized[r3] : &:r515_1
# 515| r515_3(glval<Point>) = FieldAddress[topLeft] : r515_1
# 515| r515_4(glval<int>) = FieldAddress[x] : r515_3
# 515| r515_5(glval<int>) = VariableAddress[x] :
# 515| r515_6(int) = Load[x] : &:r515_5, m512_6
# 515| m515_7(int) = Store[?] : &:r515_4, r515_6
# 515| m515_8(Rect) = Chi : total:m515_2, partial:m515_7
# 515| r515_9(glval<int>) = FieldAddress[y] : r515_3
# 515| r515_10(glval<float>) = VariableAddress[f] :
# 515| r515_11(float) = Load[f] : &:r515_10, m512_8
# 515| r515_12(int) = Convert : r515_11
# 515| m515_13(int) = Store[?] : &:r515_9, r515_12
# 515| m515_14(Rect) = Chi : total:m515_8, partial:m515_13
# 515| r515_15(glval<Point>) = FieldAddress[bottomRight] : r515_1
# 515| r515_16(glval<int>) = FieldAddress[x] : r515_15
# 515| r515_17(glval<int>) = VariableAddress[x] :
# 515| r515_18(int) = Load[x] : &:r515_17, m512_6
# 515| m515_19(int) = Store[?] : &:r515_16, r515_18
# 515| m515_20(Rect) = Chi : total:m515_14, partial:m515_19
# 515| r515_21(glval<int>) = FieldAddress[y] : r515_15
# 515| r515_22(glval<float>) = VariableAddress[f] :
# 515| r515_23(float) = Load[f] : &:r515_22, m512_8
# 515| r515_24(int) = Convert : r515_23
# 515| m515_25(int) = Store[?] : &:r515_21, r515_24
# 515| m515_26(Rect) = Chi : total:m515_20, partial:m515_25
# 516| r516_1(glval<Rect>) = VariableAddress[r4] :
# 516| m516_2(Rect) = Uninitialized[r4] : &:r516_1
# 516| r516_3(glval<Point>) = FieldAddress[topLeft] : r516_1
# 516| r516_4(glval<int>) = FieldAddress[x] : r516_3
# 516| r516_5(glval<int>) = VariableAddress[x] :
# 516| r516_6(int) = Load[x] : &:r516_5, m512_6
# 516| m516_7(int) = Store[?] : &:r516_4, r516_6
# 516| m516_8(Rect) = Chi : total:m516_2, partial:m516_7
# 516| r516_9(glval<int>) = FieldAddress[y] : r516_3
# 516| r516_10(int) = Constant[0] :
# 516| m516_11(int) = Store[?] : &:r516_9, r516_10
# 516| m516_12(Rect) = Chi : total:m516_8, partial:m516_11
# 516| r516_13(glval<Point>) = FieldAddress[bottomRight] : r516_1
# 516| r516_14(glval<int>) = FieldAddress[x] : r516_13
# 516| r516_15(glval<int>) = VariableAddress[x] :
# 516| r516_16(int) = Load[x] : &:r516_15, m512_6
# 516| m516_17(int) = Store[?] : &:r516_14, r516_16
# 516| m516_18(Rect) = Chi : total:m516_12, partial:m516_17
# 516| r516_19(glval<int>) = FieldAddress[y] : r516_13
# 516| r516_20(int) = Constant[0] :
# 516| m516_21(int) = Store[?] : &:r516_19, r516_20
# 516| m516_22(Rect) = Chi : total:m516_18, partial:m516_21
# 517| v517_1(void) = NoOp :
# 512| v512_9(void) = ReturnVoid :
# 512| v512_10(void) = AliasedUse : m512_3
# 512| v512_11(void) = ExitFunction :
# 519| void ArrayInit(int, float)
# 519| Block 0
# 519| v519_1(void) = EnterFunction :
# 519| m519_2(unknown) = AliasedDefinition :
# 519| m519_3(unknown) = InitializeNonLocal :
# 519| m519_4(unknown) = Chi : total:m519_2, partial:m519_3
# 519| r519_5(glval<int>) = VariableAddress[x] :
# 519| m519_6(int) = InitializeParameter[x] : &:r519_5
# 519| r519_7(glval<float>) = VariableAddress[f] :
# 519| m519_8(float) = InitializeParameter[f] : &:r519_7
# 520| r520_1(glval<int[3]>) = VariableAddress[a1] :
# 520| m520_2(int[3]) = Uninitialized[a1] : &:r520_1
# 520| r520_3(int) = Constant[0] :
# 520| r520_4(glval<int>) = PointerAdd[4] : r520_1, r520_3
# 520| r520_5(unknown[12]) = Constant[0] :
# 520| m520_6(unknown[12]) = Store[?] : &:r520_4, r520_5
# 521| r521_1(glval<int[3]>) = VariableAddress[a2] :
# 521| m521_2(int[3]) = Uninitialized[a2] : &:r521_1
# 521| r521_3(int) = Constant[0] :
# 521| r521_4(glval<int>) = PointerAdd[4] : r521_1, r521_3
# 521| r521_5(glval<int>) = VariableAddress[x] :
# 521| r521_6(int) = Load[x] : &:r521_5, m519_6
# 521| m521_7(int) = Store[?] : &:r521_4, r521_6
# 521| m521_8(int[3]) = Chi : total:m521_2, partial:m521_7
# 521| r521_9(int) = Constant[1] :
# 521| r521_10(glval<int>) = PointerAdd[4] : r521_1, r521_9
# 521| r521_11(glval<float>) = VariableAddress[f] :
# 521| r521_12(float) = Load[f] : &:r521_11, m519_8
# 521| r521_13(int) = Convert : r521_12
# 521| m521_14(int) = Store[?] : &:r521_10, r521_13
# 521| m521_15(int[3]) = Chi : total:m521_8, partial:m521_14
# 521| r521_16(int) = Constant[2] :
# 521| r521_17(glval<int>) = PointerAdd[4] : r521_1, r521_16
# 521| r521_18(int) = Constant[0] :
# 521| m521_19(int) = Store[?] : &:r521_17, r521_18
# 521| m521_20(int[3]) = Chi : total:m521_15, partial:m521_19
# 522| r522_1(glval<int[3]>) = VariableAddress[a3] :
# 522| m522_2(int[3]) = Uninitialized[a3] : &:r522_1
# 522| r522_3(int) = Constant[0] :
# 522| r522_4(glval<int>) = PointerAdd[4] : r522_1, r522_3
# 522| r522_5(glval<int>) = VariableAddress[x] :
# 522| r522_6(int) = Load[x] : &:r522_5, m519_6
# 522| m522_7(int) = Store[?] : &:r522_4, r522_6
# 522| m522_8(int[3]) = Chi : total:m522_2, partial:m522_7
# 522| r522_9(int) = Constant[1] :
# 522| r522_10(glval<int>) = PointerAdd[4] : r522_1, r522_9
# 522| r522_11(unknown[8]) = Constant[0] :
# 522| m522_12(unknown[8]) = Store[?] : &:r522_10, r522_11
# 522| m522_13(int[3]) = Chi : total:m522_8, partial:m522_12
# 523| v523_1(void) = NoOp :
# 519| v519_9(void) = ReturnVoid :
# 519| v519_10(void) = AliasedUse : m519_3
# 519| v519_11(void) = ExitFunction :
# 530| void UnionInit(int, float)
# 530| Block 0
# 530| v530_1(void) = EnterFunction :
# 530| m530_2(unknown) = AliasedDefinition :
# 530| m530_3(unknown) = InitializeNonLocal :
# 530| m530_4(unknown) = Chi : total:m530_2, partial:m530_3
# 530| r530_5(glval<int>) = VariableAddress[x] :
# 530| m530_6(int) = InitializeParameter[x] : &:r530_5
# 530| r530_7(glval<float>) = VariableAddress[f] :
# 530| m530_8(float) = InitializeParameter[f] : &:r530_7
# 531| r531_1(glval<U>) = VariableAddress[u1] :
# 531| m531_2(U) = Uninitialized[u1] : &:r531_1
# 531| r531_3(glval<double>) = FieldAddress[d] : r531_1
# 531| r531_4(glval<float>) = VariableAddress[f] :
# 531| r531_5(float) = Load[f] : &:r531_4, m530_8
# 531| r531_6(double) = Convert : r531_5
# 531| m531_7(double) = Store[?] : &:r531_3, r531_6
# 533| v533_1(void) = NoOp :
# 530| v530_9(void) = ReturnVoid :
# 530| v530_10(void) = AliasedUse : m530_3
# 530| v530_11(void) = ExitFunction :
# 535| void EarlyReturn(int, int)
# 535| Block 0
# 535| v535_1(void) = EnterFunction :
# 535| m535_2(unknown) = AliasedDefinition :
# 535| m535_3(unknown) = InitializeNonLocal :
# 535| m535_4(unknown) = Chi : total:m535_2, partial:m535_3
# 535| r535_5(glval<int>) = VariableAddress[x] :
# 535| m535_6(int) = InitializeParameter[x] : &:r535_5
# 535| r535_7(glval<int>) = VariableAddress[y] :
# 535| m535_8(int) = InitializeParameter[y] : &:r535_7
# 536| r536_1(glval<int>) = VariableAddress[x] :
# 536| r536_2(int) = Load[x] : &:r536_1, m535_6
# 536| r536_3(glval<int>) = VariableAddress[y] :
# 536| r536_4(int) = Load[y] : &:r536_3, m535_8
# 536| r536_5(bool) = CompareLT : r536_2, r536_4
# 536| v536_6(void) = ConditionalBranch : r536_5
#-----| False -> Block 3
#-----| True -> Block 2
# 535| Block 1
# 535| v535_9(void) = ReturnVoid :
# 535| v535_10(void) = AliasedUse : m535_3
# 535| v535_11(void) = ExitFunction :
# 537| Block 2
# 537| v537_1(void) = NoOp :
#-----| Goto -> Block 1
# 540| Block 3
# 540| r540_1(glval<int>) = VariableAddress[x] :
# 540| r540_2(int) = Load[x] : &:r540_1, m535_6
# 540| r540_3(glval<int>) = VariableAddress[y] :
# 540| m540_4(int) = Store[y] : &:r540_3, r540_2
# 541| v541_1(void) = NoOp :
#-----| Goto -> Block 1
# 543| int EarlyReturnValue(int, int)
# 543| Block 0
# 543| v543_1(void) = EnterFunction :
# 543| m543_2(unknown) = AliasedDefinition :
# 543| m543_3(unknown) = InitializeNonLocal :
# 543| m543_4(unknown) = Chi : total:m543_2, partial:m543_3
# 543| r543_5(glval<int>) = VariableAddress[x] :
# 543| m543_6(int) = InitializeParameter[x] : &:r543_5
# 543| r543_7(glval<int>) = VariableAddress[y] :
# 543| m543_8(int) = InitializeParameter[y] : &:r543_7
# 544| r544_1(glval<int>) = VariableAddress[x] :
# 544| r544_2(int) = Load[x] : &:r544_1, m543_6
# 544| r544_3(glval<int>) = VariableAddress[y] :
# 544| r544_4(int) = Load[y] : &:r544_3, m543_8
# 544| r544_5(bool) = CompareLT : r544_2, r544_4
# 544| v544_6(void) = ConditionalBranch : r544_5
#-----| False -> Block 3
#-----| True -> Block 2
# 543| Block 1
# 543| m543_9(int) = Phi : from 2:m545_4, from 3:m548_7
# 543| r543_10(glval<int>) = VariableAddress[#return] :
# 543| v543_11(void) = ReturnValue : &:r543_10, m543_9
# 543| v543_12(void) = AliasedUse : m543_3
# 543| v543_13(void) = ExitFunction :
# 545| Block 2
# 545| r545_1(glval<int>) = VariableAddress[#return] :
# 545| r545_2(glval<int>) = VariableAddress[x] :
# 545| r545_3(int) = Load[x] : &:r545_2, m543_6
# 545| m545_4(int) = Store[#return] : &:r545_1, r545_3
#-----| Goto -> Block 1
# 548| Block 3
# 548| r548_1(glval<int>) = VariableAddress[#return] :
# 548| r548_2(glval<int>) = VariableAddress[x] :
# 548| r548_3(int) = Load[x] : &:r548_2, m543_6
# 548| r548_4(glval<int>) = VariableAddress[y] :
# 548| r548_5(int) = Load[y] : &:r548_4, m543_8
# 548| r548_6(int) = Add : r548_3, r548_5
# 548| m548_7(int) = Store[#return] : &:r548_1, r548_6
#-----| Goto -> Block 1
# 551| int CallViaFuncPtr(int(*)(int))
# 551| Block 0
# 551| v551_1(void) = EnterFunction :
# 551| m551_2(unknown) = AliasedDefinition :
# 551| m551_3(unknown) = InitializeNonLocal :
# 551| m551_4(unknown) = Chi : total:m551_2, partial:m551_3
# 551| r551_5(glval<..(*)(..)>) = VariableAddress[pfn] :
# 551| m551_6(..(*)(..)) = InitializeParameter[pfn] : &:r551_5
# 552| r552_1(glval<int>) = VariableAddress[#return] :
# 552| r552_2(glval<..(*)(..)>) = VariableAddress[pfn] :
# 552| r552_3(..(*)(..)) = Load[pfn] : &:r552_2, m551_6
# 552| r552_4(int) = Constant[5] :
# 552| r552_5(int) = Call[?] : func:r552_3, 0:r552_4
# 552| m552_6(unknown) = ^CallSideEffect : ~m551_4
# 552| m552_7(unknown) = Chi : total:m551_4, partial:m552_6
# 552| m552_8(int) = Store[#return] : &:r552_1, r552_5
# 551| r551_7(glval<int>) = VariableAddress[#return] :
# 551| v551_8(void) = ReturnValue : &:r551_7, m552_8
# 551| v551_9(void) = AliasedUse : ~m552_7
# 551| v551_10(void) = ExitFunction :
# 560| int EnumSwitch(E)
# 560| Block 0
# 560| v560_1(void) = EnterFunction :
# 560| m560_2(unknown) = AliasedDefinition :
# 560| m560_3(unknown) = InitializeNonLocal :
# 560| m560_4(unknown) = Chi : total:m560_2, partial:m560_3
# 560| r560_5(glval<E>) = VariableAddress[e] :
# 560| m560_6(E) = InitializeParameter[e] : &:r560_5
# 561| r561_1(glval<E>) = VariableAddress[e] :
# 561| r561_2(E) = Load[e] : &:r561_1, m560_6
# 561| r561_3(int) = Convert : r561_2
# 561| v561_4(void) = Switch : r561_3
#-----| Case[0] -> Block 2
#-----| Case[1] -> Block 3
#-----| Default -> Block 4
# 560| Block 1
# 560| m560_7(int) = Phi : from 2:m563_3, from 3:m565_3, from 4:m567_3
# 560| r560_8(glval<int>) = VariableAddress[#return] :
# 560| v560_9(void) = ReturnValue : &:r560_8, m560_7
# 560| v560_10(void) = AliasedUse : m560_3
# 560| v560_11(void) = ExitFunction :
# 562| Block 2
# 562| v562_1(void) = NoOp :
# 563| r563_1(glval<int>) = VariableAddress[#return] :
# 563| r563_2(int) = Constant[0] :
# 563| m563_3(int) = Store[#return] : &:r563_1, r563_2
#-----| Goto -> Block 1
# 564| Block 3
# 564| v564_1(void) = NoOp :
# 565| r565_1(glval<int>) = VariableAddress[#return] :
# 565| r565_2(int) = Constant[1] :
# 565| m565_3(int) = Store[#return] : &:r565_1, r565_2
#-----| Goto -> Block 1
# 566| Block 4
# 566| v566_1(void) = NoOp :
# 567| r567_1(glval<int>) = VariableAddress[#return] :
# 567| r567_2(int) = Constant[-1] :
# 567| m567_3(int) = Store[#return] : &:r567_1, r567_2
#-----| Goto -> Block 1
# 571| void InitArray()
# 571| Block 0
# 571| v571_1(void) = EnterFunction :
# 571| m571_2(unknown) = AliasedDefinition :
# 571| m571_3(unknown) = InitializeNonLocal :
# 571| m571_4(unknown) = Chi : total:m571_2, partial:m571_3
# 572| r572_1(glval<char[32]>) = VariableAddress[a_pad] :
# 572| r572_2(glval<char[32]>) = StringConstant[""] :
# 572| r572_3(char[32]) = Load[?] : &:r572_2, ~m571_3
# 572| m572_4(char[32]) = Store[a_pad] : &:r572_1, r572_3
# 573| r573_1(glval<char[4]>) = VariableAddress[a_nopad] :
# 573| r573_2(glval<char[4]>) = StringConstant["foo"] :
# 573| r573_3(char[4]) = Load[?] : &:r573_2, ~m571_3
# 573| m573_4(char[4]) = Store[a_nopad] : &:r573_1, r573_3
# 574| r574_1(glval<char[5]>) = VariableAddress[a_infer] :
# 574| r574_2(glval<char[5]>) = StringConstant["blah"] :
# 574| r574_3(char[5]) = Load[?] : &:r574_2, ~m571_3
# 574| m574_4(char[5]) = Store[a_infer] : &:r574_1, r574_3
# 575| r575_1(glval<char[2]>) = VariableAddress[b] :
# 575| m575_2(char[2]) = Uninitialized[b] : &:r575_1
# 576| r576_1(glval<char[2]>) = VariableAddress[c] :
# 576| m576_2(char[2]) = Uninitialized[c] : &:r576_1
# 576| r576_3(int) = Constant[0] :
# 576| r576_4(glval<char>) = PointerAdd[1] : r576_1, r576_3
# 576| r576_5(unknown[2]) = Constant[0] :
# 576| m576_6(unknown[2]) = Store[?] : &:r576_4, r576_5
# 577| r577_1(glval<char[2]>) = VariableAddress[d] :
# 577| m577_2(char[2]) = Uninitialized[d] : &:r577_1
# 577| r577_3(int) = Constant[0] :
# 577| r577_4(glval<char>) = PointerAdd[1] : r577_1, r577_3
# 577| r577_5(char) = Constant[0] :
# 577| m577_6(char) = Store[?] : &:r577_4, r577_5
# 577| m577_7(char[2]) = Chi : total:m577_2, partial:m577_6
# 577| r577_8(int) = Constant[1] :
# 577| r577_9(glval<char>) = PointerAdd[1] : r577_1, r577_8
# 577| r577_10(char) = Constant[0] :
# 577| m577_11(char) = Store[?] : &:r577_9, r577_10
# 577| m577_12(char[2]) = Chi : total:m577_7, partial:m577_11
# 578| r578_1(glval<char[2]>) = VariableAddress[e] :
# 578| m578_2(char[2]) = Uninitialized[e] : &:r578_1
# 578| r578_3(int) = Constant[0] :
# 578| r578_4(glval<char>) = PointerAdd[1] : r578_1, r578_3
# 578| r578_5(char) = Constant[0] :
# 578| m578_6(char) = Store[?] : &:r578_4, r578_5
# 578| m578_7(char[2]) = Chi : total:m578_2, partial:m578_6
# 578| r578_8(int) = Constant[1] :
# 578| r578_9(glval<char>) = PointerAdd[1] : r578_1, r578_8
# 578| r578_10(char) = Constant[1] :
# 578| m578_11(char) = Store[?] : &:r578_9, r578_10
# 578| m578_12(char[2]) = Chi : total:m578_7, partial:m578_11
# 579| r579_1(glval<char[3]>) = VariableAddress[f] :
# 579| m579_2(char[3]) = Uninitialized[f] : &:r579_1
# 579| r579_3(int) = Constant[0] :
# 579| r579_4(glval<char>) = PointerAdd[1] : r579_1, r579_3
# 579| r579_5(char) = Constant[0] :
# 579| m579_6(char) = Store[?] : &:r579_4, r579_5
# 579| m579_7(char[3]) = Chi : total:m579_2, partial:m579_6
# 579| r579_8(int) = Constant[1] :
# 579| r579_9(glval<char>) = PointerAdd[1] : r579_1, r579_8
# 579| r579_10(unknown[2]) = Constant[0] :
# 579| m579_11(unknown[2]) = Store[?] : &:r579_9, r579_10
# 579| m579_12(char[3]) = Chi : total:m579_7, partial:m579_11
# 580| v580_1(void) = NoOp :
# 571| v571_5(void) = ReturnVoid :
# 571| v571_6(void) = AliasedUse : m571_3
# 571| v571_7(void) = ExitFunction :
# 584| void VarArgs()
# 584| Block 0
# 584| v584_1(void) = EnterFunction :
# 584| m584_2(unknown) = AliasedDefinition :
# 584| m584_3(unknown) = InitializeNonLocal :
# 584| m584_4(unknown) = Chi : total:m584_2, partial:m584_3
# 585| r585_1(glval<unknown>) = FunctionAddress[VarArgFunction] :
# 585| r585_2(glval<char[6]>) = StringConstant["%d %s"] :
# 585| r585_3(char *) = Convert : r585_2
# 585| r585_4(int) = Constant[1] :
# 585| r585_5(glval<char[7]>) = StringConstant["string"] :
# 585| r585_6(char *) = Convert : r585_5
# 585| v585_7(void) = Call[VarArgFunction] : func:r585_1, 0:r585_3, 1:r585_4, 2:r585_6
# 585| m585_8(unknown) = ^CallSideEffect : ~m584_4
# 585| m585_9(unknown) = Chi : total:m584_4, partial:m585_8
# 585| v585_10(void) = ^BufferReadSideEffect[0] : &:r585_3, ~m584_3
# 585| v585_11(void) = ^BufferReadSideEffect[2] : &:r585_6, ~m584_3
# 585| m585_12(unknown) = ^BufferMayWriteSideEffect[2] : &:r585_6
# 585| m585_13(unknown) = Chi : total:m585_9, partial:m585_12
# 586| v586_1(void) = NoOp :
# 584| v584_5(void) = ReturnVoid :
# 584| v584_6(void) = AliasedUse : ~m585_13
# 584| v584_7(void) = ExitFunction :
# 590| void SetFuncPtr()
# 590| Block 0
# 590| v590_1(void) = EnterFunction :
# 590| m590_2(unknown) = AliasedDefinition :
# 590| m590_3(unknown) = InitializeNonLocal :
# 590| m590_4(unknown) = Chi : total:m590_2, partial:m590_3
# 591| r591_1(glval<..(*)(..)>) = VariableAddress[pfn] :
# 591| r591_2(..(*)(..)) = FunctionAddress[FuncPtrTarget] :
# 591| m591_3(..(*)(..)) = Store[pfn] : &:r591_1, r591_2
# 592| r592_1(glval<..()(..)>) = FunctionAddress[FuncPtrTarget] :
# 592| r592_2(..(*)(..)) = CopyValue : r592_1
# 592| r592_3(glval<..(*)(..)>) = VariableAddress[pfn] :
# 592| m592_4(..(*)(..)) = Store[pfn] : &:r592_3, r592_2
# 593| r593_1(..(*)(..)) = FunctionAddress[FuncPtrTarget] :
# 593| r593_2(..(*)(..)) = CopyValue : r593_1
# 593| r593_3(glval<..(*)(..)>) = VariableAddress[pfn] :
# 593| m593_4(..(*)(..)) = Store[pfn] : &:r593_3, r593_2
# 594| r594_1(glval<..()(..)>) = FunctionAddress[FuncPtrTarget] :
# 594| r594_2(..(*)(..)) = CopyValue : r594_1
# 594| r594_3(..(*)(..)) = CopyValue : r594_2
# 594| r594_4(..(*)(..)) = CopyValue : r594_3
# 594| r594_5(..(*)(..)) = CopyValue : r594_4
# 594| r594_6(glval<..(*)(..)>) = VariableAddress[pfn] :
# 594| m594_7(..(*)(..)) = Store[pfn] : &:r594_6, r594_5
# 595| v595_1(void) = NoOp :
# 590| v590_5(void) = ReturnVoid :
# 590| v590_6(void) = AliasedUse : m590_3
# 590| v590_7(void) = ExitFunction :
# 615| void DeclareObject()
# 615| Block 0
# 615| v615_1(void) = EnterFunction :
# 615| m615_2(unknown) = AliasedDefinition :
# 615| m615_3(unknown) = InitializeNonLocal :
# 615| m615_4(unknown) = Chi : total:m615_2, partial:m615_3
# 616| r616_1(glval<String>) = VariableAddress[s1] :
# 616| m616_2(String) = Uninitialized[s1] : &:r616_1
# 616| m616_3(unknown) = Chi : total:m615_4, partial:m616_2
# 616| r616_4(glval<unknown>) = FunctionAddress[String] :
# 616| v616_5(void) = Call[String] : func:r616_4, this:r616_1
# 616| m616_6(unknown) = ^CallSideEffect : ~m616_3
# 616| m616_7(unknown) = Chi : total:m616_3, partial:m616_6
# 616| m616_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r616_1
# 616| m616_9(unknown) = Chi : total:m616_7, partial:m616_8
# 617| r617_1(glval<String>) = VariableAddress[s2] :
# 617| m617_2(String) = Uninitialized[s2] : &:r617_1
# 617| m617_3(unknown) = Chi : total:m616_9, partial:m617_2
# 617| r617_4(glval<unknown>) = FunctionAddress[String] :
# 617| r617_5(glval<char[6]>) = StringConstant["hello"] :
# 617| r617_6(char *) = Convert : r617_5
# 617| v617_7(void) = Call[String] : func:r617_4, this:r617_1, 0:r617_6
# 617| m617_8(unknown) = ^CallSideEffect : ~m617_3
# 617| m617_9(unknown) = Chi : total:m617_3, partial:m617_8
# 617| v617_10(void) = ^BufferReadSideEffect[0] : &:r617_6, ~m615_3
# 617| m617_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r617_1
# 617| m617_12(unknown) = Chi : total:m617_9, partial:m617_11
# 618| r618_1(glval<String>) = VariableAddress[s3] :
# 618| r618_2(glval<unknown>) = FunctionAddress[ReturnObject] :
# 618| r618_3(String) = Call[ReturnObject] : func:r618_2
# 618| m618_4(unknown) = ^CallSideEffect : ~m617_12
# 618| m618_5(unknown) = Chi : total:m617_12, partial:m618_4
# 618| m618_6(String) = Store[s3] : &:r618_1, r618_3
# 618| m618_7(unknown) = Chi : total:m618_5, partial:m618_6
# 619| r619_1(glval<String>) = VariableAddress[s4] :
# 619| m619_2(String) = Uninitialized[s4] : &:r619_1
# 619| m619_3(unknown) = Chi : total:m618_7, partial:m619_2
# 619| r619_4(glval<unknown>) = FunctionAddress[String] :
# 619| r619_5(glval<char[5]>) = StringConstant["test"] :
# 619| r619_6(char *) = Convert : r619_5
# 619| v619_7(void) = Call[String] : func:r619_4, this:r619_1, 0:r619_6
# 619| m619_8(unknown) = ^CallSideEffect : ~m619_3
# 619| m619_9(unknown) = Chi : total:m619_3, partial:m619_8
# 619| v619_10(void) = ^BufferReadSideEffect[0] : &:r619_6, ~m615_3
# 619| m619_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r619_1
# 619| m619_12(unknown) = Chi : total:m619_9, partial:m619_11
# 620| v620_1(void) = NoOp :
# 620| r620_2(glval<String>) = VariableAddress[s4] :
# 620| r620_3(glval<unknown>) = FunctionAddress[~String] :
# 620| v620_4(void) = Call[~String] : func:r620_3, this:r620_2
# 620| m620_5(unknown) = ^CallSideEffect : ~m619_12
# 620| m620_6(unknown) = Chi : total:m619_12, partial:m620_5
# 620| v620_7(void) = ^IndirectReadSideEffect[-1] : &:r620_2, ~m620_6
# 620| m620_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r620_2
# 620| m620_9(unknown) = Chi : total:m620_6, partial:m620_8
# 620| r620_10(glval<String>) = VariableAddress[s3] :
# 620| r620_11(glval<unknown>) = FunctionAddress[~String] :
# 620| v620_12(void) = Call[~String] : func:r620_11, this:r620_10
# 620| m620_13(unknown) = ^CallSideEffect : ~m620_9
# 620| m620_14(unknown) = Chi : total:m620_9, partial:m620_13
# 620| v620_15(void) = ^IndirectReadSideEffect[-1] : &:r620_10, ~m620_14
# 620| m620_16(String) = ^IndirectMayWriteSideEffect[-1] : &:r620_10
# 620| m620_17(unknown) = Chi : total:m620_14, partial:m620_16
# 620| r620_18(glval<String>) = VariableAddress[s2] :
# 620| r620_19(glval<unknown>) = FunctionAddress[~String] :
# 620| v620_20(void) = Call[~String] : func:r620_19, this:r620_18
# 620| m620_21(unknown) = ^CallSideEffect : ~m620_17
# 620| m620_22(unknown) = Chi : total:m620_17, partial:m620_21
# 620| v620_23(void) = ^IndirectReadSideEffect[-1] : &:r620_18, ~m620_22
# 620| m620_24(String) = ^IndirectMayWriteSideEffect[-1] : &:r620_18
# 620| m620_25(unknown) = Chi : total:m620_22, partial:m620_24
# 620| r620_26(glval<String>) = VariableAddress[s1] :
# 620| r620_27(glval<unknown>) = FunctionAddress[~String] :
# 620| v620_28(void) = Call[~String] : func:r620_27, this:r620_26
# 620| m620_29(unknown) = ^CallSideEffect : ~m620_25
# 620| m620_30(unknown) = Chi : total:m620_25, partial:m620_29
# 620| v620_31(void) = ^IndirectReadSideEffect[-1] : &:r620_26, ~m620_30
# 620| m620_32(String) = ^IndirectMayWriteSideEffect[-1] : &:r620_26
# 620| m620_33(unknown) = Chi : total:m620_30, partial:m620_32
# 615| v615_5(void) = ReturnVoid :
# 615| v615_6(void) = AliasedUse : ~m620_30
# 615| v615_7(void) = ExitFunction :
# 622| void CallMethods(String&, String*, String)
# 622| Block 0
# 622| v622_1(void) = EnterFunction :
# 622| m622_2(unknown) = AliasedDefinition :
# 622| m622_3(unknown) = InitializeNonLocal :
# 622| m622_4(unknown) = Chi : total:m622_2, partial:m622_3
# 622| r622_5(glval<String &>) = VariableAddress[r] :
# 622| m622_6(String &) = InitializeParameter[r] : &:r622_5
# 622| r622_7(String &) = Load[r] : &:r622_5, m622_6
# 622| m622_8(unknown) = InitializeIndirection[r] : &:r622_7
# 622| m622_9(unknown) = Chi : total:m622_4, partial:m622_8
# 622| r622_10(glval<String *>) = VariableAddress[p] :
# 622| m622_11(String *) = InitializeParameter[p] : &:r622_10
# 622| r622_12(String *) = Load[p] : &:r622_10, m622_11
# 622| m622_13(unknown) = InitializeIndirection[p] : &:r622_12
# 622| m622_14(unknown) = Chi : total:m622_9, partial:m622_13
# 622| r622_15(glval<String>) = VariableAddress[s] :
# 622| m622_16(String) = InitializeParameter[s] : &:r622_15
# 622| m622_17(unknown) = Chi : total:m622_14, partial:m622_16
# 623| r623_1(glval<String &>) = VariableAddress[r] :
# 623| r623_2(String &) = Load[r] : &:r623_1, m622_6
# 623| r623_3(glval<String>) = CopyValue : r623_2
# 623| r623_4(glval<String>) = Convert : r623_3
# 623| r623_5(glval<unknown>) = FunctionAddress[c_str] :
# 623| r623_6(char *) = Call[c_str] : func:r623_5, this:r623_4
# 623| m623_7(unknown) = ^CallSideEffect : ~m622_17
# 623| m623_8(unknown) = Chi : total:m622_17, partial:m623_7
# 623| v623_9(void) = ^IndirectReadSideEffect[-1] : &:r623_4, ~m623_8
# 624| r624_1(glval<String *>) = VariableAddress[p] :
# 624| r624_2(String *) = Load[p] : &:r624_1, m622_11
# 624| r624_3(String *) = Convert : r624_2
# 624| r624_4(glval<unknown>) = FunctionAddress[c_str] :
# 624| r624_5(char *) = Call[c_str] : func:r624_4, this:r624_3
# 624| m624_6(unknown) = ^CallSideEffect : ~m623_8
# 624| m624_7(unknown) = Chi : total:m623_8, partial:m624_6
# 624| v624_8(void) = ^IndirectReadSideEffect[-1] : &:r624_3, ~m624_7
# 625| r625_1(glval<String>) = VariableAddress[s] :
# 625| r625_2(glval<String>) = Convert : r625_1
# 625| r625_3(glval<unknown>) = FunctionAddress[c_str] :
# 625| r625_4(char *) = Call[c_str] : func:r625_3, this:r625_2
# 625| m625_5(unknown) = ^CallSideEffect : ~m624_7
# 625| m625_6(unknown) = Chi : total:m624_7, partial:m625_5
# 625| v625_7(void) = ^IndirectReadSideEffect[-1] : &:r625_2, ~m625_6
# 626| v626_1(void) = NoOp :
# 622| v622_18(void) = ReturnIndirection[r] : &:r622_7, ~m625_6
# 622| v622_19(void) = ReturnIndirection[p] : &:r622_12, ~m625_6
# 622| v622_20(void) = ReturnVoid :
# 622| v622_21(void) = AliasedUse : ~m625_6
# 622| v622_22(void) = ExitFunction :
# 628| void C::~C()
# 628| Block 0
# 628| v628_1(void) = EnterFunction :
# 628| m628_2(unknown) = AliasedDefinition :
# 628| m628_3(unknown) = InitializeNonLocal :
# 628| m628_4(unknown) = Chi : total:m628_2, partial:m628_3
# 628| r628_5(glval<unknown>) = VariableAddress[#this] :
# 628| m628_6(glval<C>) = InitializeParameter[#this] : &:r628_5
# 628| r628_7(glval<C>) = Load[#this] : &:r628_5, m628_6
# 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_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_16(glval<unknown>) = FunctionAddress[~String] :
# 628| v628_17(void) = Call[~String] : func:r628_16, this:r628_15
# 628| m628_18(unknown) = ^CallSideEffect : ~m628_14
# 628| m628_19(unknown) = Chi : total:m628_14, partial:m628_18
# 628| v628_20(void) = ReturnIndirection[#this] : &:r628_7, ~m628_19
# 628| v628_21(void) = ReturnVoid :
# 628| v628_22(void) = AliasedUse : ~m628_19
# 628| v628_23(void) = ExitFunction :
# 630| int C::StaticMemberFunction(int)
# 630| Block 0
# 630| v630_1(void) = EnterFunction :
# 630| m630_2(unknown) = AliasedDefinition :
# 630| m630_3(unknown) = InitializeNonLocal :
# 630| m630_4(unknown) = Chi : total:m630_2, partial:m630_3
# 630| r630_5(glval<int>) = VariableAddress[x] :
# 630| m630_6(int) = InitializeParameter[x] : &:r630_5
# 631| r631_1(glval<int>) = VariableAddress[#return] :
# 631| r631_2(glval<int>) = VariableAddress[x] :
# 631| r631_3(int) = Load[x] : &:r631_2, m630_6
# 631| m631_4(int) = Store[#return] : &:r631_1, r631_3
# 630| r630_7(glval<int>) = VariableAddress[#return] :
# 630| v630_8(void) = ReturnValue : &:r630_7, m631_4
# 630| v630_9(void) = AliasedUse : m630_3
# 630| v630_10(void) = ExitFunction :
# 634| int C::InstanceMemberFunction(int)
# 634| Block 0
# 634| v634_1(void) = EnterFunction :
# 634| m634_2(unknown) = AliasedDefinition :
# 634| m634_3(unknown) = InitializeNonLocal :
# 634| m634_4(unknown) = Chi : total:m634_2, partial:m634_3
# 634| r634_5(glval<unknown>) = VariableAddress[#this] :
# 634| m634_6(glval<C>) = InitializeParameter[#this] : &:r634_5
# 634| r634_7(glval<C>) = Load[#this] : &:r634_5, m634_6
# 634| m634_8(C) = InitializeIndirection[#this] : &:r634_7
# 634| r634_9(glval<int>) = VariableAddress[x] :
# 634| m634_10(int) = InitializeParameter[x] : &:r634_9
# 635| r635_1(glval<int>) = VariableAddress[#return] :
# 635| r635_2(glval<int>) = VariableAddress[x] :
# 635| r635_3(int) = Load[x] : &:r635_2, m634_10
# 635| m635_4(int) = Store[#return] : &:r635_1, r635_3
# 634| v634_11(void) = ReturnIndirection[#this] : &:r634_7, m634_8
# 634| r634_12(glval<int>) = VariableAddress[#return] :
# 634| v634_13(void) = ReturnValue : &:r634_12, m635_4
# 634| v634_14(void) = AliasedUse : m634_3
# 634| v634_15(void) = ExitFunction :
# 638| int C::VirtualMemberFunction(int)
# 638| Block 0
# 638| v638_1(void) = EnterFunction :
# 638| m638_2(unknown) = AliasedDefinition :
# 638| m638_3(unknown) = InitializeNonLocal :
# 638| m638_4(unknown) = Chi : total:m638_2, partial:m638_3
# 638| r638_5(glval<unknown>) = VariableAddress[#this] :
# 638| m638_6(glval<C>) = InitializeParameter[#this] : &:r638_5
# 638| r638_7(glval<C>) = Load[#this] : &:r638_5, m638_6
# 638| m638_8(C) = InitializeIndirection[#this] : &:r638_7
# 638| r638_9(glval<int>) = VariableAddress[x] :
# 638| m638_10(int) = InitializeParameter[x] : &:r638_9
# 639| r639_1(glval<int>) = VariableAddress[#return] :
# 639| r639_2(glval<int>) = VariableAddress[x] :
# 639| r639_3(int) = Load[x] : &:r639_2, m638_10
# 639| m639_4(int) = Store[#return] : &:r639_1, r639_3
# 638| v638_11(void) = ReturnIndirection[#this] : &:r638_7, m638_8
# 638| r638_12(glval<int>) = VariableAddress[#return] :
# 638| v638_13(void) = ReturnValue : &:r638_12, m639_4
# 638| v638_14(void) = AliasedUse : m638_3
# 638| v638_15(void) = ExitFunction :
# 642| void C::FieldAccess()
# 642| Block 0
# 642| v642_1(void) = EnterFunction :
# 642| m642_2(unknown) = AliasedDefinition :
# 642| m642_3(unknown) = InitializeNonLocal :
# 642| m642_4(unknown) = Chi : total:m642_2, partial:m642_3
# 642| r642_5(glval<unknown>) = VariableAddress[#this] :
# 642| m642_6(glval<C>) = InitializeParameter[#this] : &:r642_5
# 642| r642_7(glval<C>) = Load[#this] : &:r642_5, m642_6
# 642| m642_8(C) = InitializeIndirection[#this] : &:r642_7
# 643| r643_1(int) = Constant[0] :
# 643| r643_2(glval<unknown>) = VariableAddress[#this] :
# 643| r643_3(C *) = Load[#this] : &:r643_2, m642_6
# 643| r643_4(glval<int>) = FieldAddress[m_a] : r643_3
# 643| m643_5(int) = Store[?] : &:r643_4, r643_1
# 643| m643_6(unknown) = Chi : total:m642_8, partial:m643_5
# 644| r644_1(int) = Constant[1] :
# 644| r644_2(glval<unknown>) = VariableAddress[#this] :
# 644| r644_3(C *) = Load[#this] : &:r644_2, m642_6
# 644| r644_4(glval<C>) = CopyValue : r644_3
# 644| r644_5(glval<int>) = FieldAddress[m_a] : r644_4
# 644| m644_6(int) = Store[?] : &:r644_5, r644_1
# 644| m644_7(unknown) = Chi : total:m643_6, partial:m644_6
# 645| r645_1(int) = Constant[2] :
# 645| r645_2(glval<unknown>) = VariableAddress[#this] :
# 645| r645_3(C *) = Load[#this] : &:r645_2, m642_6
# 645| r645_4(glval<int>) = FieldAddress[m_a] : r645_3
# 645| m645_5(int) = Store[?] : &:r645_4, r645_1
# 645| m645_6(unknown) = Chi : total:m644_7, partial:m645_5
# 646| r646_1(glval<int>) = VariableAddress[x] :
# 646| m646_2(int) = Uninitialized[x] : &:r646_1
# 647| r647_1(glval<unknown>) = VariableAddress[#this] :
# 647| r647_2(C *) = Load[#this] : &:r647_1, m642_6
# 647| r647_3(glval<int>) = FieldAddress[m_a] : r647_2
# 647| r647_4(int) = Load[?] : &:r647_3, m645_5
# 647| r647_5(glval<int>) = VariableAddress[x] :
# 647| m647_6(int) = Store[x] : &:r647_5, r647_4
# 648| r648_1(glval<unknown>) = VariableAddress[#this] :
# 648| r648_2(C *) = Load[#this] : &:r648_1, m642_6
# 648| r648_3(glval<C>) = CopyValue : r648_2
# 648| r648_4(glval<int>) = FieldAddress[m_a] : r648_3
# 648| r648_5(int) = Load[?] : &:r648_4, m645_5
# 648| r648_6(glval<int>) = VariableAddress[x] :
# 648| m648_7(int) = Store[x] : &:r648_6, r648_5
# 649| r649_1(glval<unknown>) = VariableAddress[#this] :
# 649| r649_2(C *) = Load[#this] : &:r649_1, m642_6
# 649| r649_3(glval<int>) = FieldAddress[m_a] : r649_2
# 649| r649_4(int) = Load[?] : &:r649_3, m645_5
# 649| r649_5(glval<int>) = VariableAddress[x] :
# 649| m649_6(int) = Store[x] : &:r649_5, r649_4
# 650| v650_1(void) = NoOp :
# 642| v642_9(void) = ReturnIndirection[#this] : &:r642_7, m645_6
# 642| v642_10(void) = ReturnVoid :
# 642| v642_11(void) = AliasedUse : m642_3
# 642| v642_12(void) = ExitFunction :
# 652| void C::MethodCalls()
# 652| Block 0
# 652| v652_1(void) = EnterFunction :
# 652| m652_2(unknown) = AliasedDefinition :
# 652| m652_3(unknown) = InitializeNonLocal :
# 652| m652_4(unknown) = Chi : total:m652_2, partial:m652_3
# 652| r652_5(glval<unknown>) = VariableAddress[#this] :
# 652| m652_6(glval<C>) = InitializeParameter[#this] : &:r652_5
# 652| r652_7(glval<C>) = Load[#this] : &:r652_5, m652_6
# 652| m652_8(C) = InitializeIndirection[#this] : &:r652_7
# 653| r653_1(glval<unknown>) = VariableAddress[#this] :
# 653| r653_2(C *) = Load[#this] : &:r653_1, m652_6
# 653| r653_3(glval<unknown>) = FunctionAddress[InstanceMemberFunction] :
# 653| r653_4(int) = Constant[0] :
# 653| r653_5(int) = Call[InstanceMemberFunction] : func:r653_3, this:r653_2, 0:r653_4
# 653| m653_6(unknown) = ^CallSideEffect : ~m652_4
# 653| m653_7(unknown) = Chi : total:m652_4, partial:m653_6
# 653| v653_8(void) = ^IndirectReadSideEffect[-1] : &:r653_2, ~m652_8
# 653| m653_9(C) = ^IndirectMayWriteSideEffect[-1] : &:r653_2
# 653| m653_10(unknown) = Chi : total:m652_8, partial:m653_9
# 654| r654_1(glval<unknown>) = VariableAddress[#this] :
# 654| r654_2(C *) = Load[#this] : &:r654_1, m652_6
# 654| r654_3(glval<C>) = CopyValue : r654_2
# 654| r654_4(glval<unknown>) = FunctionAddress[InstanceMemberFunction] :
# 654| r654_5(int) = Constant[1] :
# 654| r654_6(int) = Call[InstanceMemberFunction] : func:r654_4, this:r654_3, 0:r654_5
# 654| m654_7(unknown) = ^CallSideEffect : ~m653_7
# 654| m654_8(unknown) = Chi : total:m653_7, partial:m654_7
# 654| v654_9(void) = ^IndirectReadSideEffect[-1] : &:r654_3, ~m653_10
# 654| m654_10(C) = ^IndirectMayWriteSideEffect[-1] : &:r654_3
# 654| m654_11(unknown) = Chi : total:m653_10, partial:m654_10
# 655| r655_1(glval<unknown>) = VariableAddress[#this] :
# 655| r655_2(C *) = Load[#this] : &:r655_1, m652_6
# 655| r655_3(glval<unknown>) = FunctionAddress[InstanceMemberFunction] :
# 655| r655_4(int) = Constant[2] :
# 655| r655_5(int) = Call[InstanceMemberFunction] : func:r655_3, this:r655_2, 0:r655_4
# 655| m655_6(unknown) = ^CallSideEffect : ~m654_8
# 655| m655_7(unknown) = Chi : total:m654_8, partial:m655_6
# 655| v655_8(void) = ^IndirectReadSideEffect[-1] : &:r655_2, ~m654_11
# 655| m655_9(C) = ^IndirectMayWriteSideEffect[-1] : &:r655_2
# 655| m655_10(unknown) = Chi : total:m654_11, partial:m655_9
# 656| v656_1(void) = NoOp :
# 652| v652_9(void) = ReturnIndirection[#this] : &:r652_7, m655_10
# 652| v652_10(void) = ReturnVoid :
# 652| v652_11(void) = AliasedUse : ~m655_7
# 652| v652_12(void) = ExitFunction :
# 658| void C::C()
# 658| Block 0
# 658| v658_1(void) = EnterFunction :
# 658| m658_2(unknown) = AliasedDefinition :
# 658| m658_3(unknown) = InitializeNonLocal :
# 658| m658_4(unknown) = Chi : total:m658_2, partial:m658_3
# 658| r658_5(glval<unknown>) = VariableAddress[#this] :
# 658| m658_6(glval<C>) = InitializeParameter[#this] : &:r658_5
# 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_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_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_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_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_2(glval<unknown>) = FunctionAddress[String] :
# 662| r662_3(glval<char[5]>) = StringConstant["test"] :
# 662| r662_4(char *) = Convert : r662_3
# 662| v662_5(void) = Call[String] : func:r662_2, this:r662_1, 0:r662_4
# 662| m662_6(unknown) = ^CallSideEffect : ~m661_4
# 662| m662_7(unknown) = Chi : total:m661_4, partial:m662_6
# 662| v662_8(void) = ^BufferReadSideEffect[0] : &:r662_4, ~m658_3
# 662| m662_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r662_1
# 662| m662_10(unknown) = Chi : total:m662_7, partial:m662_9
# 664| v664_1(void) = NoOp :
# 658| v658_10(void) = ReturnIndirection[#this] : &:r658_7, ~m662_10
# 658| v658_11(void) = ReturnVoid :
# 658| v658_12(void) = AliasedUse : ~m662_10
# 658| v658_13(void) = ExitFunction :
# 675| int DerefReference(int&)
# 675| Block 0
# 675| v675_1(void) = EnterFunction :
# 675| m675_2(unknown) = AliasedDefinition :
# 675| m675_3(unknown) = InitializeNonLocal :
# 675| m675_4(unknown) = Chi : total:m675_2, partial:m675_3
# 675| r675_5(glval<int &>) = VariableAddress[r] :
# 675| m675_6(int &) = InitializeParameter[r] : &:r675_5
# 675| r675_7(int &) = Load[r] : &:r675_5, m675_6
# 675| m675_8(unknown) = InitializeIndirection[r] : &:r675_7
# 676| r676_1(glval<int>) = VariableAddress[#return] :
# 676| r676_2(glval<int &>) = VariableAddress[r] :
# 676| r676_3(int &) = Load[r] : &:r676_2, m675_6
# 676| r676_4(int) = Load[?] : &:r676_3, ~m675_8
# 676| m676_5(int) = Store[#return] : &:r676_1, r676_4
# 675| v675_9(void) = ReturnIndirection[r] : &:r675_7, m675_8
# 675| r675_10(glval<int>) = VariableAddress[#return] :
# 675| v675_11(void) = ReturnValue : &:r675_10, m676_5
# 675| v675_12(void) = AliasedUse : m675_3
# 675| v675_13(void) = ExitFunction :
# 679| int& TakeReference()
# 679| Block 0
# 679| v679_1(void) = EnterFunction :
# 679| m679_2(unknown) = AliasedDefinition :
# 679| m679_3(unknown) = InitializeNonLocal :
# 679| m679_4(unknown) = Chi : total:m679_2, partial:m679_3
# 680| r680_1(glval<int &>) = VariableAddress[#return] :
# 680| r680_2(glval<int>) = VariableAddress[g] :
# 680| r680_3(int &) = CopyValue : r680_2
# 680| m680_4(int &) = Store[#return] : &:r680_1, r680_3
# 679| r679_5(glval<int &>) = VariableAddress[#return] :
# 679| v679_6(void) = ReturnValue : &:r679_5, m680_4
# 679| v679_7(void) = AliasedUse : m679_3
# 679| v679_8(void) = ExitFunction :
# 685| void InitReference(int)
# 685| Block 0
# 685| v685_1(void) = EnterFunction :
# 685| m685_2(unknown) = AliasedDefinition :
# 685| m685_3(unknown) = InitializeNonLocal :
# 685| m685_4(unknown) = Chi : total:m685_2, partial:m685_3
# 685| r685_5(glval<int>) = VariableAddress[x] :
# 685| m685_6(int) = InitializeParameter[x] : &:r685_5
# 686| r686_1(glval<int &>) = VariableAddress[r] :
# 686| r686_2(glval<int>) = VariableAddress[x] :
# 686| r686_3(int &) = CopyValue : r686_2
# 686| m686_4(int &) = Store[r] : &:r686_1, r686_3
# 687| r687_1(glval<int &>) = VariableAddress[r2] :
# 687| r687_2(glval<int &>) = VariableAddress[r] :
# 687| r687_3(int &) = Load[r] : &:r687_2, m686_4
# 687| r687_4(glval<int>) = CopyValue : r687_3
# 687| r687_5(int &) = CopyValue : r687_4
# 687| m687_6(int &) = Store[r2] : &:r687_1, r687_5
# 688| r688_1(glval<String &>) = VariableAddress[r3] :
# 688| r688_2(glval<unknown>) = FunctionAddress[ReturnReference] :
# 688| r688_3(String &) = Call[ReturnReference] : func:r688_2
# 688| m688_4(unknown) = ^CallSideEffect : ~m685_4
# 688| m688_5(unknown) = Chi : total:m685_4, partial:m688_4
# 688| r688_6(glval<String>) = CopyValue : r688_3
# 688| r688_7(glval<String>) = Convert : r688_6
# 688| r688_8(String &) = CopyValue : r688_7
# 688| m688_9(String &) = Store[r3] : &:r688_1, r688_8
# 689| v689_1(void) = NoOp :
# 685| v685_7(void) = ReturnVoid :
# 685| v685_8(void) = AliasedUse : ~m688_5
# 685| v685_9(void) = ExitFunction :
# 691| void ArrayReferences()
# 691| Block 0
# 691| v691_1(void) = EnterFunction :
# 691| m691_2(unknown) = AliasedDefinition :
# 691| m691_3(unknown) = InitializeNonLocal :
# 691| m691_4(unknown) = Chi : total:m691_2, partial:m691_3
# 692| r692_1(glval<int[10]>) = VariableAddress[a] :
# 692| m692_2(int[10]) = Uninitialized[a] : &:r692_1
# 693| r693_1(glval<int(&)[10]>) = VariableAddress[ra] :
# 693| r693_2(glval<int[10]>) = VariableAddress[a] :
# 693| r693_3(int(&)[10]) = CopyValue : r693_2
# 693| m693_4(int(&)[10]) = Store[ra] : &:r693_1, r693_3
# 694| r694_1(glval<int>) = VariableAddress[x] :
# 694| r694_2(glval<int(&)[10]>) = VariableAddress[ra] :
# 694| r694_3(int(&)[10]) = Load[ra] : &:r694_2, m693_4
# 694| r694_4(glval<int[10]>) = CopyValue : r694_3
# 694| r694_5(int *) = Convert : r694_4
# 694| r694_6(int) = Constant[5] :
# 694| r694_7(glval<int>) = PointerAdd[4] : r694_5, r694_6
# 694| r694_8(int) = Load[?] : &:r694_7, ~m692_2
# 694| m694_9(int) = Store[x] : &:r694_1, r694_8
# 695| v695_1(void) = NoOp :
# 691| v691_5(void) = ReturnVoid :
# 691| v691_6(void) = AliasedUse : m691_3
# 691| v691_7(void) = ExitFunction :
# 697| void FunctionReferences()
# 697| Block 0
# 697| v697_1(void) = EnterFunction :
# 697| m697_2(unknown) = AliasedDefinition :
# 697| m697_3(unknown) = InitializeNonLocal :
# 697| m697_4(unknown) = Chi : total:m697_2, partial:m697_3
# 698| r698_1(glval<..(&)(..)>) = VariableAddress[rfn] :
# 698| r698_2(glval<..()(..)>) = FunctionAddress[FuncPtrTarget] :
# 698| r698_3(..(&)(..)) = CopyValue : r698_2
# 698| m698_4(..(&)(..)) = Store[rfn] : &:r698_1, r698_3
# 699| r699_1(glval<..(*)(..)>) = VariableAddress[pfn] :
# 699| r699_2(glval<..(&)(..)>) = VariableAddress[rfn] :
# 699| r699_3(..(&)(..)) = Load[rfn] : &:r699_2, m698_4
# 699| r699_4(..(*)(..)) = CopyValue : r699_3
# 699| m699_5(..(*)(..)) = Store[pfn] : &:r699_1, r699_4
# 700| r700_1(glval<..(&)(..)>) = VariableAddress[rfn] :
# 700| r700_2(..(&)(..)) = Load[rfn] : &:r700_1, m698_4
# 700| r700_3(..(*)(..)) = CopyValue : r700_2
# 700| r700_4(int) = Constant[5] :
# 700| r700_5(int) = Call[?] : func:r700_3, 0:r700_4
# 700| m700_6(unknown) = ^CallSideEffect : ~m697_4
# 700| m700_7(unknown) = Chi : total:m697_4, partial:m700_6
# 701| v701_1(void) = NoOp :
# 697| v697_5(void) = ReturnVoid :
# 697| v697_6(void) = AliasedUse : ~m700_7
# 697| v697_7(void) = ExitFunction :
# 704| int min<int>(int, int)
# 704| Block 0
# 704| v704_1(void) = EnterFunction :
# 704| m704_2(unknown) = AliasedDefinition :
# 704| m704_3(unknown) = InitializeNonLocal :
# 704| m704_4(unknown) = Chi : total:m704_2, partial:m704_3
# 704| r704_5(glval<int>) = VariableAddress[x] :
# 704| m704_6(int) = InitializeParameter[x] : &:r704_5
# 704| r704_7(glval<int>) = VariableAddress[y] :
# 704| m704_8(int) = InitializeParameter[y] : &:r704_7
# 705| r705_1(glval<int>) = VariableAddress[#return] :
# 705| r705_2(glval<int>) = VariableAddress[x] :
# 705| r705_3(int) = Load[x] : &:r705_2, m704_6
# 705| r705_4(glval<int>) = VariableAddress[y] :
# 705| r705_5(int) = Load[y] : &:r705_4, m704_8
# 705| r705_6(bool) = CompareLT : r705_3, r705_5
# 705| v705_7(void) = ConditionalBranch : r705_6
#-----| False -> Block 3
#-----| True -> Block 2
# 705| Block 1
# 705| m705_8(int) = Phi : from 2:m705_15, from 3:m705_19
# 705| r705_9(glval<int>) = VariableAddress[#temp705:10] :
# 705| r705_10(int) = Load[#temp705:10] : &:r705_9, m705_8
# 705| m705_11(int) = Store[#return] : &:r705_1, r705_10
# 704| r704_9(glval<int>) = VariableAddress[#return] :
# 704| v704_10(void) = ReturnValue : &:r704_9, m705_11
# 704| v704_11(void) = AliasedUse : m704_3
# 704| v704_12(void) = ExitFunction :
# 705| Block 2
# 705| r705_12(glval<int>) = VariableAddress[x] :
# 705| r705_13(int) = Load[x] : &:r705_12, m704_6
# 705| r705_14(glval<int>) = VariableAddress[#temp705:10] :
# 705| m705_15(int) = Store[#temp705:10] : &:r705_14, r705_13
#-----| Goto -> Block 1
# 705| Block 3
# 705| r705_16(glval<int>) = VariableAddress[y] :
# 705| r705_17(int) = Load[y] : &:r705_16, m704_8
# 705| r705_18(glval<int>) = VariableAddress[#temp705:10] :
# 705| m705_19(int) = Store[#temp705:10] : &:r705_18, r705_17
#-----| Goto -> Block 1
# 708| int CallMin(int, int)
# 708| Block 0
# 708| v708_1(void) = EnterFunction :
# 708| m708_2(unknown) = AliasedDefinition :
# 708| m708_3(unknown) = InitializeNonLocal :
# 708| m708_4(unknown) = Chi : total:m708_2, partial:m708_3
# 708| r708_5(glval<int>) = VariableAddress[x] :
# 708| m708_6(int) = InitializeParameter[x] : &:r708_5
# 708| r708_7(glval<int>) = VariableAddress[y] :
# 708| m708_8(int) = InitializeParameter[y] : &:r708_7
# 709| r709_1(glval<int>) = VariableAddress[#return] :
# 709| r709_2(glval<unknown>) = FunctionAddress[min] :
# 709| r709_3(glval<int>) = VariableAddress[x] :
# 709| r709_4(int) = Load[x] : &:r709_3, m708_6
# 709| r709_5(glval<int>) = VariableAddress[y] :
# 709| r709_6(int) = Load[y] : &:r709_5, m708_8
# 709| r709_7(int) = Call[min] : func:r709_2, 0:r709_4, 1:r709_6
# 709| m709_8(unknown) = ^CallSideEffect : ~m708_4
# 709| m709_9(unknown) = Chi : total:m708_4, partial:m709_8
# 709| m709_10(int) = Store[#return] : &:r709_1, r709_7
# 708| r708_9(glval<int>) = VariableAddress[#return] :
# 708| v708_10(void) = ReturnValue : &:r708_9, m709_10
# 708| v708_11(void) = AliasedUse : ~m709_9
# 708| v708_12(void) = ExitFunction :
# 715| long Outer<long>::Func<void*, char>(void*, char)
# 715| Block 0
# 715| v715_1(void) = EnterFunction :
# 715| m715_2(unknown) = AliasedDefinition :
# 715| m715_3(unknown) = InitializeNonLocal :
# 715| m715_4(unknown) = Chi : total:m715_2, partial:m715_3
# 715| r715_5(glval<void *>) = VariableAddress[x] :
# 715| m715_6(void *) = InitializeParameter[x] : &:r715_5
# 715| r715_7(void *) = Load[x] : &:r715_5, m715_6
# 715| m715_8(unknown) = InitializeIndirection[x] : &:r715_7
# 715| r715_9(glval<char>) = VariableAddress[y] :
# 715| m715_10(char) = InitializeParameter[y] : &:r715_9
# 716| r716_1(glval<long>) = VariableAddress[#return] :
# 716| r716_2(glval<long>) = VariableAddress[#temp716:12] :
# 716| r716_3(long) = Constant[0] :
# 716| m716_4(long) = Store[#temp716:12] : &:r716_2, r716_3
# 716| r716_5(long) = Load[#temp716:12] : &:r716_2, m716_4
# 716| m716_6(long) = Store[#return] : &:r716_1, r716_5
# 715| v715_11(void) = ReturnIndirection[x] : &:r715_7, m715_8
# 715| r715_12(glval<long>) = VariableAddress[#return] :
# 715| v715_13(void) = ReturnValue : &:r715_12, m716_6
# 715| v715_14(void) = AliasedUse : m715_3
# 715| v715_15(void) = ExitFunction :
# 720| double CallNestedTemplateFunc()
# 720| Block 0
# 720| v720_1(void) = EnterFunction :
# 720| m720_2(unknown) = AliasedDefinition :
# 720| m720_3(unknown) = InitializeNonLocal :
# 720| m720_4(unknown) = Chi : total:m720_2, partial:m720_3
# 721| r721_1(glval<double>) = VariableAddress[#return] :
# 721| r721_2(glval<unknown>) = FunctionAddress[Func] :
# 721| r721_3(void *) = Constant[0] :
# 721| r721_4(char) = Constant[111] :
# 721| r721_5(long) = Call[Func] : func:r721_2, 0:r721_3, 1:r721_4
# 721| m721_6(unknown) = ^CallSideEffect : ~m720_4
# 721| m721_7(unknown) = Chi : total:m720_4, partial:m721_6
# 721| v721_8(void) = ^BufferReadSideEffect[0] : &:r721_3, ~m721_7
# 721| m721_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r721_3
# 721| m721_10(unknown) = Chi : total:m721_7, partial:m721_9
# 721| r721_11(double) = Convert : r721_5
# 721| m721_12(double) = Store[#return] : &:r721_1, r721_11
# 720| r720_5(glval<double>) = VariableAddress[#return] :
# 720| v720_6(void) = ReturnValue : &:r720_5, m721_12
# 720| v720_7(void) = AliasedUse : ~m721_10
# 720| v720_8(void) = ExitFunction :
# 724| void TryCatch(bool)
# 724| Block 0
# 724| v724_1(void) = EnterFunction :
# 724| m724_2(unknown) = AliasedDefinition :
# 724| m724_3(unknown) = InitializeNonLocal :
# 724| m724_4(unknown) = Chi : total:m724_2, partial:m724_3
# 724| r724_5(glval<bool>) = VariableAddress[b] :
# 724| m724_6(bool) = InitializeParameter[b] : &:r724_5
# 726| r726_1(glval<int>) = VariableAddress[x] :
# 726| r726_2(int) = Constant[5] :
# 726| m726_3(int) = Store[x] : &:r726_1, r726_2
# 727| r727_1(glval<bool>) = VariableAddress[b] :
# 727| r727_2(bool) = Load[b] : &:r727_1, m724_6
# 727| v727_3(void) = ConditionalBranch : r727_2
#-----| False -> Block 4
#-----| True -> Block 3
# 724| Block 1
# 724| m724_7(unknown) = Phi : from 2:~m724_10, from 11:~m724_4
# 724| v724_8(void) = AliasedUse : ~m724_7
# 724| v724_9(void) = ExitFunction :
# 724| Block 2
# 724| m724_10(unknown) = Phi : from 7:~m736_12, from 10:~m724_4
# 724| v724_11(void) = Unwind :
#-----| Goto -> Block 1
# 728| Block 3
# 728| r728_1(glval<char *>) = VariableAddress[#throw728:7] :
# 728| r728_2(glval<char[15]>) = StringConstant["string literal"] :
# 728| r728_3(char *) = Convert : r728_2
# 728| m728_4(char *) = Store[#throw728:7] : &:r728_1, r728_3
# 728| v728_5(void) = ThrowValue : &:r728_1, m728_4
#-----| Exception -> Block 6
# 730| Block 4
# 730| r730_1(glval<int>) = VariableAddress[x] :
# 730| r730_2(int) = Load[x] : &:r730_1, m726_3
# 730| r730_3(int) = Constant[2] :
# 730| r730_4(bool) = CompareLT : r730_2, r730_3
# 730| v730_5(void) = ConditionalBranch : r730_4
#-----| False -> Block 5
#-----| True -> Block 12
# 733| Block 5
# 733| r733_1(int) = Constant[7] :
# 733| r733_2(glval<int>) = VariableAddress[x] :
# 733| m733_3(int) = Store[x] : &:r733_2, r733_1
#-----| Goto -> Block 11
# 735| Block 6
# 735| v735_1(void) = CatchByType[const char *] :
#-----| Exception -> Block 8
#-----| Goto -> Block 7
# 735| Block 7
# 735| r735_2(glval<char *>) = VariableAddress[s] :
# 735| m735_3(char *) = InitializeParameter[s] : &:r735_2
# 735| r735_4(char *) = Load[s] : &:r735_2, m735_3
# 735| m735_5(unknown) = InitializeIndirection[s] : &:r735_4
# 735| m735_6(unknown) = Chi : total:m724_4, partial:m735_5
# 736| r736_1(glval<String>) = VariableAddress[#throw736:5] :
# 736| m736_2(String) = Uninitialized[#throw736:5] : &:r736_1
# 736| m736_3(unknown) = Chi : total:m735_6, partial:m736_2
# 736| r736_4(glval<unknown>) = FunctionAddress[String] :
# 736| r736_5(glval<char *>) = VariableAddress[s] :
# 736| r736_6(char *) = Load[s] : &:r736_5, m735_3
# 736| v736_7(void) = Call[String] : func:r736_4, this:r736_1, 0:r736_6
# 736| m736_8(unknown) = ^CallSideEffect : ~m736_3
# 736| m736_9(unknown) = Chi : total:m736_3, partial:m736_8
# 736| v736_10(void) = ^BufferReadSideEffect[0] : &:r736_6, ~m736_9
# 736| m736_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r736_1
# 736| m736_12(unknown) = Chi : total:m736_9, partial:m736_11
# 736| v736_13(void) = ThrowValue : &:r736_1, ~m736_12
#-----| Exception -> Block 2
# 738| Block 8
# 738| v738_1(void) = CatchByType[const String &] :
#-----| Exception -> Block 10
#-----| Goto -> Block 9
# 738| Block 9
# 738| r738_2(glval<String &>) = VariableAddress[e] :
# 738| m738_3(String &) = InitializeParameter[e] : &:r738_2
# 738| r738_4(String &) = Load[e] : &:r738_2, m738_3
# 738| m738_5(unknown) = InitializeIndirection[e] : &:r738_4
# 738| v738_6(void) = NoOp :
#-----| Goto -> Block 11
# 740| Block 10
# 740| v740_1(void) = CatchAny :
# 741| v741_1(void) = ReThrow :
#-----| Exception -> Block 2
# 743| Block 11
# 743| v743_1(void) = NoOp :
# 724| v724_12(void) = ReturnVoid :
#-----| Goto -> Block 1
# 724| Block 12
# 724| v724_13(void) = Unreached :
# 745| Base& Base::operator=(Base const&)
# 745| Block 0
# 745| v745_1(void) = EnterFunction :
# 745| m745_2(unknown) = AliasedDefinition :
# 745| m745_3(unknown) = InitializeNonLocal :
# 745| m745_4(unknown) = Chi : total:m745_2, partial:m745_3
# 745| r745_5(glval<unknown>) = VariableAddress[#this] :
# 745| m745_6(glval<Base>) = InitializeParameter[#this] : &:r745_5
# 745| r745_7(glval<Base>) = Load[#this] : &:r745_5, m745_6
# 745| m745_8(Base) = InitializeIndirection[#this] : &:r745_7
# 745| m745_9(unknown) = Chi : total:m745_4, partial:m745_8
#-----| r0_1(glval<Base &>) = VariableAddress[(unnamed parameter 0)] :
#-----| 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
#-----| m0_5(unknown) = Chi : total:m745_9, partial:m0_4
# 745| r745_10(glval<unknown>) = VariableAddress[#this] :
# 745| r745_11(Base *) = Load[#this] : &:r745_10, m745_6
# 745| r745_12(glval<String>) = FieldAddress[base_s] : r745_11
# 745| r745_13(String *) = CopyValue : r745_12
# 745| r745_14(glval<unknown>) = FunctionAddress[operator=] :
# 745| r745_15(glval<Base &>) = VariableAddress[(unnamed parameter 0)] :
# 745| r745_16(Base &) = Load[(unnamed parameter 0)] : &:r745_15, m0_2
#-----| r0_6(glval<Base>) = CopyValue : r745_16
# 745| r745_17(glval<String>) = FieldAddress[base_s] : r0_6
#-----| r0_7(String &) = CopyValue : r745_17
# 745| r745_18(String &) = Call[operator=] : func:r745_14, this:r745_13, 0:r0_7
# 745| m745_19(unknown) = ^CallSideEffect : ~m0_5
# 745| m745_20(unknown) = Chi : total:m0_5, partial:m745_19
# 745| v745_21(void) = ^IndirectReadSideEffect[-1] : &:r745_13, ~m745_20
#-----| v0_8(void) = ^BufferReadSideEffect[0] : &:r0_7, ~m745_20
# 745| m745_22(String) = ^IndirectMayWriteSideEffect[-1] : &:r745_13
# 745| m745_23(unknown) = Chi : total:m745_20, partial:m745_22
#-----| r0_9(glval<String>) = CopyValue : r745_18
#-----| r0_10(glval<Base &>) = VariableAddress[#return] :
#-----| r0_11(glval<unknown>) = VariableAddress[#this] :
#-----| r0_12(Base *) = Load[#this] : &:r0_11, m745_6
#-----| r0_13(glval<Base>) = CopyValue : r0_12
#-----| r0_14(Base &) = CopyValue : r0_13
#-----| m0_15(Base &) = Store[#return] : &:r0_10, r0_14
# 745| v745_24(void) = ReturnIndirection[#this] : &:r745_7, ~m745_23
#-----| v0_16(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m745_23
# 745| r745_25(glval<Base &>) = VariableAddress[#return] :
# 745| v745_26(void) = ReturnValue : &:r745_25, m0_15
# 745| v745_27(void) = AliasedUse : ~m745_23
# 745| v745_28(void) = ExitFunction :
# 745| void Base::Base(Base const&)
# 745| Block 0
# 745| v745_1(void) = EnterFunction :
# 745| m745_2(unknown) = AliasedDefinition :
# 745| m745_3(unknown) = InitializeNonLocal :
# 745| m745_4(unknown) = Chi : total:m745_2, partial:m745_3
# 745| r745_5(glval<unknown>) = VariableAddress[#this] :
# 745| m745_6(glval<Base>) = InitializeParameter[#this] : &:r745_5
# 745| r745_7(glval<Base>) = Load[#this] : &:r745_5, m745_6
# 745| m745_8(Base) = InitializeIndirection[#this] : &:r745_7
# 745| m745_9(unknown) = Chi : total:m745_4, partial:m745_8
#-----| r0_1(glval<Base &>) = VariableAddress[(unnamed parameter 0)] :
#-----| 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_11(glval<unknown>) = FunctionAddress[String] :
# 745| v745_12(void) = Call[String] : func:r745_11, this:r745_10
# 745| m745_13(unknown) = ^CallSideEffect : ~m745_9
# 745| m745_14(unknown) = Chi : total:m745_9, partial:m745_13
# 745| m745_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r745_10
# 745| m745_16(unknown) = Chi : total:m745_14, partial:m745_15
# 745| v745_17(void) = NoOp :
# 745| v745_18(void) = ReturnIndirection[#this] : &:r745_7, ~m745_16
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 745| v745_19(void) = ReturnVoid :
# 745| v745_20(void) = AliasedUse : ~m745_16
# 745| v745_21(void) = ExitFunction :
# 748| void Base::Base()
# 748| Block 0
# 748| v748_1(void) = EnterFunction :
# 748| m748_2(unknown) = AliasedDefinition :
# 748| m748_3(unknown) = InitializeNonLocal :
# 748| m748_4(unknown) = Chi : total:m748_2, partial:m748_3
# 748| r748_5(glval<unknown>) = VariableAddress[#this] :
# 748| m748_6(glval<Base>) = InitializeParameter[#this] : &:r748_5
# 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_11(glval<unknown>) = FunctionAddress[String] :
# 748| v748_12(void) = Call[String] : func:r748_11, this:r748_10
# 748| m748_13(unknown) = ^CallSideEffect : ~m748_9
# 748| m748_14(unknown) = Chi : total:m748_9, partial:m748_13
# 748| m748_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r748_10
# 748| m748_16(unknown) = Chi : total:m748_14, partial:m748_15
# 749| v749_1(void) = NoOp :
# 748| v748_17(void) = ReturnIndirection[#this] : &:r748_7, ~m748_16
# 748| v748_18(void) = ReturnVoid :
# 748| v748_19(void) = AliasedUse : ~m748_16
# 748| v748_20(void) = ExitFunction :
# 750| void Base::~Base()
# 750| Block 0
# 750| v750_1(void) = EnterFunction :
# 750| m750_2(unknown) = AliasedDefinition :
# 750| m750_3(unknown) = InitializeNonLocal :
# 750| m750_4(unknown) = Chi : total:m750_2, partial:m750_3
# 750| r750_5(glval<unknown>) = VariableAddress[#this] :
# 750| m750_6(glval<Base>) = InitializeParameter[#this] : &:r750_5
# 750| r750_7(glval<Base>) = Load[#this] : &:r750_5, m750_6
# 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_3(glval<unknown>) = FunctionAddress[~String] :
# 751| v751_4(void) = Call[~String] : func:r751_3, this:r751_2
# 751| m751_5(unknown) = ^CallSideEffect : ~m750_9
# 751| m751_6(unknown) = Chi : total:m750_9, partial:m751_5
# 750| v750_10(void) = ReturnIndirection[#this] : &:r750_7, ~m751_6
# 750| v750_11(void) = ReturnVoid :
# 750| v750_12(void) = AliasedUse : ~m751_6
# 750| v750_13(void) = ExitFunction :
# 754| Middle& Middle::operator=(Middle const&)
# 754| Block 0
# 754| v754_1(void) = EnterFunction :
# 754| m754_2(unknown) = AliasedDefinition :
# 754| m754_3(unknown) = InitializeNonLocal :
# 754| m754_4(unknown) = Chi : total:m754_2, partial:m754_3
# 754| r754_5(glval<unknown>) = VariableAddress[#this] :
# 754| m754_6(glval<Middle>) = InitializeParameter[#this] : &:r754_5
# 754| r754_7(glval<Middle>) = Load[#this] : &:r754_5, m754_6
# 754| m754_8(Middle) = InitializeIndirection[#this] : &:r754_7
# 754| m754_9(unknown) = Chi : total:m754_4, partial:m754_8
#-----| r0_1(glval<Middle &>) = VariableAddress[(unnamed parameter 0)] :
#-----| m0_2(Middle &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(Middle &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
#-----| m0_5(unknown) = Chi : total:m754_9, partial:m0_4
# 754| r754_10(glval<unknown>) = VariableAddress[#this] :
# 754| r754_11(Middle *) = Load[#this] : &:r754_10, m754_6
#-----| r0_6(Base *) = ConvertToNonVirtualBase[Middle : Base] : r754_11
# 754| r754_12(glval<unknown>) = FunctionAddress[operator=] :
# 754| r754_13(glval<Middle &>) = VariableAddress[(unnamed parameter 0)] :
# 754| r754_14(Middle &) = Load[(unnamed parameter 0)] : &:r754_13, m0_2
#-----| r0_7(glval<Middle>) = CopyValue : r754_14
# 754| r754_15(Middle *) = CopyValue : r0_7
#-----| r0_8(Base *) = ConvertToNonVirtualBase[Middle : Base] : r754_15
# 754| r754_16(glval<Base>) = CopyValue : r0_8
#-----| r0_9(Base &) = CopyValue : r754_16
# 754| r754_17(Base &) = Call[operator=] : func:r754_12, this:r0_6, 0:r0_9
# 754| m754_18(unknown) = ^CallSideEffect : ~m0_5
# 754| m754_19(unknown) = Chi : total:m0_5, partial:m754_18
#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_6, ~m754_19
#-----| v0_11(void) = ^BufferReadSideEffect[0] : &:r0_9, ~m754_19
#-----| m0_12(Base) = ^IndirectMayWriteSideEffect[-1] : &:r0_6
#-----| m0_13(unknown) = Chi : total:m754_19, partial:m0_12
#-----| r0_14(glval<Base>) = CopyValue : r754_17
# 754| r754_20(glval<unknown>) = VariableAddress[#this] :
# 754| r754_21(Middle *) = Load[#this] : &:r754_20, m754_6
# 754| r754_22(glval<String>) = FieldAddress[middle_s] : r754_21
# 754| r754_23(String *) = CopyValue : r754_22
# 754| r754_24(glval<unknown>) = FunctionAddress[operator=] :
# 754| r754_25(glval<Middle &>) = VariableAddress[(unnamed parameter 0)] :
# 754| r754_26(Middle &) = Load[(unnamed parameter 0)] : &:r754_25, m0_2
#-----| r0_15(glval<Middle>) = CopyValue : r754_26
# 754| r754_27(glval<String>) = FieldAddress[middle_s] : r0_15
#-----| r0_16(String &) = CopyValue : r754_27
# 754| r754_28(String &) = Call[operator=] : func:r754_24, this:r754_23, 0:r0_16
# 754| m754_29(unknown) = ^CallSideEffect : ~m0_13
# 754| m754_30(unknown) = Chi : total:m0_13, partial:m754_29
# 754| v754_31(void) = ^IndirectReadSideEffect[-1] : &:r754_23, ~m754_30
#-----| v0_17(void) = ^BufferReadSideEffect[0] : &:r0_16, ~m754_30
# 754| m754_32(String) = ^IndirectMayWriteSideEffect[-1] : &:r754_23
# 754| m754_33(unknown) = Chi : total:m754_30, partial:m754_32
#-----| r0_18(glval<String>) = CopyValue : r754_28
#-----| r0_19(glval<Middle &>) = VariableAddress[#return] :
#-----| r0_20(glval<unknown>) = VariableAddress[#this] :
#-----| r0_21(Middle *) = Load[#this] : &:r0_20, m754_6
#-----| r0_22(glval<Middle>) = CopyValue : r0_21
#-----| r0_23(Middle &) = CopyValue : r0_22
#-----| m0_24(Middle &) = Store[#return] : &:r0_19, r0_23
# 754| v754_34(void) = ReturnIndirection[#this] : &:r754_7, ~m754_33
#-----| v0_25(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m754_33
# 754| r754_35(glval<Middle &>) = VariableAddress[#return] :
# 754| v754_36(void) = ReturnValue : &:r754_35, m0_24
# 754| v754_37(void) = AliasedUse : ~m754_33
# 754| v754_38(void) = ExitFunction :
# 757| void Middle::Middle()
# 757| Block 0
# 757| v757_1(void) = EnterFunction :
# 757| m757_2(unknown) = AliasedDefinition :
# 757| m757_3(unknown) = InitializeNonLocal :
# 757| m757_4(unknown) = Chi : total:m757_2, partial:m757_3
# 757| r757_5(glval<unknown>) = VariableAddress[#this] :
# 757| m757_6(glval<Middle>) = InitializeParameter[#this] : &:r757_5
# 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_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_18(glval<unknown>) = FunctionAddress[String] :
# 757| v757_19(void) = Call[String] : func:r757_18, this:r757_17
# 757| m757_20(unknown) = ^CallSideEffect : ~m757_16
# 757| m757_21(unknown) = Chi : total:m757_16, partial:m757_20
# 757| m757_22(String) = ^IndirectMayWriteSideEffect[-1] : &:r757_17
# 757| m757_23(unknown) = Chi : total:m757_21, partial:m757_22
# 758| v758_1(void) = NoOp :
# 757| v757_24(void) = ReturnIndirection[#this] : &:r757_7, ~m757_23
# 757| v757_25(void) = ReturnVoid :
# 757| v757_26(void) = AliasedUse : ~m757_23
# 757| v757_27(void) = ExitFunction :
# 759| void Middle::~Middle()
# 759| Block 0
# 759| v759_1(void) = EnterFunction :
# 759| m759_2(unknown) = AliasedDefinition :
# 759| m759_3(unknown) = InitializeNonLocal :
# 759| m759_4(unknown) = Chi : total:m759_2, partial:m759_3
# 759| r759_5(glval<unknown>) = VariableAddress[#this] :
# 759| m759_6(glval<Middle>) = InitializeParameter[#this] : &:r759_5
# 759| r759_7(glval<Middle>) = Load[#this] : &:r759_5, m759_6
# 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_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_8(glval<unknown>) = FunctionAddress[~Base] :
# 760| v760_9(void) = Call[~Base] : func:r760_8, this:r760_7
# 760| m760_10(unknown) = ^CallSideEffect : ~m760_6
# 760| m760_11(unknown) = Chi : total:m760_6, partial:m760_10
# 759| v759_10(void) = ReturnIndirection[#this] : &:r759_7, ~m760_11
# 759| v759_11(void) = ReturnVoid :
# 759| v759_12(void) = AliasedUse : ~m760_11
# 759| v759_13(void) = ExitFunction :
# 763| Derived& Derived::operator=(Derived const&)
# 763| Block 0
# 763| v763_1(void) = EnterFunction :
# 763| m763_2(unknown) = AliasedDefinition :
# 763| m763_3(unknown) = InitializeNonLocal :
# 763| m763_4(unknown) = Chi : total:m763_2, partial:m763_3
# 763| r763_5(glval<unknown>) = VariableAddress[#this] :
# 763| m763_6(glval<Derived>) = InitializeParameter[#this] : &:r763_5
# 763| r763_7(glval<Derived>) = Load[#this] : &:r763_5, m763_6
# 763| m763_8(Derived) = InitializeIndirection[#this] : &:r763_7
# 763| m763_9(unknown) = Chi : total:m763_4, partial:m763_8
#-----| r0_1(glval<Derived &>) = VariableAddress[(unnamed parameter 0)] :
#-----| m0_2(Derived &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(Derived &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
#-----| m0_5(unknown) = Chi : total:m763_9, partial:m0_4
# 763| r763_10(glval<unknown>) = VariableAddress[#this] :
# 763| r763_11(Derived *) = Load[#this] : &:r763_10, m763_6
#-----| r0_6(Middle *) = ConvertToNonVirtualBase[Derived : Middle] : r763_11
# 763| r763_12(glval<unknown>) = FunctionAddress[operator=] :
# 763| r763_13(glval<Derived &>) = VariableAddress[(unnamed parameter 0)] :
# 763| r763_14(Derived &) = Load[(unnamed parameter 0)] : &:r763_13, m0_2
#-----| r0_7(glval<Derived>) = CopyValue : r763_14
# 763| r763_15(Derived *) = CopyValue : r0_7
#-----| r0_8(Middle *) = ConvertToNonVirtualBase[Derived : Middle] : r763_15
# 763| r763_16(glval<Middle>) = CopyValue : r0_8
#-----| r0_9(Middle &) = CopyValue : r763_16
# 763| r763_17(Middle &) = Call[operator=] : func:r763_12, this:r0_6, 0:r0_9
# 763| m763_18(unknown) = ^CallSideEffect : ~m0_5
# 763| m763_19(unknown) = Chi : total:m0_5, partial:m763_18
#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_6, ~m763_19
#-----| v0_11(void) = ^BufferReadSideEffect[0] : &:r0_9, ~m763_19
#-----| m0_12(Middle) = ^IndirectMayWriteSideEffect[-1] : &:r0_6
#-----| m0_13(unknown) = Chi : total:m763_19, partial:m0_12
#-----| r0_14(glval<Middle>) = CopyValue : r763_17
# 763| r763_20(glval<unknown>) = VariableAddress[#this] :
# 763| r763_21(Derived *) = Load[#this] : &:r763_20, m763_6
# 763| r763_22(glval<String>) = FieldAddress[derived_s] : r763_21
# 763| r763_23(String *) = CopyValue : r763_22
# 763| r763_24(glval<unknown>) = FunctionAddress[operator=] :
# 763| r763_25(glval<Derived &>) = VariableAddress[(unnamed parameter 0)] :
# 763| r763_26(Derived &) = Load[(unnamed parameter 0)] : &:r763_25, m0_2
#-----| r0_15(glval<Derived>) = CopyValue : r763_26
# 763| r763_27(glval<String>) = FieldAddress[derived_s] : r0_15
#-----| r0_16(String &) = CopyValue : r763_27
# 763| r763_28(String &) = Call[operator=] : func:r763_24, this:r763_23, 0:r0_16
# 763| m763_29(unknown) = ^CallSideEffect : ~m0_13
# 763| m763_30(unknown) = Chi : total:m0_13, partial:m763_29
# 763| v763_31(void) = ^IndirectReadSideEffect[-1] : &:r763_23, ~m763_30
#-----| v0_17(void) = ^BufferReadSideEffect[0] : &:r0_16, ~m763_30
# 763| m763_32(String) = ^IndirectMayWriteSideEffect[-1] : &:r763_23
# 763| m763_33(unknown) = Chi : total:m763_30, partial:m763_32
#-----| r0_18(glval<String>) = CopyValue : r763_28
#-----| r0_19(glval<Derived &>) = VariableAddress[#return] :
#-----| r0_20(glval<unknown>) = VariableAddress[#this] :
#-----| r0_21(Derived *) = Load[#this] : &:r0_20, m763_6
#-----| r0_22(glval<Derived>) = CopyValue : r0_21
#-----| r0_23(Derived &) = CopyValue : r0_22
#-----| m0_24(Derived &) = Store[#return] : &:r0_19, r0_23
# 763| v763_34(void) = ReturnIndirection[#this] : &:r763_7, ~m763_33
#-----| v0_25(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m763_33
# 763| r763_35(glval<Derived &>) = VariableAddress[#return] :
# 763| v763_36(void) = ReturnValue : &:r763_35, m0_24
# 763| v763_37(void) = AliasedUse : ~m763_33
# 763| v763_38(void) = ExitFunction :
# 766| void Derived::Derived()
# 766| Block 0
# 766| v766_1(void) = EnterFunction :
# 766| m766_2(unknown) = AliasedDefinition :
# 766| m766_3(unknown) = InitializeNonLocal :
# 766| m766_4(unknown) = Chi : total:m766_2, partial:m766_3
# 766| r766_5(glval<unknown>) = VariableAddress[#this] :
# 766| m766_6(glval<Derived>) = InitializeParameter[#this] : &:r766_5
# 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_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_18(glval<unknown>) = FunctionAddress[String] :
# 766| v766_19(void) = Call[String] : func:r766_18, this:r766_17
# 766| m766_20(unknown) = ^CallSideEffect : ~m766_16
# 766| m766_21(unknown) = Chi : total:m766_16, partial:m766_20
# 766| m766_22(String) = ^IndirectMayWriteSideEffect[-1] : &:r766_17
# 766| m766_23(unknown) = Chi : total:m766_21, partial:m766_22
# 767| v767_1(void) = NoOp :
# 766| v766_24(void) = ReturnIndirection[#this] : &:r766_7, ~m766_23
# 766| v766_25(void) = ReturnVoid :
# 766| v766_26(void) = AliasedUse : ~m766_23
# 766| v766_27(void) = ExitFunction :
# 768| void Derived::~Derived()
# 768| Block 0
# 768| v768_1(void) = EnterFunction :
# 768| m768_2(unknown) = AliasedDefinition :
# 768| m768_3(unknown) = InitializeNonLocal :
# 768| m768_4(unknown) = Chi : total:m768_2, partial:m768_3
# 768| r768_5(glval<unknown>) = VariableAddress[#this] :
# 768| m768_6(glval<Derived>) = InitializeParameter[#this] : &:r768_5
# 768| r768_7(glval<Derived>) = Load[#this] : &:r768_5, m768_6
# 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_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_8(glval<unknown>) = FunctionAddress[~Middle] :
# 769| v769_9(void) = Call[~Middle] : func:r769_8, this:r769_7
# 769| m769_10(unknown) = ^CallSideEffect : ~m769_6
# 769| m769_11(unknown) = Chi : total:m769_6, partial:m769_10
# 768| v768_10(void) = ReturnIndirection[#this] : &:r768_7, ~m769_11
# 768| v768_11(void) = ReturnVoid :
# 768| v768_12(void) = AliasedUse : ~m769_11
# 768| v768_13(void) = ExitFunction :
# 775| void MiddleVB1::MiddleVB1()
# 775| Block 0
# 775| v775_1(void) = EnterFunction :
# 775| m775_2(unknown) = AliasedDefinition :
# 775| m775_3(unknown) = InitializeNonLocal :
# 775| m775_4(unknown) = Chi : total:m775_2, partial:m775_3
# 775| r775_5(glval<unknown>) = VariableAddress[#this] :
# 775| m775_6(glval<MiddleVB1>) = InitializeParameter[#this] : &:r775_5
# 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_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_18(glval<unknown>) = FunctionAddress[String] :
# 775| v775_19(void) = Call[String] : func:r775_18, this:r775_17
# 775| m775_20(unknown) = ^CallSideEffect : ~m775_16
# 775| m775_21(unknown) = Chi : total:m775_16, partial:m775_20
# 775| m775_22(String) = ^IndirectMayWriteSideEffect[-1] : &:r775_17
# 775| m775_23(unknown) = Chi : total:m775_21, partial:m775_22
# 776| v776_1(void) = NoOp :
# 775| v775_24(void) = ReturnIndirection[#this] : &:r775_7, ~m775_23
# 775| v775_25(void) = ReturnVoid :
# 775| v775_26(void) = AliasedUse : ~m775_23
# 775| v775_27(void) = ExitFunction :
# 777| void MiddleVB1::~MiddleVB1()
# 777| Block 0
# 777| v777_1(void) = EnterFunction :
# 777| m777_2(unknown) = AliasedDefinition :
# 777| m777_3(unknown) = InitializeNonLocal :
# 777| m777_4(unknown) = Chi : total:m777_2, partial:m777_3
# 777| r777_5(glval<unknown>) = VariableAddress[#this] :
# 777| m777_6(glval<MiddleVB1>) = InitializeParameter[#this] : &:r777_5
# 777| r777_7(glval<MiddleVB1>) = Load[#this] : &:r777_5, m777_6
# 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_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_8(glval<unknown>) = FunctionAddress[~Base] :
# 778| v778_9(void) = Call[~Base] : func:r778_8, this:r778_7
# 778| m778_10(unknown) = ^CallSideEffect : ~m778_6
# 778| m778_11(unknown) = Chi : total:m778_6, partial:m778_10
# 777| v777_10(void) = ReturnIndirection[#this] : &:r777_7, ~m778_11
# 777| v777_11(void) = ReturnVoid :
# 777| v777_12(void) = AliasedUse : ~m778_11
# 777| v777_13(void) = ExitFunction :
# 784| void MiddleVB2::MiddleVB2()
# 784| Block 0
# 784| v784_1(void) = EnterFunction :
# 784| m784_2(unknown) = AliasedDefinition :
# 784| m784_3(unknown) = InitializeNonLocal :
# 784| m784_4(unknown) = Chi : total:m784_2, partial:m784_3
# 784| r784_5(glval<unknown>) = VariableAddress[#this] :
# 784| m784_6(glval<MiddleVB2>) = InitializeParameter[#this] : &:r784_5
# 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_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_18(glval<unknown>) = FunctionAddress[String] :
# 784| v784_19(void) = Call[String] : func:r784_18, this:r784_17
# 784| m784_20(unknown) = ^CallSideEffect : ~m784_16
# 784| m784_21(unknown) = Chi : total:m784_16, partial:m784_20
# 784| m784_22(String) = ^IndirectMayWriteSideEffect[-1] : &:r784_17
# 784| m784_23(unknown) = Chi : total:m784_21, partial:m784_22
# 785| v785_1(void) = NoOp :
# 784| v784_24(void) = ReturnIndirection[#this] : &:r784_7, ~m784_23
# 784| v784_25(void) = ReturnVoid :
# 784| v784_26(void) = AliasedUse : ~m784_23
# 784| v784_27(void) = ExitFunction :
# 786| void MiddleVB2::~MiddleVB2()
# 786| Block 0
# 786| v786_1(void) = EnterFunction :
# 786| m786_2(unknown) = AliasedDefinition :
# 786| m786_3(unknown) = InitializeNonLocal :
# 786| m786_4(unknown) = Chi : total:m786_2, partial:m786_3
# 786| r786_5(glval<unknown>) = VariableAddress[#this] :
# 786| m786_6(glval<MiddleVB2>) = InitializeParameter[#this] : &:r786_5
# 786| r786_7(glval<MiddleVB2>) = Load[#this] : &:r786_5, m786_6
# 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_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_8(glval<unknown>) = FunctionAddress[~Base] :
# 787| v787_9(void) = Call[~Base] : func:r787_8, this:r787_7
# 787| m787_10(unknown) = ^CallSideEffect : ~m787_6
# 787| m787_11(unknown) = Chi : total:m787_6, partial:m787_10
# 786| v786_10(void) = ReturnIndirection[#this] : &:r786_7, ~m787_11
# 786| v786_11(void) = ReturnVoid :
# 786| v786_12(void) = AliasedUse : ~m787_11
# 786| v786_13(void) = ExitFunction :
# 793| void DerivedVB::DerivedVB()
# 793| Block 0
# 793| v793_1(void) = EnterFunction :
# 793| m793_2(unknown) = AliasedDefinition :
# 793| m793_3(unknown) = InitializeNonLocal :
# 793| m793_4(unknown) = Chi : total:m793_2, partial:m793_3
# 793| r793_5(glval<unknown>) = VariableAddress[#this] :
# 793| m793_6(glval<DerivedVB>) = InitializeParameter[#this] : &:r793_5
# 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_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_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_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_32(glval<unknown>) = FunctionAddress[String] :
# 793| v793_33(void) = Call[String] : func:r793_32, this:r793_31
# 793| m793_34(unknown) = ^CallSideEffect : ~m793_30
# 793| m793_35(unknown) = Chi : total:m793_30, partial:m793_34
# 793| m793_36(String) = ^IndirectMayWriteSideEffect[-1] : &:r793_31
# 793| m793_37(unknown) = Chi : total:m793_35, partial:m793_36
# 794| v794_1(void) = NoOp :
# 793| v793_38(void) = ReturnIndirection[#this] : &:r793_7, ~m793_37
# 793| v793_39(void) = ReturnVoid :
# 793| v793_40(void) = AliasedUse : ~m793_37
# 793| v793_41(void) = ExitFunction :
# 795| void DerivedVB::~DerivedVB()
# 795| Block 0
# 795| v795_1(void) = EnterFunction :
# 795| m795_2(unknown) = AliasedDefinition :
# 795| m795_3(unknown) = InitializeNonLocal :
# 795| m795_4(unknown) = Chi : total:m795_2, partial:m795_3
# 795| r795_5(glval<unknown>) = VariableAddress[#this] :
# 795| m795_6(glval<DerivedVB>) = InitializeParameter[#this] : &:r795_5
# 795| r795_7(glval<DerivedVB>) = Load[#this] : &:r795_5, m795_6
# 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_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_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_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_18(glval<unknown>) = FunctionAddress[~Base] :
# 796| v796_19(void) = Call[~Base] : func:r796_18, this:r796_17
# 796| m796_20(unknown) = ^CallSideEffect : ~m796_16
# 796| m796_21(unknown) = Chi : total:m796_16, partial:m796_20
# 795| v795_10(void) = ReturnIndirection[#this] : &:r795_7, ~m796_21
# 795| v795_11(void) = ReturnVoid :
# 795| v795_12(void) = AliasedUse : ~m796_21
# 795| v795_13(void) = ExitFunction :
# 799| void HierarchyConversions()
# 799| Block 0
# 799| v799_1(void) = EnterFunction :
# 799| m799_2(unknown) = AliasedDefinition :
# 799| m799_3(unknown) = InitializeNonLocal :
# 799| m799_4(unknown) = Chi : total:m799_2, partial:m799_3
# 800| r800_1(glval<Base>) = VariableAddress[b] :
# 800| m800_2(Base) = Uninitialized[b] : &:r800_1
# 800| m800_3(unknown) = Chi : total:m799_4, partial:m800_2
# 800| r800_4(glval<unknown>) = FunctionAddress[Base] :
# 800| v800_5(void) = Call[Base] : func:r800_4, this:r800_1
# 800| m800_6(unknown) = ^CallSideEffect : ~m800_3
# 800| m800_7(unknown) = Chi : total:m800_3, partial:m800_6
# 800| m800_8(Base) = ^IndirectMayWriteSideEffect[-1] : &:r800_1
# 800| m800_9(unknown) = Chi : total:m800_7, partial:m800_8
# 801| r801_1(glval<Middle>) = VariableAddress[m] :
# 801| m801_2(Middle) = Uninitialized[m] : &:r801_1
# 801| m801_3(unknown) = Chi : total:m800_9, partial:m801_2
# 801| r801_4(glval<unknown>) = FunctionAddress[Middle] :
# 801| v801_5(void) = Call[Middle] : func:r801_4, this:r801_1
# 801| m801_6(unknown) = ^CallSideEffect : ~m801_3
# 801| m801_7(unknown) = Chi : total:m801_3, partial:m801_6
# 801| m801_8(Middle) = ^IndirectMayWriteSideEffect[-1] : &:r801_1
# 801| m801_9(unknown) = Chi : total:m801_7, partial:m801_8
# 802| r802_1(glval<Derived>) = VariableAddress[d] :
# 802| m802_2(Derived) = Uninitialized[d] : &:r802_1
# 802| m802_3(unknown) = Chi : total:m801_9, partial:m802_2
# 802| r802_4(glval<unknown>) = FunctionAddress[Derived] :
# 802| v802_5(void) = Call[Derived] : func:r802_4, this:r802_1
# 802| m802_6(unknown) = ^CallSideEffect : ~m802_3
# 802| m802_7(unknown) = Chi : total:m802_3, partial:m802_6
# 802| m802_8(Derived) = ^IndirectMayWriteSideEffect[-1] : &:r802_1
# 802| m802_9(unknown) = Chi : total:m802_7, partial:m802_8
# 804| r804_1(glval<Base *>) = VariableAddress[pb] :
# 804| r804_2(glval<Base>) = VariableAddress[b] :
# 804| r804_3(Base *) = CopyValue : r804_2
# 804| m804_4(Base *) = Store[pb] : &:r804_1, r804_3
# 805| r805_1(glval<Middle *>) = VariableAddress[pm] :
# 805| r805_2(glval<Middle>) = VariableAddress[m] :
# 805| r805_3(Middle *) = CopyValue : r805_2
# 805| m805_4(Middle *) = Store[pm] : &:r805_1, r805_3
# 806| r806_1(glval<Derived *>) = VariableAddress[pd] :
# 806| r806_2(glval<Derived>) = VariableAddress[d] :
# 806| r806_3(Derived *) = CopyValue : r806_2
# 806| m806_4(Derived *) = Store[pd] : &:r806_1, r806_3
# 808| r808_1(glval<Base>) = VariableAddress[b] :
# 808| r808_2(glval<unknown>) = FunctionAddress[operator=] :
# 808| r808_3(glval<Middle>) = VariableAddress[m] :
# 808| r808_4(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : r808_3
# 808| r808_5(Base &) = CopyValue : r808_4
# 808| r808_6(Base &) = Call[operator=] : func:r808_2, this:r808_1, 0:r808_5
# 808| m808_7(unknown) = ^CallSideEffect : ~m802_9
# 808| m808_8(unknown) = Chi : total:m802_9, partial:m808_7
# 808| v808_9(void) = ^IndirectReadSideEffect[-1] : &:r808_1, ~m808_8
# 808| v808_10(void) = ^BufferReadSideEffect[0] : &:r808_5, ~m808_8
# 808| m808_11(Base) = ^IndirectMayWriteSideEffect[-1] : &:r808_1
# 808| m808_12(unknown) = Chi : total:m808_8, partial:m808_11
# 808| r808_13(glval<Base>) = CopyValue : r808_6
# 809| r809_1(glval<Base>) = VariableAddress[b] :
# 809| r809_2(glval<unknown>) = FunctionAddress[operator=] :
# 809| r809_3(glval<Base>) = VariableAddress[#temp809:7] :
# 809| m809_4(Base) = Uninitialized[#temp809:7] : &:r809_3
# 809| m809_5(unknown) = Chi : total:m808_12, partial:m809_4
# 809| r809_6(glval<unknown>) = FunctionAddress[Base] :
# 809| r809_7(glval<Middle>) = VariableAddress[m] :
# 809| r809_8(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : r809_7
# 809| r809_9(Base &) = CopyValue : r809_8
# 809| v809_10(void) = Call[Base] : func:r809_6, this:r809_3, 0:r809_9
# 809| m809_11(unknown) = ^CallSideEffect : ~m809_5
# 809| m809_12(unknown) = Chi : total:m809_5, partial:m809_11
# 809| v809_13(void) = ^BufferReadSideEffect[0] : &:r809_9, ~m809_12
# 809| m809_14(Base) = ^IndirectMayWriteSideEffect[-1] : &:r809_3
# 809| m809_15(unknown) = Chi : total:m809_12, partial:m809_14
# 809| r809_16(glval<Base>) = Convert : r809_3
# 809| r809_17(Base &) = CopyValue : r809_16
# 809| r809_18(Base &) = Call[operator=] : func:r809_2, this:r809_1, 0:r809_17
# 809| m809_19(unknown) = ^CallSideEffect : ~m809_15
# 809| m809_20(unknown) = Chi : total:m809_15, partial:m809_19
# 809| v809_21(void) = ^IndirectReadSideEffect[-1] : &:r809_1, ~m809_20
# 809| v809_22(void) = ^BufferReadSideEffect[0] : &:r809_17, ~m809_20
# 809| m809_23(Base) = ^IndirectMayWriteSideEffect[-1] : &:r809_1
# 809| m809_24(unknown) = Chi : total:m809_20, partial:m809_23
# 809| r809_25(glval<Base>) = CopyValue : r809_3
# 809| r809_26(glval<unknown>) = FunctionAddress[~Base] :
# 809| v809_27(void) = Call[~Base] : func:r809_26, this:r809_25
# 809| m809_28(unknown) = ^CallSideEffect : ~m809_24
# 809| m809_29(unknown) = Chi : total:m809_24, partial:m809_28
# 809| v809_30(void) = ^IndirectReadSideEffect[-1] : &:r809_25, ~m809_29
# 809| m809_31(Base) = ^IndirectMayWriteSideEffect[-1] : &:r809_25
# 809| m809_32(unknown) = Chi : total:m809_29, partial:m809_31
# 809| r809_33(glval<Base>) = CopyValue : r809_18
# 810| r810_1(glval<Base>) = VariableAddress[b] :
# 810| r810_2(glval<unknown>) = FunctionAddress[operator=] :
# 810| r810_3(glval<Base>) = VariableAddress[#temp810:7] :
# 810| m810_4(Base) = Uninitialized[#temp810:7] : &:r810_3
# 810| m810_5(unknown) = Chi : total:m809_32, partial:m810_4
# 810| r810_6(glval<unknown>) = FunctionAddress[Base] :
# 810| r810_7(glval<Middle>) = VariableAddress[m] :
# 810| r810_8(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : r810_7
# 810| r810_9(Base &) = CopyValue : r810_8
# 810| v810_10(void) = Call[Base] : func:r810_6, this:r810_3, 0:r810_9
# 810| m810_11(unknown) = ^CallSideEffect : ~m810_5
# 810| m810_12(unknown) = Chi : total:m810_5, partial:m810_11
# 810| v810_13(void) = ^BufferReadSideEffect[0] : &:r810_9, ~m810_12
# 810| m810_14(Base) = ^IndirectMayWriteSideEffect[-1] : &:r810_3
# 810| m810_15(unknown) = Chi : total:m810_12, partial:m810_14
# 810| r810_16(glval<Base>) = Convert : r810_3
# 810| r810_17(Base &) = CopyValue : r810_16
# 810| r810_18(Base &) = Call[operator=] : func:r810_2, this:r810_1, 0:r810_17
# 810| m810_19(unknown) = ^CallSideEffect : ~m810_15
# 810| m810_20(unknown) = Chi : total:m810_15, partial:m810_19
# 810| v810_21(void) = ^IndirectReadSideEffect[-1] : &:r810_1, ~m810_20
# 810| v810_22(void) = ^BufferReadSideEffect[0] : &:r810_17, ~m810_20
# 810| m810_23(Base) = ^IndirectMayWriteSideEffect[-1] : &:r810_1
# 810| m810_24(unknown) = Chi : total:m810_20, partial:m810_23
# 810| r810_25(glval<Base>) = CopyValue : r810_3
# 810| r810_26(glval<unknown>) = FunctionAddress[~Base] :
# 810| v810_27(void) = Call[~Base] : func:r810_26, this:r810_25
# 810| m810_28(unknown) = ^CallSideEffect : ~m810_24
# 810| m810_29(unknown) = Chi : total:m810_24, partial:m810_28
# 810| v810_30(void) = ^IndirectReadSideEffect[-1] : &:r810_25, ~m810_29
# 810| m810_31(Base) = ^IndirectMayWriteSideEffect[-1] : &:r810_25
# 810| m810_32(unknown) = Chi : total:m810_29, partial:m810_31
# 810| r810_33(glval<Base>) = CopyValue : r810_18
# 811| r811_1(glval<Middle *>) = VariableAddress[pm] :
# 811| r811_2(Middle *) = Load[pm] : &:r811_1, m805_4
# 811| r811_3(Base *) = ConvertToNonVirtualBase[Middle : Base] : r811_2
# 811| r811_4(glval<Base *>) = VariableAddress[pb] :
# 811| m811_5(Base *) = Store[pb] : &:r811_4, r811_3
# 812| r812_1(glval<Middle *>) = VariableAddress[pm] :
# 812| r812_2(Middle *) = Load[pm] : &:r812_1, m805_4
# 812| r812_3(Base *) = ConvertToNonVirtualBase[Middle : Base] : r812_2
# 812| r812_4(glval<Base *>) = VariableAddress[pb] :
# 812| m812_5(Base *) = Store[pb] : &:r812_4, r812_3
# 813| r813_1(glval<Middle *>) = VariableAddress[pm] :
# 813| r813_2(Middle *) = Load[pm] : &:r813_1, m805_4
# 813| r813_3(Base *) = ConvertToNonVirtualBase[Middle : Base] : r813_2
# 813| r813_4(glval<Base *>) = VariableAddress[pb] :
# 813| m813_5(Base *) = Store[pb] : &:r813_4, r813_3
# 814| r814_1(glval<Middle *>) = VariableAddress[pm] :
# 814| r814_2(Middle *) = Load[pm] : &:r814_1, m805_4
# 814| r814_3(Base *) = Convert : r814_2
# 814| r814_4(glval<Base *>) = VariableAddress[pb] :
# 814| m814_5(Base *) = Store[pb] : &:r814_4, r814_3
# 816| r816_1(glval<Middle>) = VariableAddress[m] :
# 816| r816_2(glval<unknown>) = FunctionAddress[operator=] :
# 816| r816_3(glval<Base>) = VariableAddress[b] :
# 816| r816_4(glval<Middle>) = ConvertToDerived[Middle : Base] : r816_3
# 816| r816_5(glval<Middle>) = Convert : r816_4
# 816| r816_6(Middle &) = CopyValue : r816_5
# 816| r816_7(Middle &) = Call[operator=] : func:r816_2, this:r816_1, 0:r816_6
# 816| m816_8(unknown) = ^CallSideEffect : ~m810_32
# 816| m816_9(unknown) = Chi : total:m810_32, partial:m816_8
# 816| v816_10(void) = ^IndirectReadSideEffect[-1] : &:r816_1, ~m816_9
# 816| v816_11(void) = ^BufferReadSideEffect[0] : &:r816_6, ~m816_9
# 816| m816_12(Middle) = ^IndirectMayWriteSideEffect[-1] : &:r816_1
# 816| m816_13(unknown) = Chi : total:m816_9, partial:m816_12
# 816| r816_14(glval<Middle>) = CopyValue : r816_7
# 817| r817_1(glval<Middle>) = VariableAddress[m] :
# 817| r817_2(glval<unknown>) = FunctionAddress[operator=] :
# 817| r817_3(glval<Base>) = VariableAddress[b] :
# 817| r817_4(glval<Middle>) = ConvertToDerived[Middle : Base] : r817_3
# 817| r817_5(glval<Middle>) = Convert : r817_4
# 817| r817_6(Middle &) = CopyValue : r817_5
# 817| r817_7(Middle &) = Call[operator=] : func:r817_2, this:r817_1, 0:r817_6
# 817| m817_8(unknown) = ^CallSideEffect : ~m816_13
# 817| m817_9(unknown) = Chi : total:m816_13, partial:m817_8
# 817| v817_10(void) = ^IndirectReadSideEffect[-1] : &:r817_1, ~m817_9
# 817| v817_11(void) = ^BufferReadSideEffect[0] : &:r817_6, ~m817_9
# 817| m817_12(Middle) = ^IndirectMayWriteSideEffect[-1] : &:r817_1
# 817| m817_13(unknown) = Chi : total:m817_9, partial:m817_12
# 817| r817_14(glval<Middle>) = CopyValue : r817_7
# 818| r818_1(glval<Base *>) = VariableAddress[pb] :
# 818| r818_2(Base *) = Load[pb] : &:r818_1, m814_5
# 818| r818_3(Middle *) = ConvertToDerived[Middle : Base] : r818_2
# 818| r818_4(glval<Middle *>) = VariableAddress[pm] :
# 818| m818_5(Middle *) = Store[pm] : &:r818_4, r818_3
# 819| r819_1(glval<Base *>) = VariableAddress[pb] :
# 819| r819_2(Base *) = Load[pb] : &:r819_1, m814_5
# 819| r819_3(Middle *) = ConvertToDerived[Middle : Base] : r819_2
# 819| r819_4(glval<Middle *>) = VariableAddress[pm] :
# 819| m819_5(Middle *) = Store[pm] : &:r819_4, r819_3
# 820| r820_1(glval<Base *>) = VariableAddress[pb] :
# 820| r820_2(Base *) = Load[pb] : &:r820_1, m814_5
# 820| r820_3(Middle *) = Convert : r820_2
# 820| r820_4(glval<Middle *>) = VariableAddress[pm] :
# 820| m820_5(Middle *) = Store[pm] : &:r820_4, r820_3
# 822| r822_1(glval<Base>) = VariableAddress[b] :
# 822| r822_2(glval<unknown>) = FunctionAddress[operator=] :
# 822| r822_3(glval<Derived>) = VariableAddress[d] :
# 822| r822_4(glval<Middle>) = ConvertToNonVirtualBase[Derived : Middle] : r822_3
# 822| r822_5(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : r822_4
# 822| r822_6(Base &) = CopyValue : r822_5
# 822| r822_7(Base &) = Call[operator=] : func:r822_2, this:r822_1, 0:r822_6
# 822| m822_8(unknown) = ^CallSideEffect : ~m817_13
# 822| m822_9(unknown) = Chi : total:m817_13, partial:m822_8
# 822| v822_10(void) = ^IndirectReadSideEffect[-1] : &:r822_1, ~m822_9
# 822| v822_11(void) = ^BufferReadSideEffect[0] : &:r822_6, ~m822_9
# 822| m822_12(Base) = ^IndirectMayWriteSideEffect[-1] : &:r822_1
# 822| m822_13(unknown) = Chi : total:m822_9, partial:m822_12
# 822| r822_14(glval<Base>) = CopyValue : r822_7
# 823| r823_1(glval<Base>) = VariableAddress[b] :
# 823| r823_2(glval<unknown>) = FunctionAddress[operator=] :
# 823| r823_3(glval<Base>) = VariableAddress[#temp823:7] :
# 823| m823_4(Base) = Uninitialized[#temp823:7] : &:r823_3
# 823| m823_5(unknown) = Chi : total:m822_13, partial:m823_4
# 823| r823_6(glval<unknown>) = FunctionAddress[Base] :
# 823| r823_7(glval<Derived>) = VariableAddress[d] :
# 823| r823_8(glval<Middle>) = ConvertToNonVirtualBase[Derived : Middle] : r823_7
# 823| r823_9(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : r823_8
# 823| r823_10(Base &) = CopyValue : r823_9
# 823| v823_11(void) = Call[Base] : func:r823_6, this:r823_3, 0:r823_10
# 823| m823_12(unknown) = ^CallSideEffect : ~m823_5
# 823| m823_13(unknown) = Chi : total:m823_5, partial:m823_12
# 823| v823_14(void) = ^BufferReadSideEffect[0] : &:r823_10, ~m823_13
# 823| m823_15(Base) = ^IndirectMayWriteSideEffect[-1] : &:r823_3
# 823| m823_16(unknown) = Chi : total:m823_13, partial:m823_15
# 823| r823_17(glval<Base>) = Convert : r823_3
# 823| r823_18(Base &) = CopyValue : r823_17
# 823| r823_19(Base &) = Call[operator=] : func:r823_2, this:r823_1, 0:r823_18
# 823| m823_20(unknown) = ^CallSideEffect : ~m823_16
# 823| m823_21(unknown) = Chi : total:m823_16, partial:m823_20
# 823| v823_22(void) = ^IndirectReadSideEffect[-1] : &:r823_1, ~m823_21
# 823| v823_23(void) = ^BufferReadSideEffect[0] : &:r823_18, ~m823_21
# 823| m823_24(Base) = ^IndirectMayWriteSideEffect[-1] : &:r823_1
# 823| m823_25(unknown) = Chi : total:m823_21, partial:m823_24
# 823| r823_26(glval<Base>) = CopyValue : r823_3
# 823| r823_27(glval<unknown>) = FunctionAddress[~Base] :
# 823| v823_28(void) = Call[~Base] : func:r823_27, this:r823_26
# 823| m823_29(unknown) = ^CallSideEffect : ~m823_25
# 823| m823_30(unknown) = Chi : total:m823_25, partial:m823_29
# 823| v823_31(void) = ^IndirectReadSideEffect[-1] : &:r823_26, ~m823_30
# 823| m823_32(Base) = ^IndirectMayWriteSideEffect[-1] : &:r823_26
# 823| m823_33(unknown) = Chi : total:m823_30, partial:m823_32
# 823| r823_34(glval<Base>) = CopyValue : r823_19
# 824| r824_1(glval<Base>) = VariableAddress[b] :
# 824| r824_2(glval<unknown>) = FunctionAddress[operator=] :
# 824| r824_3(glval<Base>) = VariableAddress[#temp824:7] :
# 824| m824_4(Base) = Uninitialized[#temp824:7] : &:r824_3
# 824| m824_5(unknown) = Chi : total:m823_33, partial:m824_4
# 824| r824_6(glval<unknown>) = FunctionAddress[Base] :
# 824| r824_7(glval<Derived>) = VariableAddress[d] :
# 824| r824_8(glval<Middle>) = ConvertToNonVirtualBase[Derived : Middle] : r824_7
# 824| r824_9(glval<Base>) = ConvertToNonVirtualBase[Middle : Base] : r824_8
# 824| r824_10(Base &) = CopyValue : r824_9
# 824| v824_11(void) = Call[Base] : func:r824_6, this:r824_3, 0:r824_10
# 824| m824_12(unknown) = ^CallSideEffect : ~m824_5
# 824| m824_13(unknown) = Chi : total:m824_5, partial:m824_12
# 824| v824_14(void) = ^BufferReadSideEffect[0] : &:r824_10, ~m824_13
# 824| m824_15(Base) = ^IndirectMayWriteSideEffect[-1] : &:r824_3
# 824| m824_16(unknown) = Chi : total:m824_13, partial:m824_15
# 824| r824_17(glval<Base>) = Convert : r824_3
# 824| r824_18(Base &) = CopyValue : r824_17
# 824| r824_19(Base &) = Call[operator=] : func:r824_2, this:r824_1, 0:r824_18
# 824| m824_20(unknown) = ^CallSideEffect : ~m824_16
# 824| m824_21(unknown) = Chi : total:m824_16, partial:m824_20
# 824| v824_22(void) = ^IndirectReadSideEffect[-1] : &:r824_1, ~m824_21
# 824| v824_23(void) = ^BufferReadSideEffect[0] : &:r824_18, ~m824_21
# 824| m824_24(Base) = ^IndirectMayWriteSideEffect[-1] : &:r824_1
# 824| m824_25(unknown) = Chi : total:m824_21, partial:m824_24
# 824| r824_26(glval<Base>) = CopyValue : r824_3
# 824| r824_27(glval<unknown>) = FunctionAddress[~Base] :
# 824| v824_28(void) = Call[~Base] : func:r824_27, this:r824_26
# 824| m824_29(unknown) = ^CallSideEffect : ~m824_25
# 824| m824_30(unknown) = Chi : total:m824_25, partial:m824_29
# 824| v824_31(void) = ^IndirectReadSideEffect[-1] : &:r824_26, ~m824_30
# 824| m824_32(Base) = ^IndirectMayWriteSideEffect[-1] : &:r824_26
# 824| m824_33(unknown) = Chi : total:m824_30, partial:m824_32
# 824| r824_34(glval<Base>) = CopyValue : r824_19
# 825| r825_1(glval<Derived *>) = VariableAddress[pd] :
# 825| r825_2(Derived *) = Load[pd] : &:r825_1, m806_4
# 825| r825_3(Middle *) = ConvertToNonVirtualBase[Derived : Middle] : r825_2
# 825| r825_4(Base *) = ConvertToNonVirtualBase[Middle : Base] : r825_3
# 825| r825_5(glval<Base *>) = VariableAddress[pb] :
# 825| m825_6(Base *) = Store[pb] : &:r825_5, r825_4
# 826| r826_1(glval<Derived *>) = VariableAddress[pd] :
# 826| r826_2(Derived *) = Load[pd] : &:r826_1, m806_4
# 826| r826_3(Middle *) = ConvertToNonVirtualBase[Derived : Middle] : r826_2
# 826| r826_4(Base *) = ConvertToNonVirtualBase[Middle : Base] : r826_3
# 826| r826_5(glval<Base *>) = VariableAddress[pb] :
# 826| m826_6(Base *) = Store[pb] : &:r826_5, r826_4
# 827| r827_1(glval<Derived *>) = VariableAddress[pd] :
# 827| r827_2(Derived *) = Load[pd] : &:r827_1, m806_4
# 827| r827_3(Middle *) = ConvertToNonVirtualBase[Derived : Middle] : r827_2
# 827| r827_4(Base *) = ConvertToNonVirtualBase[Middle : Base] : r827_3
# 827| r827_5(glval<Base *>) = VariableAddress[pb] :
# 827| m827_6(Base *) = Store[pb] : &:r827_5, r827_4
# 828| r828_1(glval<Derived *>) = VariableAddress[pd] :
# 828| r828_2(Derived *) = Load[pd] : &:r828_1, m806_4
# 828| r828_3(Base *) = Convert : r828_2
# 828| r828_4(glval<Base *>) = VariableAddress[pb] :
# 828| m828_5(Base *) = Store[pb] : &:r828_4, r828_3
# 830| r830_1(glval<Derived>) = VariableAddress[d] :
# 830| r830_2(glval<unknown>) = FunctionAddress[operator=] :
# 830| r830_3(glval<Base>) = VariableAddress[b] :
# 830| r830_4(glval<Middle>) = ConvertToDerived[Middle : Base] : r830_3
# 830| r830_5(glval<Derived>) = ConvertToDerived[Derived : Middle] : r830_4
# 830| r830_6(glval<Derived>) = Convert : r830_5
# 830| r830_7(Derived &) = CopyValue : r830_6
# 830| r830_8(Derived &) = Call[operator=] : func:r830_2, this:r830_1, 0:r830_7
# 830| m830_9(unknown) = ^CallSideEffect : ~m824_33
# 830| m830_10(unknown) = Chi : total:m824_33, partial:m830_9
# 830| v830_11(void) = ^IndirectReadSideEffect[-1] : &:r830_1, ~m830_10
# 830| v830_12(void) = ^BufferReadSideEffect[0] : &:r830_7, ~m830_10
# 830| m830_13(Derived) = ^IndirectMayWriteSideEffect[-1] : &:r830_1
# 830| m830_14(unknown) = Chi : total:m830_10, partial:m830_13
# 830| r830_15(glval<Derived>) = CopyValue : r830_8
# 831| r831_1(glval<Derived>) = VariableAddress[d] :
# 831| r831_2(glval<unknown>) = FunctionAddress[operator=] :
# 831| r831_3(glval<Base>) = VariableAddress[b] :
# 831| r831_4(glval<Middle>) = ConvertToDerived[Middle : Base] : r831_3
# 831| r831_5(glval<Derived>) = ConvertToDerived[Derived : Middle] : r831_4
# 831| r831_6(glval<Derived>) = Convert : r831_5
# 831| r831_7(Derived &) = CopyValue : r831_6
# 831| r831_8(Derived &) = Call[operator=] : func:r831_2, this:r831_1, 0:r831_7
# 831| m831_9(unknown) = ^CallSideEffect : ~m830_14
# 831| m831_10(unknown) = Chi : total:m830_14, partial:m831_9
# 831| v831_11(void) = ^IndirectReadSideEffect[-1] : &:r831_1, ~m831_10
# 831| v831_12(void) = ^BufferReadSideEffect[0] : &:r831_7, ~m831_10
# 831| m831_13(Derived) = ^IndirectMayWriteSideEffect[-1] : &:r831_1
# 831| m831_14(unknown) = Chi : total:m831_10, partial:m831_13
# 831| r831_15(glval<Derived>) = CopyValue : r831_8
# 832| r832_1(glval<Base *>) = VariableAddress[pb] :
# 832| r832_2(Base *) = Load[pb] : &:r832_1, m828_5
# 832| r832_3(Middle *) = ConvertToDerived[Middle : Base] : r832_2
# 832| r832_4(Derived *) = ConvertToDerived[Derived : Middle] : r832_3
# 832| r832_5(glval<Derived *>) = VariableAddress[pd] :
# 832| m832_6(Derived *) = Store[pd] : &:r832_5, r832_4
# 833| r833_1(glval<Base *>) = VariableAddress[pb] :
# 833| r833_2(Base *) = Load[pb] : &:r833_1, m828_5
# 833| r833_3(Middle *) = ConvertToDerived[Middle : Base] : r833_2
# 833| r833_4(Derived *) = ConvertToDerived[Derived : Middle] : r833_3
# 833| r833_5(glval<Derived *>) = VariableAddress[pd] :
# 833| m833_6(Derived *) = Store[pd] : &:r833_5, r833_4
# 834| r834_1(glval<Base *>) = VariableAddress[pb] :
# 834| r834_2(Base *) = Load[pb] : &:r834_1, m828_5
# 834| r834_3(Derived *) = Convert : r834_2
# 834| r834_4(glval<Derived *>) = VariableAddress[pd] :
# 834| m834_5(Derived *) = Store[pd] : &:r834_4, r834_3
# 836| r836_1(glval<MiddleVB1 *>) = VariableAddress[pmv] :
# 836| r836_2(MiddleVB1 *) = Constant[0] :
# 836| m836_3(MiddleVB1 *) = Store[pmv] : &:r836_1, r836_2
# 837| r837_1(glval<DerivedVB *>) = VariableAddress[pdv] :
# 837| r837_2(DerivedVB *) = Constant[0] :
# 837| m837_3(DerivedVB *) = Store[pdv] : &:r837_1, r837_2
# 838| r838_1(glval<MiddleVB1 *>) = VariableAddress[pmv] :
# 838| r838_2(MiddleVB1 *) = Load[pmv] : &:r838_1, m836_3
# 838| r838_3(Base *) = ConvertToVirtualBase[MiddleVB1 : Base] : r838_2
# 838| r838_4(glval<Base *>) = VariableAddress[pb] :
# 838| m838_5(Base *) = Store[pb] : &:r838_4, r838_3
# 839| r839_1(glval<DerivedVB *>) = VariableAddress[pdv] :
# 839| r839_2(DerivedVB *) = Load[pdv] : &:r839_1, m837_3
# 839| r839_3(Base *) = ConvertToVirtualBase[DerivedVB : Base] : r839_2
# 839| r839_4(glval<Base *>) = VariableAddress[pb] :
# 839| m839_5(Base *) = Store[pb] : &:r839_4, r839_3
# 840| v840_1(void) = NoOp :
# 840| r840_2(glval<Derived>) = VariableAddress[d] :
# 840| r840_3(glval<unknown>) = FunctionAddress[~Derived] :
# 840| v840_4(void) = Call[~Derived] : func:r840_3, this:r840_2
# 840| m840_5(unknown) = ^CallSideEffect : ~m831_14
# 840| m840_6(unknown) = Chi : total:m831_14, partial:m840_5
# 840| v840_7(void) = ^IndirectReadSideEffect[-1] : &:r840_2, ~m840_6
# 840| m840_8(Derived) = ^IndirectMayWriteSideEffect[-1] : &:r840_2
# 840| m840_9(unknown) = Chi : total:m840_6, partial:m840_8
# 840| r840_10(glval<Middle>) = VariableAddress[m] :
# 840| r840_11(glval<unknown>) = FunctionAddress[~Middle] :
# 840| v840_12(void) = Call[~Middle] : func:r840_11, this:r840_10
# 840| m840_13(unknown) = ^CallSideEffect : ~m840_9
# 840| m840_14(unknown) = Chi : total:m840_9, partial:m840_13
# 840| v840_15(void) = ^IndirectReadSideEffect[-1] : &:r840_10, ~m840_14
# 840| m840_16(Middle) = ^IndirectMayWriteSideEffect[-1] : &:r840_10
# 840| m840_17(unknown) = Chi : total:m840_14, partial:m840_16
# 840| r840_18(glval<Base>) = VariableAddress[b] :
# 840| r840_19(glval<unknown>) = FunctionAddress[~Base] :
# 840| v840_20(void) = Call[~Base] : func:r840_19, this:r840_18
# 840| m840_21(unknown) = ^CallSideEffect : ~m840_17
# 840| m840_22(unknown) = Chi : total:m840_17, partial:m840_21
# 840| v840_23(void) = ^IndirectReadSideEffect[-1] : &:r840_18, ~m840_22
# 840| m840_24(Base) = ^IndirectMayWriteSideEffect[-1] : &:r840_18
# 840| m840_25(unknown) = Chi : total:m840_22, partial:m840_24
# 799| v799_5(void) = ReturnVoid :
# 799| v799_6(void) = AliasedUse : ~m840_22
# 799| v799_7(void) = ExitFunction :
# 842| void PolymorphicBase::PolymorphicBase()
# 842| Block 0
# 842| v842_1(void) = EnterFunction :
# 842| m842_2(unknown) = AliasedDefinition :
# 842| m842_3(unknown) = InitializeNonLocal :
# 842| m842_4(unknown) = Chi : total:m842_2, partial:m842_3
# 842| r842_5(glval<unknown>) = VariableAddress[#this] :
# 842| m842_6(glval<PolymorphicBase>) = InitializeParameter[#this] : &:r842_5
# 842| r842_7(glval<PolymorphicBase>) = Load[#this] : &:r842_5, m842_6
# 842| m842_8(PolymorphicBase) = InitializeIndirection[#this] : &:r842_7
# 842| v842_9(void) = NoOp :
# 842| v842_10(void) = ReturnIndirection[#this] : &:r842_7, m842_8
# 842| v842_11(void) = ReturnVoid :
# 842| v842_12(void) = AliasedUse : m842_3
# 842| v842_13(void) = ExitFunction :
# 846| void PolymorphicDerived::PolymorphicDerived()
# 846| Block 0
# 846| v846_1(void) = EnterFunction :
# 846| m846_2(unknown) = AliasedDefinition :
# 846| m846_3(unknown) = InitializeNonLocal :
# 846| m846_4(unknown) = Chi : total:m846_2, partial:m846_3
# 846| r846_5(glval<unknown>) = VariableAddress[#this] :
# 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_10(glval<unknown>) = FunctionAddress[PolymorphicBase] :
# 846| v846_11(void) = Call[PolymorphicBase] : func:r846_10, this:r846_9
# 846| m846_12(unknown) = ^CallSideEffect : ~m846_4
# 846| m846_13(unknown) = Chi : total:m846_4, partial:m846_12
# 846| m846_14(PolymorphicBase) = ^IndirectMayWriteSideEffect[-1] : &:r846_9
# 846| m846_15(unknown) = Chi : total:m846_8, partial:m846_14
# 846| v846_16(void) = NoOp :
# 846| v846_17(void) = ReturnIndirection[#this] : &:r846_7, m846_15
# 846| v846_18(void) = ReturnVoid :
# 846| v846_19(void) = AliasedUse : ~m846_13
# 846| v846_20(void) = ExitFunction :
# 846| void PolymorphicDerived::~PolymorphicDerived()
# 846| Block 0
# 846| v846_1(void) = EnterFunction :
# 846| m846_2(unknown) = AliasedDefinition :
# 846| m846_3(unknown) = InitializeNonLocal :
# 846| m846_4(unknown) = Chi : total:m846_2, partial:m846_3
# 846| r846_5(glval<unknown>) = VariableAddress[#this] :
# 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| 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_11(glval<unknown>) = FunctionAddress[~PolymorphicBase] :
# 846| v846_12(void) = Call[~PolymorphicBase] : func:r846_11, this:r846_10
# 846| m846_13(unknown) = ^CallSideEffect : ~m846_9
# 846| m846_14(unknown) = Chi : total:m846_9, partial:m846_13
# 846| v846_15(void) = ReturnIndirection[#this] : &:r846_7, ~m846_14
# 846| v846_16(void) = ReturnVoid :
# 846| v846_17(void) = AliasedUse : ~m846_14
# 846| v846_18(void) = ExitFunction :
# 849| void DynamicCast()
# 849| Block 0
# 849| v849_1(void) = EnterFunction :
# 849| m849_2(unknown) = AliasedDefinition :
# 849| m849_3(unknown) = InitializeNonLocal :
# 849| m849_4(unknown) = Chi : total:m849_2, partial:m849_3
# 850| r850_1(glval<PolymorphicBase>) = VariableAddress[b] :
# 850| m850_2(PolymorphicBase) = Uninitialized[b] : &:r850_1
# 850| m850_3(unknown) = Chi : total:m849_4, partial:m850_2
# 850| r850_4(glval<unknown>) = FunctionAddress[PolymorphicBase] :
# 850| v850_5(void) = Call[PolymorphicBase] : func:r850_4, this:r850_1
# 850| m850_6(unknown) = ^CallSideEffect : ~m850_3
# 850| m850_7(unknown) = Chi : total:m850_3, partial:m850_6
# 850| m850_8(PolymorphicBase) = ^IndirectMayWriteSideEffect[-1] : &:r850_1
# 850| m850_9(unknown) = Chi : total:m850_7, partial:m850_8
# 851| r851_1(glval<PolymorphicDerived>) = VariableAddress[d] :
# 851| m851_2(PolymorphicDerived) = Uninitialized[d] : &:r851_1
# 851| m851_3(unknown) = Chi : total:m850_9, partial:m851_2
# 851| r851_4(glval<unknown>) = FunctionAddress[PolymorphicDerived] :
# 851| v851_5(void) = Call[PolymorphicDerived] : func:r851_4, this:r851_1
# 851| m851_6(unknown) = ^CallSideEffect : ~m851_3
# 851| m851_7(unknown) = Chi : total:m851_3, partial:m851_6
# 851| m851_8(PolymorphicDerived) = ^IndirectMayWriteSideEffect[-1] : &:r851_1
# 851| m851_9(unknown) = Chi : total:m851_7, partial:m851_8
# 853| r853_1(glval<PolymorphicBase *>) = VariableAddress[pb] :
# 853| r853_2(glval<PolymorphicBase>) = VariableAddress[b] :
# 853| r853_3(PolymorphicBase *) = CopyValue : r853_2
# 853| m853_4(PolymorphicBase *) = Store[pb] : &:r853_1, r853_3
# 854| r854_1(glval<PolymorphicDerived *>) = VariableAddress[pd] :
# 854| r854_2(glval<PolymorphicDerived>) = VariableAddress[d] :
# 854| r854_3(PolymorphicDerived *) = CopyValue : r854_2
# 854| m854_4(PolymorphicDerived *) = Store[pd] : &:r854_1, r854_3
# 857| r857_1(glval<PolymorphicDerived *>) = VariableAddress[pd] :
# 857| r857_2(PolymorphicDerived *) = Load[pd] : &:r857_1, m854_4
# 857| r857_3(PolymorphicBase *) = CheckedConvertOrNull : r857_2
# 857| r857_4(glval<PolymorphicBase *>) = VariableAddress[pb] :
# 857| m857_5(PolymorphicBase *) = Store[pb] : &:r857_4, r857_3
# 858| r858_1(glval<PolymorphicBase &>) = VariableAddress[rb] :
# 858| r858_2(glval<PolymorphicDerived>) = VariableAddress[d] :
# 858| r858_3(glval<PolymorphicBase>) = CheckedConvertOrThrow : r858_2
# 858| r858_4(PolymorphicBase &) = CopyValue : r858_3
# 858| m858_5(PolymorphicBase &) = Store[rb] : &:r858_1, r858_4
# 860| r860_1(glval<PolymorphicBase *>) = VariableAddress[pb] :
# 860| r860_2(PolymorphicBase *) = Load[pb] : &:r860_1, m857_5
# 860| r860_3(PolymorphicDerived *) = CheckedConvertOrNull : r860_2
# 860| r860_4(glval<PolymorphicDerived *>) = VariableAddress[pd] :
# 860| m860_5(PolymorphicDerived *) = Store[pd] : &:r860_4, r860_3
# 861| r861_1(glval<PolymorphicDerived &>) = VariableAddress[rd] :
# 861| r861_2(glval<PolymorphicBase>) = VariableAddress[b] :
# 861| r861_3(glval<PolymorphicDerived>) = CheckedConvertOrThrow : r861_2
# 861| r861_4(PolymorphicDerived &) = CopyValue : r861_3
# 861| m861_5(PolymorphicDerived &) = Store[rd] : &:r861_1, r861_4
# 863| r863_1(glval<void *>) = VariableAddress[pv] :
# 863| r863_2(glval<PolymorphicBase *>) = VariableAddress[pb] :
# 863| r863_3(PolymorphicBase *) = Load[pb] : &:r863_2, m857_5
# 863| r863_4(void *) = CompleteObjectAddress : r863_3
# 863| m863_5(void *) = Store[pv] : &:r863_1, r863_4
# 864| r864_1(glval<void *>) = VariableAddress[pcv] :
# 864| r864_2(glval<PolymorphicDerived *>) = VariableAddress[pd] :
# 864| r864_3(PolymorphicDerived *) = Load[pd] : &:r864_2, m860_5
# 864| r864_4(void *) = CompleteObjectAddress : r864_3
# 864| m864_5(void *) = Store[pcv] : &:r864_1, r864_4
# 865| v865_1(void) = NoOp :
# 865| r865_2(glval<PolymorphicDerived>) = VariableAddress[d] :
# 865| r865_3(glval<unknown>) = FunctionAddress[~PolymorphicDerived] :
# 865| v865_4(void) = Call[~PolymorphicDerived] : func:r865_3, this:r865_2
# 865| m865_5(unknown) = ^CallSideEffect : ~m851_9
# 865| m865_6(unknown) = Chi : total:m851_9, partial:m865_5
# 865| v865_7(void) = ^IndirectReadSideEffect[-1] : &:r865_2, ~m865_6
# 865| m865_8(PolymorphicDerived) = ^IndirectMayWriteSideEffect[-1] : &:r865_2
# 865| m865_9(unknown) = Chi : total:m865_6, partial:m865_8
# 865| r865_10(glval<PolymorphicBase>) = VariableAddress[b] :
# 865| r865_11(glval<unknown>) = FunctionAddress[~PolymorphicBase] :
# 865| v865_12(void) = Call[~PolymorphicBase] : func:r865_11, this:r865_10
# 865| m865_13(unknown) = ^CallSideEffect : ~m865_9
# 865| m865_14(unknown) = Chi : total:m865_9, partial:m865_13
# 865| v865_15(void) = ^IndirectReadSideEffect[-1] : &:r865_10, ~m865_14
# 865| m865_16(PolymorphicBase) = ^IndirectMayWriteSideEffect[-1] : &:r865_10
# 865| m865_17(unknown) = Chi : total:m865_14, partial:m865_16
# 849| v849_5(void) = ReturnVoid :
# 849| v849_6(void) = AliasedUse : ~m865_14
# 849| v849_7(void) = ExitFunction :
# 867| void String::String()
# 867| Block 0
# 867| v867_1(void) = EnterFunction :
# 867| m867_2(unknown) = AliasedDefinition :
# 867| m867_3(unknown) = InitializeNonLocal :
# 867| m867_4(unknown) = Chi : total:m867_2, partial:m867_3
# 867| r867_5(glval<unknown>) = VariableAddress[#this] :
# 867| m867_6(glval<String>) = InitializeParameter[#this] : &:r867_5
# 867| r867_7(glval<String>) = Load[#this] : &:r867_5, m867_6
# 867| m867_8(String) = InitializeIndirection[#this] : &:r867_7
# 867| m867_9(unknown) = Chi : total:m867_4, partial:m867_8
# 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| 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_9(unknown) = Chi : total:m868_6, partial:m868_8
# 869| v869_1(void) = NoOp :
# 867| v867_10(void) = ReturnIndirection[#this] : &:r867_7, ~m868_9
# 867| v867_11(void) = ReturnVoid :
# 867| v867_12(void) = AliasedUse : ~m868_9
# 867| v867_13(void) = ExitFunction :
# 871| void ArrayConversions()
# 871| Block 0
# 871| v871_1(void) = EnterFunction :
# 871| m871_2(unknown) = AliasedDefinition :
# 871| m871_3(unknown) = InitializeNonLocal :
# 871| m871_4(unknown) = Chi : total:m871_2, partial:m871_3
# 872| r872_1(glval<char[5]>) = VariableAddress[a] :
# 872| m872_2(char[5]) = Uninitialized[a] : &:r872_1
# 873| r873_1(glval<char *>) = VariableAddress[p] :
# 873| r873_2(glval<char[5]>) = VariableAddress[a] :
# 873| r873_3(char *) = Convert : r873_2
# 873| r873_4(char *) = Convert : r873_3
# 873| m873_5(char *) = Store[p] : &:r873_1, r873_4
# 874| r874_1(glval<char[5]>) = StringConstant["test"] :
# 874| r874_2(char *) = Convert : r874_1
# 874| r874_3(glval<char *>) = VariableAddress[p] :
# 874| m874_4(char *) = Store[p] : &:r874_3, r874_2
# 875| r875_1(glval<char[5]>) = VariableAddress[a] :
# 875| r875_2(char *) = Convert : r875_1
# 875| r875_3(int) = Constant[0] :
# 875| r875_4(glval<char>) = PointerAdd[1] : r875_2, r875_3
# 875| r875_5(char *) = CopyValue : r875_4
# 875| r875_6(char *) = Convert : r875_5
# 875| r875_7(glval<char *>) = VariableAddress[p] :
# 875| m875_8(char *) = Store[p] : &:r875_7, r875_6
# 876| r876_1(glval<char[5]>) = StringConstant["test"] :
# 876| r876_2(char *) = Convert : r876_1
# 876| r876_3(int) = Constant[0] :
# 876| r876_4(glval<char>) = PointerAdd[1] : r876_2, r876_3
# 876| r876_5(char *) = CopyValue : r876_4
# 876| r876_6(glval<char *>) = VariableAddress[p] :
# 876| m876_7(char *) = Store[p] : &:r876_6, r876_5
# 877| r877_1(glval<char(&)[5]>) = VariableAddress[ra] :
# 877| r877_2(glval<char[5]>) = VariableAddress[a] :
# 877| r877_3(char(&)[5]) = CopyValue : r877_2
# 877| m877_4(char(&)[5]) = Store[ra] : &:r877_1, r877_3
# 878| r878_1(glval<char(&)[5]>) = VariableAddress[rs] :
# 878| r878_2(glval<char[5]>) = StringConstant["test"] :
# 878| r878_3(char(&)[5]) = CopyValue : r878_2
# 878| m878_4(char(&)[5]) = Store[rs] : &:r878_1, r878_3
# 879| r879_1(glval<char(*)[5]>) = VariableAddress[pa] :
# 879| r879_2(glval<char[5]>) = VariableAddress[a] :
# 879| r879_3(char(*)[5]) = CopyValue : r879_2
# 879| r879_4(char(*)[5]) = Convert : r879_3
# 879| m879_5(char(*)[5]) = Store[pa] : &:r879_1, r879_4
# 880| r880_1(glval<char[5]>) = StringConstant["test"] :
# 880| r880_2(char(*)[5]) = CopyValue : r880_1
# 880| r880_3(glval<char(*)[5]>) = VariableAddress[pa] :
# 880| m880_4(char(*)[5]) = Store[pa] : &:r880_3, r880_2
# 881| v881_1(void) = NoOp :
# 871| v871_5(void) = ReturnVoid :
# 871| v871_6(void) = AliasedUse : m871_3
# 871| v871_7(void) = ExitFunction :
# 883| void FuncPtrConversions(int(*)(int), void*)
# 883| Block 0
# 883| v883_1(void) = EnterFunction :
# 883| m883_2(unknown) = AliasedDefinition :
# 883| m883_3(unknown) = InitializeNonLocal :
# 883| m883_4(unknown) = Chi : total:m883_2, partial:m883_3
# 883| r883_5(glval<..(*)(..)>) = VariableAddress[pfn] :
# 883| m883_6(..(*)(..)) = InitializeParameter[pfn] : &:r883_5
# 883| r883_7(glval<void *>) = VariableAddress[p] :
# 883| m883_8(void *) = InitializeParameter[p] : &:r883_7
# 883| r883_9(void *) = Load[p] : &:r883_7, m883_8
# 883| m883_10(unknown) = InitializeIndirection[p] : &:r883_9
# 884| r884_1(glval<..(*)(..)>) = VariableAddress[pfn] :
# 884| r884_2(..(*)(..)) = Load[pfn] : &:r884_1, m883_6
# 884| r884_3(void *) = Convert : r884_2
# 884| r884_4(glval<void *>) = VariableAddress[p] :
# 884| m884_5(void *) = Store[p] : &:r884_4, r884_3
# 885| r885_1(glval<void *>) = VariableAddress[p] :
# 885| r885_2(void *) = Load[p] : &:r885_1, m884_5
# 885| r885_3(..(*)(..)) = Convert : r885_2
# 885| r885_4(glval<..(*)(..)>) = VariableAddress[pfn] :
# 885| m885_5(..(*)(..)) = Store[pfn] : &:r885_4, r885_3
# 886| v886_1(void) = NoOp :
# 883| v883_11(void) = ReturnIndirection[p] : &:r883_9, m883_10
# 883| v883_12(void) = ReturnVoid :
# 883| v883_13(void) = AliasedUse : m883_3
# 883| v883_14(void) = ExitFunction :
# 888| void VAListUsage(int, __va_list_tag[1])
# 888| Block 0
# 888| v888_1(void) = EnterFunction :
# 888| m888_2(unknown) = AliasedDefinition :
# 888| m888_3(unknown) = InitializeNonLocal :
# 888| m888_4(unknown) = Chi : total:m888_2, partial:m888_3
# 888| r888_5(glval<int>) = VariableAddress[x] :
# 888| m888_6(int) = InitializeParameter[x] : &:r888_5
# 888| r888_7(glval<__va_list_tag *>) = VariableAddress[args] :
# 888| m888_8(__va_list_tag *) = InitializeParameter[args] : &:r888_7
# 888| r888_9(__va_list_tag *) = Load[args] : &:r888_7, m888_8
# 888| m888_10(unknown) = InitializeIndirection[args] : &:r888_9
# 889| r889_1(glval<__va_list_tag[1]>) = VariableAddress[args2] :
# 889| m889_2(__va_list_tag[1]) = Uninitialized[args2] : &:r889_1
# 889| m889_3(unknown) = Chi : total:m888_4, partial:m889_2
# 890| r890_1(glval<__va_list_tag *>) = VariableAddress[args] :
# 890| r890_2(__va_list_tag *) = Load[args] : &:r890_1, m888_8
# 890| r890_3(__va_list_tag) = Load[?] : &:r890_2, ~m888_10
# 890| r890_4(glval<__va_list_tag[1]>) = VariableAddress[args2] :
# 890| r890_5(__va_list_tag *) = Convert : r890_4
# 890| m890_6(__va_list_tag) = Store[?] : &:r890_5, r890_3
# 890| m890_7(unknown) = Chi : total:m889_3, partial:m890_6
# 891| r891_1(glval<double>) = VariableAddress[d] :
# 891| r891_2(glval<__va_list_tag *>) = VariableAddress[args] :
# 891| r891_3(__va_list_tag *) = Load[args] : &:r891_2, m888_8
# 891| r891_4(__va_list_tag) = Load[?] : &:r891_3, ~m888_10
# 891| r891_5(glval<double>) = VarArg : r891_4
# 891| r891_6(__va_list_tag) = NextVarArg : r891_4
# 891| m891_7(__va_list_tag) = Store[?] : &:r891_3, r891_6
# 891| m891_8(unknown) = Chi : total:m888_10, partial:m891_7
# 891| r891_9(double) = Load[?] : &:r891_5, ~m890_7
# 891| m891_10(double) = Store[d] : &:r891_1, r891_9
# 892| r892_1(glval<float>) = VariableAddress[f] :
# 892| r892_2(glval<__va_list_tag *>) = VariableAddress[args] :
# 892| r892_3(__va_list_tag *) = Load[args] : &:r892_2, m888_8
# 892| r892_4(__va_list_tag) = Load[?] : &:r892_3, m891_7
# 892| r892_5(glval<int>) = VarArg : r892_4
# 892| r892_6(__va_list_tag) = NextVarArg : r892_4
# 892| m892_7(__va_list_tag) = Store[?] : &:r892_3, r892_6
# 892| m892_8(unknown) = Chi : total:m891_8, partial:m892_7
# 892| r892_9(int) = Load[?] : &:r892_5, ~m890_7
# 892| r892_10(float) = Convert : r892_9
# 892| m892_11(float) = Store[f] : &:r892_1, r892_10
# 893| r893_1(glval<__va_list_tag[1]>) = VariableAddress[args2] :
# 893| r893_2(__va_list_tag *) = Convert : r893_1
# 893| v893_3(void) = VarArgsEnd : r893_2
# 894| v894_1(void) = NoOp :
# 888| v888_11(void) = ReturnIndirection[args] : &:r888_9, m892_8
# 888| v888_12(void) = ReturnVoid :
# 888| v888_13(void) = AliasedUse : m888_3
# 888| v888_14(void) = ExitFunction :
# 896| void VarArgUsage(int)
# 896| Block 0
# 896| v896_1(void) = EnterFunction :
# 896| m896_2(unknown) = AliasedDefinition :
# 896| m896_3(unknown) = InitializeNonLocal :
# 896| m896_4(unknown) = Chi : total:m896_2, partial:m896_3
# 896| r896_5(glval<int>) = VariableAddress[x] :
# 896| m896_6(int) = InitializeParameter[x] : &:r896_5
# 896| r896_7(glval<unknown>) = VariableAddress[#ellipsis] :
# 896| m896_8(unknown[11]) = InitializeParameter[#ellipsis] : &:r896_7
# 896| m896_9(unknown) = Chi : total:m896_4, partial:m896_8
# 896| r896_10(unknown[11]) = Load[#ellipsis] : &:r896_7, m896_8
# 896| mu896_11(unknown) = InitializeIndirection[#ellipsis] : &:r896_10
# 897| r897_1(glval<__va_list_tag[1]>) = VariableAddress[args] :
# 897| m897_2(__va_list_tag[1]) = Uninitialized[args] : &:r897_1
# 897| m897_3(unknown) = Chi : total:m896_9, partial:m897_2
# 899| r899_1(glval<unknown>) = VariableAddress[#ellipsis] :
# 899| r899_2(__va_list_tag) = VarArgsStart : r899_1
# 899| r899_3(glval<__va_list_tag[1]>) = VariableAddress[args] :
# 899| r899_4(__va_list_tag *) = Convert : r899_3
# 899| m899_5(__va_list_tag) = Store[?] : &:r899_4, r899_2
# 899| m899_6(unknown) = Chi : total:m897_3, partial:m899_5
# 900| r900_1(glval<__va_list_tag[1]>) = VariableAddress[args2] :
# 900| m900_2(__va_list_tag[1]) = Uninitialized[args2] : &:r900_1
# 900| m900_3(unknown) = Chi : total:m899_6, partial:m900_2
# 901| r901_1(glval<__va_list_tag[1]>) = VariableAddress[args] :
# 901| r901_2(__va_list_tag *) = Convert : r901_1
# 901| r901_3(__va_list_tag) = Load[?] : &:r901_2, m899_5
# 901| r901_4(glval<__va_list_tag[1]>) = VariableAddress[args2] :
# 901| r901_5(__va_list_tag *) = Convert : r901_4
# 901| m901_6(__va_list_tag) = Store[?] : &:r901_5, r901_3
# 901| m901_7(unknown) = Chi : total:m900_3, partial:m901_6
# 902| r902_1(glval<double>) = VariableAddress[d] :
# 902| r902_2(glval<__va_list_tag[1]>) = VariableAddress[args] :
# 902| r902_3(__va_list_tag *) = Convert : r902_2
# 902| r902_4(__va_list_tag) = Load[?] : &:r902_3, m899_5
# 902| r902_5(glval<double>) = VarArg : r902_4
# 902| r902_6(__va_list_tag) = NextVarArg : r902_4
# 902| m902_7(__va_list_tag) = Store[?] : &:r902_3, r902_6
# 902| m902_8(unknown) = Chi : total:m901_7, partial:m902_7
# 902| r902_9(double) = Load[?] : &:r902_5, ~m902_8
# 902| m902_10(double) = Store[d] : &:r902_1, r902_9
# 903| r903_1(glval<float>) = VariableAddress[f] :
# 903| r903_2(glval<__va_list_tag[1]>) = VariableAddress[args] :
# 903| r903_3(__va_list_tag *) = Convert : r903_2
# 903| r903_4(__va_list_tag) = Load[?] : &:r903_3, m902_7
# 903| r903_5(glval<int>) = VarArg : r903_4
# 903| r903_6(__va_list_tag) = NextVarArg : r903_4
# 903| m903_7(__va_list_tag) = Store[?] : &:r903_3, r903_6
# 903| m903_8(unknown) = Chi : total:m902_8, partial:m903_7
# 903| r903_9(int) = Load[?] : &:r903_5, ~m903_8
# 903| r903_10(float) = Convert : r903_9
# 903| m903_11(float) = Store[f] : &:r903_1, r903_10
# 904| r904_1(glval<__va_list_tag[1]>) = VariableAddress[args] :
# 904| r904_2(__va_list_tag *) = Convert : r904_1
# 904| v904_3(void) = VarArgsEnd : r904_2
# 905| r905_1(glval<unknown>) = FunctionAddress[VAListUsage] :
# 905| r905_2(glval<int>) = VariableAddress[x] :
# 905| r905_3(int) = Load[x] : &:r905_2, m896_6
# 905| r905_4(glval<__va_list_tag[1]>) = VariableAddress[args2] :
# 905| r905_5(__va_list_tag *) = Convert : r905_4
# 905| v905_6(void) = Call[VAListUsage] : func:r905_1, 0:r905_3, 1:r905_5
# 905| m905_7(unknown) = ^CallSideEffect : ~m903_8
# 905| m905_8(unknown) = Chi : total:m903_8, partial:m905_7
# 905| v905_9(void) = ^BufferReadSideEffect[1] : &:r905_5, ~m905_8
# 905| m905_10(unknown) = ^BufferMayWriteSideEffect[1] : &:r905_5
# 905| m905_11(unknown) = Chi : total:m905_8, partial:m905_10
# 906| r906_1(glval<__va_list_tag[1]>) = VariableAddress[args2] :
# 906| r906_2(__va_list_tag *) = Convert : r906_1
# 906| v906_3(void) = VarArgsEnd : r906_2
# 907| v907_1(void) = NoOp :
# 896| v896_12(void) = ReturnVoid :
# 896| v896_13(void) = AliasedUse : ~m905_8
# 896| v896_14(void) = ExitFunction :
# 909| void CastToVoid(int)
# 909| Block 0
# 909| v909_1(void) = EnterFunction :
# 909| m909_2(unknown) = AliasedDefinition :
# 909| m909_3(unknown) = InitializeNonLocal :
# 909| m909_4(unknown) = Chi : total:m909_2, partial:m909_3
# 909| r909_5(glval<int>) = VariableAddress[x] :
# 909| m909_6(int) = InitializeParameter[x] : &:r909_5
# 909| m909_7(unknown) = Chi : total:m909_4, partial:m909_6
# 910| r910_1(glval<int>) = VariableAddress[x] :
# 910| v910_2(void) = Convert : r910_1
# 911| v911_1(void) = NoOp :
# 909| v909_8(void) = ReturnVoid :
# 909| v909_9(void) = AliasedUse : m909_3
# 909| v909_10(void) = ExitFunction :
# 913| void ConstantConditions(int)
# 913| Block 0
# 913| v913_1(void) = EnterFunction :
# 913| m913_2(unknown) = AliasedDefinition :
# 913| m913_3(unknown) = InitializeNonLocal :
# 913| m913_4(unknown) = Chi : total:m913_2, partial:m913_3
# 913| r913_5(glval<int>) = VariableAddress[x] :
# 913| m913_6(int) = InitializeParameter[x] : &:r913_5
# 914| r914_1(glval<bool>) = VariableAddress[a] :
# 914| r914_2(bool) = Constant[1] :
# 914| m914_3(bool) = Store[a] : &:r914_1, r914_2
# 915| r915_1(glval<int>) = VariableAddress[b] :
# 915| r915_2(bool) = Constant[1] :
# 915| v915_3(void) = ConditionalBranch : r915_2
#-----| False -> Block 2
#-----| True -> Block 1
# 915| Block 1
# 915| r915_4(glval<int>) = VariableAddress[x] :
# 915| r915_5(int) = Load[x] : &:r915_4, m913_6
# 915| r915_6(glval<int>) = VariableAddress[#temp915:11] :
# 915| m915_7(int) = Store[#temp915:11] : &:r915_6, r915_5
# 915| r915_8(glval<int>) = VariableAddress[#temp915:11] :
# 915| r915_9(int) = Load[#temp915:11] : &:r915_8, m915_7
# 915| m915_10(int) = Store[b] : &:r915_1, r915_9
# 916| v916_1(void) = NoOp :
# 913| v913_7(void) = ReturnVoid :
# 913| v913_8(void) = AliasedUse : m913_3
# 913| v913_9(void) = ExitFunction :
# 913| Block 2
# 913| v913_10(void) = Unreached :
# 949| void OperatorNew()
# 949| Block 0
# 949| v949_1(void) = EnterFunction :
# 949| m949_2(unknown) = AliasedDefinition :
# 949| m949_3(unknown) = InitializeNonLocal :
# 949| m949_4(unknown) = Chi : total:m949_2, partial:m949_3
# 950| r950_1(glval<unknown>) = FunctionAddress[operator new] :
# 950| r950_2(unsigned long) = Constant[4] :
# 950| r950_3(void *) = Call[operator new] : func:r950_1, 0:r950_2
# 950| m950_4(unknown) = ^CallSideEffect : ~m949_4
# 950| m950_5(unknown) = Chi : total:m949_4, partial:m950_4
# 950| m950_6(unknown) = ^InitializeDynamicAllocation : &:r950_3
# 950| r950_7(int *) = Convert : r950_3
# 951| r951_1(glval<unknown>) = FunctionAddress[operator new] :
# 951| r951_2(unsigned long) = Constant[4] :
# 951| r951_3(float) = Constant[1.0] :
# 951| r951_4(void *) = Call[operator new] : func:r951_1, 0:r951_2, 1:r951_3
# 951| m951_5(unknown) = ^CallSideEffect : ~m950_5
# 951| m951_6(unknown) = Chi : total:m950_5, partial:m951_5
# 951| m951_7(unknown) = ^InitializeDynamicAllocation : &:r951_4
# 951| r951_8(int *) = Convert : r951_4
# 952| r952_1(glval<unknown>) = FunctionAddress[operator new] :
# 952| r952_2(unsigned long) = Constant[4] :
# 952| r952_3(void *) = Call[operator new] : func:r952_1, 0:r952_2
# 952| m952_4(unknown) = ^CallSideEffect : ~m951_6
# 952| m952_5(unknown) = Chi : total:m951_6, partial:m952_4
# 952| m952_6(unknown) = ^InitializeDynamicAllocation : &:r952_3
# 952| r952_7(int *) = Convert : r952_3
# 952| r952_8(int) = Constant[0] :
# 952| m952_9(int) = Store[?] : &:r952_7, r952_8
# 952| m952_10(unknown) = Chi : total:m952_6, partial:m952_9
# 953| r953_1(glval<unknown>) = FunctionAddress[operator new] :
# 953| r953_2(unsigned long) = Constant[8] :
# 953| r953_3(void *) = Call[operator new] : func:r953_1, 0:r953_2
# 953| m953_4(unknown) = ^CallSideEffect : ~m952_5
# 953| m953_5(unknown) = Chi : total:m952_5, partial:m953_4
# 953| m953_6(unknown) = ^InitializeDynamicAllocation : &:r953_3
# 953| m953_7(unknown) = Chi : total:m953_5, partial:m953_6
# 953| r953_8(String *) = Convert : r953_3
# 953| r953_9(glval<unknown>) = FunctionAddress[String] :
# 953| v953_10(void) = Call[String] : func:r953_9, this:r953_8
# 953| m953_11(unknown) = ^CallSideEffect : ~m953_7
# 953| m953_12(unknown) = Chi : total:m953_7, partial:m953_11
# 953| m953_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r953_8
# 953| m953_14(unknown) = Chi : total:m953_12, partial:m953_13
# 954| r954_1(glval<unknown>) = FunctionAddress[operator new] :
# 954| r954_2(unsigned long) = Constant[8] :
# 954| r954_3(float) = Constant[1.0] :
# 954| r954_4(void *) = Call[operator new] : func:r954_1, 0:r954_2, 1:r954_3
# 954| m954_5(unknown) = ^CallSideEffect : ~m953_14
# 954| m954_6(unknown) = Chi : total:m953_14, partial:m954_5
# 954| m954_7(unknown) = ^InitializeDynamicAllocation : &:r954_4
# 954| m954_8(unknown) = Chi : total:m954_6, partial:m954_7
# 954| r954_9(String *) = Convert : r954_4
# 954| r954_10(glval<unknown>) = FunctionAddress[String] :
# 954| r954_11(glval<char[6]>) = StringConstant["hello"] :
# 954| r954_12(char *) = Convert : r954_11
# 954| v954_13(void) = Call[String] : func:r954_10, this:r954_9, 0:r954_12
# 954| m954_14(unknown) = ^CallSideEffect : ~m954_8
# 954| m954_15(unknown) = Chi : total:m954_8, partial:m954_14
# 954| v954_16(void) = ^BufferReadSideEffect[0] : &:r954_12, ~m949_3
# 954| m954_17(String) = ^IndirectMayWriteSideEffect[-1] : &:r954_9
# 954| m954_18(unknown) = Chi : total:m954_15, partial:m954_17
# 955| r955_1(glval<unknown>) = FunctionAddress[operator new] :
# 955| r955_2(unsigned long) = Constant[256] :
# 955| r955_3(align_val_t) = Constant[128] :
# 955| r955_4(void *) = Call[operator new] : func:r955_1, 0:r955_2, 1:r955_3
# 955| m955_5(unknown) = ^CallSideEffect : ~m954_18
# 955| m955_6(unknown) = Chi : total:m954_18, partial:m955_5
# 955| m955_7(unknown) = ^InitializeDynamicAllocation : &:r955_4
# 955| r955_8(Overaligned *) = Convert : r955_4
# 956| r956_1(glval<unknown>) = FunctionAddress[operator new] :
# 956| r956_2(unsigned long) = Constant[256] :
# 956| r956_3(align_val_t) = Constant[128] :
# 956| r956_4(float) = Constant[1.0] :
# 956| r956_5(void *) = Call[operator new] : func:r956_1, 0:r956_2, 1:r956_3, 2:r956_4
# 956| m956_6(unknown) = ^CallSideEffect : ~m955_6
# 956| m956_7(unknown) = Chi : total:m955_6, partial:m956_6
# 956| m956_8(unknown) = ^InitializeDynamicAllocation : &:r956_5
# 956| r956_9(Overaligned *) = Convert : r956_5
# 956| r956_10(Overaligned) = Constant[0] :
# 956| m956_11(Overaligned) = Store[?] : &:r956_9, r956_10
# 956| m956_12(unknown) = Chi : total:m956_8, partial:m956_11
# 957| v957_1(void) = NoOp :
# 949| v949_5(void) = ReturnVoid :
# 949| v949_6(void) = AliasedUse : ~m956_7
# 949| v949_7(void) = ExitFunction :
# 959| void OperatorNewArray(int)
# 959| Block 0
# 959| v959_1(void) = EnterFunction :
# 959| m959_2(unknown) = AliasedDefinition :
# 959| m959_3(unknown) = InitializeNonLocal :
# 959| m959_4(unknown) = Chi : total:m959_2, partial:m959_3
# 959| r959_5(glval<int>) = VariableAddress[n] :
# 959| m959_6(int) = InitializeParameter[n] : &:r959_5
# 960| r960_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 960| r960_2(unsigned long) = Constant[40] :
# 960| r960_3(void *) = Call[operator new[]] : func:r960_1, 0:r960_2
# 960| m960_4(unknown) = ^CallSideEffect : ~m959_4
# 960| m960_5(unknown) = Chi : total:m959_4, partial:m960_4
# 960| m960_6(unknown) = ^InitializeDynamicAllocation : &:r960_3
# 960| r960_7(int *) = Convert : r960_3
# 961| r961_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 961| r961_2(glval<int>) = VariableAddress[n] :
# 961| r961_3(int) = Load[n] : &:r961_2, m959_6
# 961| r961_4(unsigned long) = Convert : r961_3
# 961| r961_5(unsigned long) = Constant[4] :
# 961| r961_6(unsigned long) = Mul : r961_4, r961_5
# 961| r961_7(void *) = Call[operator new[]] : func:r961_1, 0:r961_6
# 961| m961_8(unknown) = ^CallSideEffect : ~m960_5
# 961| m961_9(unknown) = Chi : total:m960_5, partial:m961_8
# 961| m961_10(unknown) = ^InitializeDynamicAllocation : &:r961_7
# 961| r961_11(int *) = Convert : r961_7
# 962| r962_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 962| r962_2(glval<int>) = VariableAddress[n] :
# 962| r962_3(int) = Load[n] : &:r962_2, m959_6
# 962| r962_4(unsigned long) = Convert : r962_3
# 962| r962_5(unsigned long) = Constant[4] :
# 962| r962_6(unsigned long) = Mul : r962_4, r962_5
# 962| r962_7(float) = Constant[1.0] :
# 962| r962_8(void *) = Call[operator new[]] : func:r962_1, 0:r962_6, 1:r962_7
# 962| m962_9(unknown) = ^CallSideEffect : ~m961_9
# 962| m962_10(unknown) = Chi : total:m961_9, partial:m962_9
# 962| m962_11(unknown) = ^InitializeDynamicAllocation : &:r962_8
# 962| r962_12(int *) = Convert : r962_8
# 963| r963_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 963| r963_2(glval<int>) = VariableAddress[n] :
# 963| r963_3(int) = Load[n] : &:r963_2, m959_6
# 963| r963_4(unsigned long) = Convert : r963_3
# 963| r963_5(unsigned long) = Constant[8] :
# 963| r963_6(unsigned long) = Mul : r963_4, r963_5
# 963| r963_7(void *) = Call[operator new[]] : func:r963_1, 0:r963_6
# 963| m963_8(unknown) = ^CallSideEffect : ~m962_10
# 963| m963_9(unknown) = Chi : total:m962_10, partial:m963_8
# 963| m963_10(unknown) = ^InitializeDynamicAllocation : &:r963_7
# 963| r963_11(String *) = Convert : r963_7
# 964| r964_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 964| r964_2(glval<int>) = VariableAddress[n] :
# 964| r964_3(int) = Load[n] : &:r964_2, m959_6
# 964| r964_4(unsigned long) = Convert : r964_3
# 964| r964_5(unsigned long) = Constant[256] :
# 964| r964_6(unsigned long) = Mul : r964_4, r964_5
# 964| r964_7(align_val_t) = Constant[128] :
# 964| r964_8(void *) = Call[operator new[]] : func:r964_1, 0:r964_6, 1:r964_7
# 964| m964_9(unknown) = ^CallSideEffect : ~m963_9
# 964| m964_10(unknown) = Chi : total:m963_9, partial:m964_9
# 964| m964_11(unknown) = ^InitializeDynamicAllocation : &:r964_8
# 964| r964_12(Overaligned *) = Convert : r964_8
# 965| r965_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 965| r965_2(unsigned long) = Constant[2560] :
# 965| r965_3(align_val_t) = Constant[128] :
# 965| r965_4(float) = Constant[1.0] :
# 965| r965_5(void *) = Call[operator new[]] : func:r965_1, 0:r965_2, 1:r965_3, 2:r965_4
# 965| m965_6(unknown) = ^CallSideEffect : ~m964_10
# 965| m965_7(unknown) = Chi : total:m964_10, partial:m965_6
# 965| m965_8(unknown) = ^InitializeDynamicAllocation : &:r965_5
# 965| r965_9(Overaligned *) = Convert : r965_5
# 966| r966_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 966| r966_2(glval<int>) = VariableAddress[n] :
# 966| r966_3(int) = Load[n] : &:r966_2, m959_6
# 966| r966_4(unsigned long) = Convert : r966_3
# 966| r966_5(unsigned long) = Constant[1] :
# 966| r966_6(unsigned long) = Mul : r966_4, r966_5
# 966| r966_7(void *) = Call[operator new[]] : func:r966_1, 0:r966_6
# 966| m966_8(unknown) = ^CallSideEffect : ~m965_7
# 966| m966_9(unknown) = Chi : total:m965_7, partial:m966_8
# 966| m966_10(unknown) = ^InitializeDynamicAllocation : &:r966_7
# 966| r966_11(DefaultCtorWithDefaultParam *) = Convert : r966_7
# 967| r967_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 967| r967_2(glval<int>) = VariableAddress[n] :
# 967| r967_3(int) = Load[n] : &:r967_2, m959_6
# 967| r967_4(unsigned long) = Convert : r967_3
# 967| r967_5(unsigned long) = Constant[4] :
# 967| r967_6(unsigned long) = Mul : r967_4, r967_5
# 967| r967_7(void *) = Call[operator new[]] : func:r967_1, 0:r967_6
# 967| m967_8(unknown) = ^CallSideEffect : ~m966_9
# 967| m967_9(unknown) = Chi : total:m966_9, partial:m967_8
# 967| m967_10(unknown) = ^InitializeDynamicAllocation : &:r967_7
# 967| r967_11(int *) = Convert : r967_7
# 968| v968_1(void) = NoOp :
# 959| v959_7(void) = ReturnVoid :
# 959| v959_8(void) = AliasedUse : ~m967_9
# 959| v959_9(void) = ExitFunction :
# 970| int designatedInit()
# 970| Block 0
# 970| v970_1(void) = EnterFunction :
# 970| m970_2(unknown) = AliasedDefinition :
# 970| m970_3(unknown) = InitializeNonLocal :
# 970| m970_4(unknown) = Chi : total:m970_2, partial:m970_3
# 971| r971_1(glval<int[1000]>) = VariableAddress[a1] :
# 971| m971_2(int[1000]) = Uninitialized[a1] : &:r971_1
# 971| r971_3(int) = Constant[0] :
# 971| r971_4(glval<int>) = PointerAdd[4] : r971_1, r971_3
# 971| r971_5(unknown[8]) = Constant[0] :
# 971| m971_6(unknown[8]) = Store[?] : &:r971_4, r971_5
# 971| m971_7(int[1000]) = Chi : total:m971_2, partial:m971_6
# 971| r971_8(int) = Constant[2] :
# 971| r971_9(glval<int>) = PointerAdd[4] : r971_1, r971_8
# 971| r971_10(int) = Constant[10002] :
# 971| m971_11(int) = Store[?] : &:r971_9, r971_10
# 971| m971_12(int[1000]) = Chi : total:m971_7, partial:m971_11
# 971| r971_13(int) = Constant[3] :
# 971| r971_14(glval<int>) = PointerAdd[4] : r971_1, r971_13
# 971| r971_15(unknown[3588]) = Constant[0] :
# 971| m971_16(unknown[3588]) = Store[?] : &:r971_14, r971_15
# 971| m971_17(int[1000]) = Chi : total:m971_12, partial:m971_16
# 971| r971_18(int) = Constant[900] :
# 971| r971_19(glval<int>) = PointerAdd[4] : r971_1, r971_18
# 971| r971_20(int) = Constant[10900] :
# 971| m971_21(int) = Store[?] : &:r971_19, r971_20
# 971| m971_22(int[1000]) = Chi : total:m971_17, partial:m971_21
# 971| r971_23(int) = Constant[901] :
# 971| r971_24(glval<int>) = PointerAdd[4] : r971_1, r971_23
# 971| r971_25(unknown[396]) = Constant[0] :
# 971| m971_26(unknown[396]) = Store[?] : &:r971_24, r971_25
# 971| m971_27(int[1000]) = Chi : total:m971_22, partial:m971_26
# 972| r972_1(glval<int>) = VariableAddress[#return] :
# 972| r972_2(glval<int[1000]>) = VariableAddress[a1] :
# 972| r972_3(int *) = Convert : r972_2
# 972| r972_4(int) = Constant[900] :
# 972| r972_5(glval<int>) = PointerAdd[4] : r972_3, r972_4
# 972| r972_6(int) = Load[?] : &:r972_5, m971_21
# 972| m972_7(int) = Store[#return] : &:r972_1, r972_6
# 970| r970_5(glval<int>) = VariableAddress[#return] :
# 970| v970_6(void) = ReturnValue : &:r970_5, m972_7
# 970| v970_7(void) = AliasedUse : m970_3
# 970| v970_8(void) = ExitFunction :
# 975| void IfStmtWithDeclaration(int, int)
# 975| Block 0
# 975| v975_1(void) = EnterFunction :
# 975| m975_2(unknown) = AliasedDefinition :
# 975| m975_3(unknown) = InitializeNonLocal :
# 975| m975_4(unknown) = Chi : total:m975_2, partial:m975_3
# 975| r975_5(glval<int>) = VariableAddress[x] :
# 975| m975_6(int) = InitializeParameter[x] : &:r975_5
# 975| r975_7(glval<int>) = VariableAddress[y] :
# 975| m975_8(int) = InitializeParameter[y] : &:r975_7
# 976| r976_1(glval<bool>) = VariableAddress[b] :
# 976| r976_2(glval<int>) = VariableAddress[x] :
# 976| r976_3(int) = Load[x] : &:r976_2, m975_6
# 976| r976_4(glval<int>) = VariableAddress[y] :
# 976| r976_5(int) = Load[y] : &:r976_4, m975_8
# 976| r976_6(bool) = CompareLT : r976_3, r976_5
# 976| m976_7(bool) = Store[b] : &:r976_1, r976_6
# 976| r976_8(glval<bool>) = VariableAddress[b] :
# 976| r976_9(bool) = Load[b] : &:r976_8, m976_7
# 976| r976_10(bool) = CopyValue : r976_9
# 976| v976_11(void) = ConditionalBranch : r976_10
#-----| False -> Block 2
#-----| True -> Block 1
# 977| Block 1
# 977| r977_1(int) = Constant[5] :
# 977| r977_2(glval<int>) = VariableAddress[x] :
# 977| m977_3(int) = Store[x] : &:r977_2, r977_1
#-----| Goto -> Block 6
# 979| Block 2
# 979| r979_1(glval<int>) = VariableAddress[z] :
# 979| r979_2(glval<int>) = VariableAddress[x] :
# 979| r979_3(int) = Load[x] : &:r979_2, m975_6
# 979| r979_4(glval<int>) = VariableAddress[y] :
# 979| r979_5(int) = Load[y] : &:r979_4, m975_8
# 979| r979_6(int) = Add : r979_3, r979_5
# 979| m979_7(int) = Store[z] : &:r979_1, r979_6
# 979| r979_8(glval<int>) = VariableAddress[z] :
# 979| r979_9(int) = Load[z] : &:r979_8, m979_7
# 979| r979_10(int) = Constant[0] :
# 979| r979_11(bool) = CompareNE : r979_9, r979_10
# 979| r979_12(bool) = CopyValue : r979_11
# 979| v979_13(void) = ConditionalBranch : r979_12
#-----| False -> Block 4
#-----| True -> Block 3
# 980| Block 3
# 980| r980_1(int) = Constant[7] :
# 980| r980_2(glval<int>) = VariableAddress[y] :
# 980| m980_3(int) = Store[y] : &:r980_2, r980_1
#-----| Goto -> Block 6
# 982| Block 4
# 982| r982_1(glval<int *>) = VariableAddress[p] :
# 982| r982_2(glval<int>) = VariableAddress[x] :
# 982| r982_3(int *) = CopyValue : r982_2
# 982| m982_4(int *) = Store[p] : &:r982_1, r982_3
# 982| r982_5(glval<int *>) = VariableAddress[p] :
# 982| r982_6(int *) = Load[p] : &:r982_5, m982_4
# 982| r982_7(int *) = Constant[0] :
# 982| r982_8(bool) = CompareNE : r982_6, r982_7
# 982| r982_9(bool) = CopyValue : r982_8
# 982| v982_10(void) = ConditionalBranch : r982_9
#-----| False -> Block 6
#-----| True -> Block 5
# 983| Block 5
# 983| r983_1(int) = Constant[2] :
# 983| r983_2(glval<int *>) = VariableAddress[p] :
# 983| r983_3(int *) = Load[p] : &:r983_2, m982_4
# 983| r983_4(glval<int>) = CopyValue : r983_3
# 983| m983_5(int) = Store[?] : &:r983_4, r983_1
#-----| Goto -> Block 6
# 985| Block 6
# 985| v985_1(void) = NoOp :
# 975| v975_9(void) = ReturnVoid :
# 975| v975_10(void) = AliasedUse : m975_3
# 975| v975_11(void) = ExitFunction :
# 987| void WhileStmtWithDeclaration(int, int)
# 987| Block 0
# 987| v987_1(void) = EnterFunction :
# 987| m987_2(unknown) = AliasedDefinition :
# 987| m987_3(unknown) = InitializeNonLocal :
# 987| m987_4(unknown) = Chi : total:m987_2, partial:m987_3
# 987| r987_5(glval<int>) = VariableAddress[x] :
# 987| m987_6(int) = InitializeParameter[x] : &:r987_5
# 987| r987_7(glval<int>) = VariableAddress[y] :
# 987| m987_8(int) = InitializeParameter[y] : &:r987_7
#-----| Goto -> Block 1
# 988| Block 1
# 988| r988_1(glval<bool>) = VariableAddress[b] :
# 988| r988_2(glval<int>) = VariableAddress[x] :
# 988| r988_3(int) = Load[x] : &:r988_2, m987_6
# 988| r988_4(glval<int>) = VariableAddress[y] :
# 988| r988_5(int) = Load[y] : &:r988_4, m987_8
# 988| r988_6(bool) = CompareLT : r988_3, r988_5
# 988| m988_7(bool) = Store[b] : &:r988_1, r988_6
# 988| r988_8(glval<bool>) = VariableAddress[b] :
# 988| r988_9(bool) = Load[b] : &:r988_8, m988_7
# 988| r988_10(bool) = CopyValue : r988_9
# 988| v988_11(void) = ConditionalBranch : r988_10
#-----| False -> Block 3
#-----| True -> Block 2
# 988| Block 2
# 988| v988_12(void) = NoOp :
#-----| Goto (back edge) -> Block 1
# 990| Block 3
# 990| r990_1(glval<int>) = VariableAddress[z] :
# 990| r990_2(glval<int>) = VariableAddress[x] :
# 990| r990_3(int) = Load[x] : &:r990_2, m987_6
# 990| r990_4(glval<int>) = VariableAddress[y] :
# 990| r990_5(int) = Load[y] : &:r990_4, m987_8
# 990| r990_6(int) = Add : r990_3, r990_5
# 990| m990_7(int) = Store[z] : &:r990_1, r990_6
# 990| r990_8(glval<int>) = VariableAddress[z] :
# 990| r990_9(int) = Load[z] : &:r990_8, m990_7
# 990| r990_10(int) = Constant[0] :
# 990| r990_11(bool) = CompareNE : r990_9, r990_10
# 990| r990_12(bool) = CopyValue : r990_11
# 990| v990_13(void) = ConditionalBranch : r990_12
#-----| False -> Block 5
#-----| True -> Block 4
# 990| Block 4
# 990| v990_14(void) = NoOp :
#-----| Goto (back edge) -> Block 3
# 992| Block 5
# 992| r992_1(glval<int *>) = VariableAddress[p] :
# 992| r992_2(glval<int>) = VariableAddress[x] :
# 992| r992_3(int *) = CopyValue : r992_2
# 992| m992_4(int *) = Store[p] : &:r992_1, r992_3
# 992| r992_5(glval<int *>) = VariableAddress[p] :
# 992| r992_6(int *) = Load[p] : &:r992_5, m992_4
# 992| r992_7(int *) = Constant[0] :
# 992| r992_8(bool) = CompareNE : r992_6, r992_7
# 992| r992_9(bool) = CopyValue : r992_8
# 992| v992_10(void) = ConditionalBranch : r992_9
#-----| False -> Block 7
#-----| True -> Block 6
# 992| Block 6
# 992| v992_11(void) = NoOp :
#-----| Goto (back edge) -> Block 5
# 994| Block 7
# 994| v994_1(void) = NoOp :
# 987| v987_9(void) = ReturnVoid :
# 987| v987_10(void) = AliasedUse : m987_3
# 987| v987_11(void) = ExitFunction :
# 996| int PointerDecay(int[], int(float))
# 996| Block 0
# 996| v996_1(void) = EnterFunction :
# 996| m996_2(unknown) = AliasedDefinition :
# 996| m996_3(unknown) = InitializeNonLocal :
# 996| m996_4(unknown) = Chi : total:m996_2, partial:m996_3
# 996| r996_5(glval<int *>) = VariableAddress[a] :
# 996| m996_6(int *) = InitializeParameter[a] : &:r996_5
# 996| r996_7(int *) = Load[a] : &:r996_5, m996_6
# 996| m996_8(unknown) = InitializeIndirection[a] : &:r996_7
# 996| r996_9(glval<..(*)(..)>) = VariableAddress[fn] :
# 996| m996_10(..(*)(..)) = InitializeParameter[fn] : &:r996_9
# 997| r997_1(glval<int>) = VariableAddress[#return] :
# 997| r997_2(glval<int *>) = VariableAddress[a] :
# 997| r997_3(int *) = Load[a] : &:r997_2, m996_6
# 997| r997_4(int) = Constant[0] :
# 997| r997_5(glval<int>) = PointerAdd[4] : r997_3, r997_4
# 997| r997_6(int) = Load[?] : &:r997_5, ~m996_8
# 997| r997_7(glval<..(*)(..)>) = VariableAddress[fn] :
# 997| r997_8(..(*)(..)) = Load[fn] : &:r997_7, m996_10
# 997| r997_9(float) = Constant[1.0] :
# 997| r997_10(int) = Call[?] : func:r997_8, 0:r997_9
# 997| m997_11(unknown) = ^CallSideEffect : ~m996_4
# 997| m997_12(unknown) = Chi : total:m996_4, partial:m997_11
# 997| r997_13(int) = Add : r997_6, r997_10
# 997| m997_14(int) = Store[#return] : &:r997_1, r997_13
# 996| v996_11(void) = ReturnIndirection[a] : &:r996_7, m996_8
# 996| r996_12(glval<int>) = VariableAddress[#return] :
# 996| v996_13(void) = ReturnValue : &:r996_12, m997_14
# 996| v996_14(void) = AliasedUse : ~m997_12
# 996| v996_15(void) = ExitFunction :
# 1000| int StmtExpr(int, int, int)
# 1000| Block 0
# 1000| v1000_1(void) = EnterFunction :
# 1000| m1000_2(unknown) = AliasedDefinition :
# 1000| m1000_3(unknown) = InitializeNonLocal :
# 1000| m1000_4(unknown) = Chi : total:m1000_2, partial:m1000_3
# 1000| r1000_5(glval<int>) = VariableAddress[b] :
# 1000| m1000_6(int) = InitializeParameter[b] : &:r1000_5
# 1000| r1000_7(glval<int>) = VariableAddress[y] :
# 1000| m1000_8(int) = InitializeParameter[y] : &:r1000_7
# 1000| r1000_9(glval<int>) = VariableAddress[z] :
# 1000| m1000_10(int) = InitializeParameter[z] : &:r1000_9
# 1001| r1001_1(glval<int>) = VariableAddress[x] :
# 1002| r1002_1(glval<int>) = VariableAddress[w] :
# 1002| m1002_2(int) = Uninitialized[w] : &:r1002_1
# 1003| r1003_1(glval<int>) = VariableAddress[b] :
# 1003| r1003_2(int) = Load[b] : &:r1003_1, m1000_6
# 1003| r1003_3(int) = Constant[0] :
# 1003| r1003_4(bool) = CompareNE : r1003_2, r1003_3
# 1003| v1003_5(void) = ConditionalBranch : r1003_4
#-----| False -> Block 2
#-----| True -> Block 1
# 1004| Block 1
# 1004| r1004_1(glval<int>) = VariableAddress[y] :
# 1004| r1004_2(int) = Load[y] : &:r1004_1, m1000_8
# 1004| r1004_3(glval<int>) = VariableAddress[w] :
# 1004| m1004_4(int) = Store[w] : &:r1004_3, r1004_2
#-----| Goto -> Block 3
# 1006| Block 2
# 1006| r1006_1(glval<int>) = VariableAddress[z] :
# 1006| r1006_2(int) = Load[z] : &:r1006_1, m1000_10
# 1006| r1006_3(glval<int>) = VariableAddress[w] :
# 1006| m1006_4(int) = Store[w] : &:r1006_3, r1006_2
#-----| Goto -> Block 3
# 1008| Block 3
# 1008| m1008_1(int) = Phi : from 1:m1004_4, from 2:m1006_4
# 1008| r1008_2(glval<int>) = VariableAddress[w] :
# 1008| r1008_3(int) = Load[w] : &:r1008_2, m1008_1
# 1001| r1001_2(int) = CopyValue : r1008_3
# 1001| m1001_3(int) = Store[x] : &:r1001_1, r1001_2
# 1011| r1011_1(glval<int>) = VariableAddress[#return] :
# 1011| r1011_2(glval<int>) = VariableAddress[x] :
# 1011| r1011_3(int) = Load[x] : &:r1011_2, m1001_3
# 1011| r1011_4(int) = CopyValue : r1011_3
# 1011| m1011_5(int) = Store[#return] : &:r1011_1, r1011_4
# 1000| r1000_11(glval<int>) = VariableAddress[#return] :
# 1000| v1000_12(void) = ReturnValue : &:r1000_11, m1011_5
# 1000| v1000_13(void) = AliasedUse : m1000_3
# 1000| v1000_14(void) = ExitFunction :
# 1015| void OperatorDelete()
# 1015| Block 0
# 1015| v1015_1(void) = EnterFunction :
# 1015| m1015_2(unknown) = AliasedDefinition :
# 1015| m1015_3(unknown) = InitializeNonLocal :
# 1015| m1015_4(unknown) = Chi : total:m1015_2, partial:m1015_3
# 1016| r1016_1(glval<unknown>) = FunctionAddress[operator delete] :
# 1016| r1016_2(int *) = Constant[0] :
# 1016| v1016_3(void) = Call[operator delete] : func:r1016_1, 0:r1016_2
# 1016| m1016_4(unknown) = ^CallSideEffect : ~m1015_4
# 1016| m1016_5(unknown) = Chi : total:m1015_4, partial:m1016_4
# 1017| r1017_1(String *) = Constant[0] :
# 1017| r1017_2(glval<unknown>) = FunctionAddress[~String] :
# 1017| v1017_3(void) = Call[~String] : func:r1017_2
# 1017| m1017_4(unknown) = ^CallSideEffect : ~m1016_5
# 1017| m1017_5(unknown) = Chi : total:m1016_5, partial:m1017_4
# 1017| v1017_6(void) = ^IndirectReadSideEffect[-1] : &:r1017_1, ~m1017_5
# 1017| m1017_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1017_1
# 1017| m1017_8(unknown) = Chi : total:m1017_5, partial:m1017_7
# 1017| r1017_9(glval<unknown>) = FunctionAddress[operator delete] :
# 1017| r1017_10(String *) = CopyValue : r1017_1
# 1017| v1017_11(void) = Call[operator delete] : func:r1017_9, 0:r1017_10
# 1017| m1017_12(unknown) = ^CallSideEffect : ~m1017_8
# 1017| m1017_13(unknown) = Chi : total:m1017_8, partial:m1017_12
# 1018| r1018_1(glval<unknown>) = FunctionAddress[operator delete] :
# 1018| r1018_2(SizedDealloc *) = Constant[0] :
# 1018| v1018_3(void) = Call[operator delete] : func:r1018_1, 0:r1018_2
# 1018| m1018_4(unknown) = ^CallSideEffect : ~m1017_13
# 1018| m1018_5(unknown) = Chi : total:m1017_13, partial:m1018_4
# 1019| r1019_1(glval<unknown>) = FunctionAddress[operator delete] :
# 1019| r1019_2(Overaligned *) = Constant[0] :
# 1019| v1019_3(void) = Call[operator delete] : func:r1019_1, 0:r1019_2
# 1019| m1019_4(unknown) = ^CallSideEffect : ~m1018_5
# 1019| m1019_5(unknown) = Chi : total:m1018_5, partial:m1019_4
# 1020| r1020_1(PolymorphicBase *) = Constant[0] :
# 1020| r1020_2(glval<unknown>) = FunctionAddress[~PolymorphicBase] :
# 1020| v1020_3(void) = Call[~PolymorphicBase] : func:r1020_2
# 1020| m1020_4(unknown) = ^CallSideEffect : ~m1019_5
# 1020| m1020_5(unknown) = Chi : total:m1019_5, partial:m1020_4
# 1020| v1020_6(void) = ^IndirectReadSideEffect[-1] : &:r1020_1, ~m1020_5
# 1020| m1020_7(PolymorphicBase) = ^IndirectMayWriteSideEffect[-1] : &:r1020_1
# 1020| m1020_8(unknown) = Chi : total:m1020_5, partial:m1020_7
# 1020| r1020_9(glval<unknown>) = VirtualDeleteFunctionAddress :
# 1020| r1020_10(PolymorphicBase *) = CopyValue : r1020_1
# 1020| v1020_11(void) = Call[?] : func:r1020_9, 0:r1020_10
# 1020| m1020_12(unknown) = ^CallSideEffect : ~m1020_8
# 1020| m1020_13(unknown) = Chi : total:m1020_8, partial:m1020_12
# 1021| v1021_1(void) = NoOp :
# 1015| v1015_5(void) = ReturnVoid :
# 1015| v1015_6(void) = AliasedUse : ~m1020_13
# 1015| v1015_7(void) = ExitFunction :
# 1024| void OperatorDeleteArray()
# 1024| Block 0
# 1024| v1024_1(void) = EnterFunction :
# 1024| m1024_2(unknown) = AliasedDefinition :
# 1024| m1024_3(unknown) = InitializeNonLocal :
# 1024| m1024_4(unknown) = Chi : total:m1024_2, partial:m1024_3
# 1025| r1025_1(glval<unknown>) = FunctionAddress[operator delete[]] :
# 1025| r1025_2(int *) = Constant[0] :
# 1025| v1025_3(void) = Call[operator delete[]] : func:r1025_1, 0:r1025_2
# 1025| m1025_4(unknown) = ^CallSideEffect : ~m1024_4
# 1025| m1025_5(unknown) = Chi : total:m1024_4, partial:m1025_4
# 1026| r1026_1(String *) = Constant[0] :
# 1026| r1026_2(glval<unknown>) = FunctionAddress[~String] :
# 1026| v1026_3(void) = Call[~String] : func:r1026_2
# 1026| m1026_4(unknown) = ^CallSideEffect : ~m1025_5
# 1026| m1026_5(unknown) = Chi : total:m1025_5, partial:m1026_4
# 1026| v1026_6(void) = ^IndirectReadSideEffect[-1] : &:r1026_1, ~m1026_5
# 1026| m1026_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1026_1
# 1026| m1026_8(unknown) = Chi : total:m1026_5, partial:m1026_7
# 1026| r1026_9(glval<unknown>) = FunctionAddress[operator delete[]] :
# 1026| r1026_10(String *) = CopyValue : r1026_1
# 1026| v1026_11(void) = Call[operator delete[]] : func:r1026_9, 0:r1026_10
# 1026| m1026_12(unknown) = ^CallSideEffect : ~m1026_8
# 1026| m1026_13(unknown) = Chi : total:m1026_8, partial:m1026_12
# 1027| r1027_1(glval<unknown>) = FunctionAddress[operator delete[]] :
# 1027| r1027_2(SizedDealloc *) = Constant[0] :
# 1027| v1027_3(void) = Call[operator delete[]] : func:r1027_1, 0:r1027_2
# 1027| m1027_4(unknown) = ^CallSideEffect : ~m1026_13
# 1027| m1027_5(unknown) = Chi : total:m1026_13, partial:m1027_4
# 1028| r1028_1(glval<unknown>) = FunctionAddress[operator delete[]] :
# 1028| r1028_2(Overaligned *) = Constant[0] :
# 1028| v1028_3(void) = Call[operator delete[]] : func:r1028_1, 0:r1028_2
# 1028| m1028_4(unknown) = ^CallSideEffect : ~m1027_5
# 1028| m1028_5(unknown) = Chi : total:m1027_5, partial:m1028_4
# 1029| r1029_1(PolymorphicBase *) = Constant[0] :
# 1029| r1029_2(glval<unknown>) = FunctionAddress[~PolymorphicBase] :
# 1029| v1029_3(void) = Call[~PolymorphicBase] : func:r1029_2
# 1029| m1029_4(unknown) = ^CallSideEffect : ~m1028_5
# 1029| m1029_5(unknown) = Chi : total:m1028_5, partial:m1029_4
# 1029| v1029_6(void) = ^IndirectReadSideEffect[-1] : &:r1029_1, ~m1029_5
# 1029| m1029_7(PolymorphicBase) = ^IndirectMayWriteSideEffect[-1] : &:r1029_1
# 1029| m1029_8(unknown) = Chi : total:m1029_5, partial:m1029_7
# 1029| r1029_9(glval<unknown>) = FunctionAddress[operator delete[]] :
# 1029| r1029_10(PolymorphicBase *) = CopyValue : r1029_1
# 1029| v1029_11(void) = Call[operator delete[]] : func:r1029_9, 0:r1029_10
# 1029| m1029_12(unknown) = ^CallSideEffect : ~m1029_8
# 1029| m1029_13(unknown) = Chi : total:m1029_8, partial:m1029_12
# 1030| v1030_1(void) = NoOp :
# 1024| v1024_5(void) = ReturnVoid :
# 1024| v1024_6(void) = AliasedUse : ~m1029_13
# 1024| v1024_7(void) = ExitFunction :
# 1034| void EmptyStructInit()
# 1034| Block 0
# 1034| v1034_1(void) = EnterFunction :
# 1034| m1034_2(unknown) = AliasedDefinition :
# 1034| m1034_3(unknown) = InitializeNonLocal :
# 1034| m1034_4(unknown) = Chi : total:m1034_2, partial:m1034_3
# 1035| r1035_1(glval<EmptyStruct>) = VariableAddress[s] :
# 1035| m1035_2(EmptyStruct) = Uninitialized[s] : &:r1035_1
# 1036| v1036_1(void) = NoOp :
# 1034| v1034_5(void) = ReturnVoid :
# 1034| v1034_6(void) = AliasedUse : m1034_3
# 1034| v1034_7(void) = ExitFunction :
# 1038| (lambda [] type at line 1038, col. 12) lam
# 1038| Block 0
# 1038| v1038_1(void) = EnterFunction :
# 1038| m1038_2(unknown) = AliasedDefinition :
# 1038| r1038_3(glval<decltype([...](...){...})>) = VariableAddress[lam] :
# 1038| r1038_4(glval<decltype([...](...){...})>) = VariableAddress[#temp1038:12] :
# 1038| m1038_5(decltype([...](...){...})) = Uninitialized[#temp1038:12] : &:r1038_4
# 1038| r1038_6(decltype([...](...){...})) = Load[#temp1038:12] : &:r1038_4, m1038_5
# 1038| m1038_7(decltype([...](...){...})) = Store[lam] : &:r1038_3, r1038_6
# 1038| m1038_8(unknown) = Chi : total:m1038_2, partial:m1038_7
# 1038| v1038_9(void) = ReturnVoid :
# 1038| v1038_10(void) = AliasedUse : ~m1038_8
# 1038| v1038_11(void) = ExitFunction :
# 1038| void (lambda [] type at line 1038, col. 12)::(unnamed constructor)((lambda [] type at line 1038, col. 12)&&)
# 1038| Block 0
# 1038| v1038_1(void) = EnterFunction :
# 1038| m1038_2(unknown) = AliasedDefinition :
# 1038| m1038_3(unknown) = InitializeNonLocal :
# 1038| m1038_4(unknown) = Chi : total:m1038_2, partial:m1038_3
# 1038| r1038_5(glval<unknown>) = VariableAddress[#this] :
# 1038| m1038_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1038_5
# 1038| r1038_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1038_5, m1038_6
# 1038| m1038_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1038_7
#-----| r0_1(glval<lambda [] type at line 1038, col. 12 &&>) = VariableAddress[(unnamed parameter 0)] :
#-----| m0_2(lambda [] type at line 1038, col. 12 &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(lambda [] type at line 1038, col. 12 &&) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 1038| v1038_9(void) = NoOp :
# 1038| v1038_10(void) = ReturnIndirection[#this] : &:r1038_7, m1038_8
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 1038| v1038_11(void) = ReturnVoid :
# 1038| v1038_12(void) = AliasedUse : m1038_3
# 1038| v1038_13(void) = ExitFunction :
# 1038| void (lambda [] type at line 1038, col. 12)::operator()() const
# 1038| Block 0
# 1038| v1038_1(void) = EnterFunction :
# 1038| m1038_2(unknown) = AliasedDefinition :
# 1038| m1038_3(unknown) = InitializeNonLocal :
# 1038| m1038_4(unknown) = Chi : total:m1038_2, partial:m1038_3
# 1038| r1038_5(glval<unknown>) = VariableAddress[#this] :
# 1038| m1038_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1038_5
# 1038| r1038_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1038_5, m1038_6
# 1038| m1038_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1038_7
# 1038| v1038_9(void) = NoOp :
# 1038| v1038_10(void) = ReturnIndirection[#this] : &:r1038_7, m1038_8
# 1038| v1038_11(void) = ReturnVoid :
# 1038| v1038_12(void) = AliasedUse : m1038_3
# 1038| v1038_13(void) = ExitFunction :
# 1038| void(* (lambda [] type at line 1038, col. 12)::operator void (*)()() const)()
# 1038| Block 0
# 1038| v1038_1(void) = EnterFunction :
# 1038| m1038_2(unknown) = AliasedDefinition :
# 1038| m1038_3(unknown) = InitializeNonLocal :
# 1038| m1038_4(unknown) = Chi : total:m1038_2, partial:m1038_3
# 1038| r1038_5(glval<unknown>) = VariableAddress[#this] :
# 1038| m1038_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1038_5
# 1038| r1038_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1038_5, m1038_6
# 1038| m1038_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1038_7
# 1038| r1038_9(glval<..(*)(..)>) = VariableAddress[#return] :
# 1038| r1038_10(..(*)(..)) = FunctionAddress[_FUN] :
# 1038| m1038_11(..(*)(..)) = Store[#return] : &:r1038_9, r1038_10
# 1038| v1038_12(void) = ReturnIndirection[#this] : &:r1038_7, m1038_8
# 1038| r1038_13(glval<..(*)(..)>) = VariableAddress[#return] :
# 1038| v1038_14(void) = ReturnValue : &:r1038_13, m1038_11
# 1038| v1038_15(void) = AliasedUse : m1038_3
# 1038| v1038_16(void) = ExitFunction :
# 1040| void Lambda(int, String const&)
# 1040| Block 0
# 1040| v1040_1(void) = EnterFunction :
# 1040| m1040_2(unknown) = AliasedDefinition :
# 1040| m1040_3(unknown) = InitializeNonLocal :
# 1040| m1040_4(unknown) = Chi : total:m1040_2, partial:m1040_3
# 1040| r1040_5(glval<int>) = VariableAddress[x] :
# 1040| m1040_6(int) = InitializeParameter[x] : &:r1040_5
# 1040| m1040_7(unknown) = Chi : total:m1040_4, partial:m1040_6
# 1040| r1040_8(glval<String &>) = VariableAddress[s] :
# 1040| m1040_9(String &) = InitializeParameter[s] : &:r1040_8
# 1040| r1040_10(String &) = Load[s] : &:r1040_8, m1040_9
# 1040| m1040_11(unknown) = InitializeIndirection[s] : &:r1040_10
# 1040| m1040_12(unknown) = Chi : total:m1040_7, partial:m1040_11
# 1041| r1041_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_empty] :
# 1041| r1041_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1041:23] :
# 1041| m1041_3(decltype([...](...){...})) = Uninitialized[#temp1041:23] : &:r1041_2
# 1041| r1041_4(decltype([...](...){...})) = Load[#temp1041:23] : &:r1041_2, m1041_3
# 1041| m1041_5(decltype([...](...){...})) = Store[lambda_empty] : &:r1041_1, r1041_4
# 1042| r1042_1(char) = Constant[65] :
# 1043| r1043_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_ref] :
# 1043| r1043_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1043:20] :
# 1043| m1043_3(decltype([...](...){...})) = Uninitialized[#temp1043:20] : &:r1043_2
# 1043| r1043_4(glval<String &>) = FieldAddress[s] : r1043_2
# 1043| r1043_5(glval<String &>) = VariableAddress[s] :
# 1043| r1043_6(String &) = Load[s] : &:r1043_5, m1040_9
# 1043| r1043_7(glval<String>) = CopyValue : r1043_6
# 1043| r1043_8(String &) = CopyValue : r1043_7
# 1043| m1043_9(String &) = Store[?] : &:r1043_4, r1043_8
# 1043| m1043_10(decltype([...](...){...})) = Chi : total:m1043_3, partial:m1043_9
# 1043| r1043_11(glval<int &>) = FieldAddress[x] : r1043_2
# 1043| r1043_12(glval<int>) = VariableAddress[x] :
#-----| r0_1(int &) = CopyValue : r1043_12
#-----| m0_2(int &) = Store[?] : &:r1043_11, r0_1
#-----| m0_3(decltype([...](...){...})) = Chi : total:m1043_10, partial:m0_2
# 1043| r1043_13(decltype([...](...){...})) = Load[#temp1043:20] : &:r1043_2, m0_3
# 1043| m1043_14(decltype([...](...){...})) = Store[lambda_ref] : &:r1043_1, r1043_13
# 1044| r1044_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_ref] :
# 1044| r1044_2(glval<decltype([...](...){...})>) = Convert : r1044_1
# 1044| r1044_3(glval<unknown>) = FunctionAddress[operator()] :
# 1044| r1044_4(float) = Constant[1.0] :
# 1044| r1044_5(char) = Call[operator()] : func:r1044_3, this:r1044_2, 0:r1044_4
# 1044| m1044_6(unknown) = ^CallSideEffect : ~m1040_12
# 1044| m1044_7(unknown) = Chi : total:m1040_12, partial:m1044_6
# 1044| v1044_8(void) = ^IndirectReadSideEffect[-1] : &:r1044_2, m1043_14
# 1045| r1045_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_val] :
# 1045| r1045_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1045:20] :
# 1045| m1045_3(decltype([...](...){...})) = Uninitialized[#temp1045:20] : &:r1045_2
# 1045| m1045_4(unknown) = Chi : total:m1044_7, partial:m1045_3
# 1045| r1045_5(glval<String>) = FieldAddress[s] : r1045_2
# 1045| r1045_6(glval<unknown>) = FunctionAddress[String] :
# 1045| v1045_7(void) = Call[String] : func:r1045_6, this:r1045_5
# 1045| m1045_8(unknown) = ^CallSideEffect : ~m1045_4
# 1045| m1045_9(unknown) = Chi : total:m1045_4, partial:m1045_8
# 1045| m1045_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1045_5
# 1045| m1045_11(unknown) = Chi : total:m1045_9, partial:m1045_10
# 1045| r1045_12(glval<int>) = FieldAddress[x] : r1045_2
# 1045| r1045_13(glval<int>) = VariableAddress[x] :
# 1045| r1045_14(int) = Load[x] : &:r1045_13, ~m1045_9
# 1045| m1045_15(int) = Store[?] : &:r1045_12, r1045_14
# 1045| m1045_16(unknown) = Chi : total:m1045_11, partial:m1045_15
# 1045| r1045_17(decltype([...](...){...})) = Load[#temp1045:20] : &:r1045_2, ~m1045_16
# 1045| m1045_18(decltype([...](...){...})) = Store[lambda_val] : &:r1045_1, r1045_17
# 1045| m1045_19(unknown) = Chi : total:m1045_16, partial:m1045_18
# 1046| r1046_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_val] :
# 1046| r1046_2(glval<decltype([...](...){...})>) = Convert : r1046_1
# 1046| r1046_3(glval<unknown>) = FunctionAddress[operator()] :
# 1046| r1046_4(float) = Constant[2.0] :
# 1046| r1046_5(char) = Call[operator()] : func:r1046_3, this:r1046_2, 0:r1046_4
# 1046| m1046_6(unknown) = ^CallSideEffect : ~m1045_19
# 1046| m1046_7(unknown) = Chi : total:m1045_19, partial:m1046_6
# 1046| v1046_8(void) = ^IndirectReadSideEffect[-1] : &:r1046_2, ~m1046_7
# 1047| r1047_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_ref_explicit] :
# 1047| r1047_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1047:29] :
# 1047| m1047_3(decltype([...](...){...})) = Uninitialized[#temp1047:29] : &:r1047_2
# 1047| r1047_4(glval<String &>) = FieldAddress[s] : r1047_2
# 1047| r1047_5(glval<String &>) = VariableAddress[s] :
# 1047| r1047_6(String &) = Load[s] : &:r1047_5, m1040_9
# 1047| r1047_7(glval<String>) = CopyValue : r1047_6
# 1047| r1047_8(String &) = CopyValue : r1047_7
# 1047| m1047_9(String &) = Store[?] : &:r1047_4, r1047_8
# 1047| r1047_10(decltype([...](...){...})) = Load[#temp1047:29] : &:r1047_2, ~m1047_9
# 1047| m1047_11(decltype([...](...){...})) = Store[lambda_ref_explicit] : &:r1047_1, r1047_10
# 1048| r1048_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_ref_explicit] :
# 1048| r1048_2(glval<decltype([...](...){...})>) = Convert : r1048_1
# 1048| r1048_3(glval<unknown>) = FunctionAddress[operator()] :
# 1048| r1048_4(float) = Constant[3.0] :
# 1048| r1048_5(char) = Call[operator()] : func:r1048_3, this:r1048_2, 0:r1048_4
# 1048| m1048_6(unknown) = ^CallSideEffect : ~m1046_7
# 1048| m1048_7(unknown) = Chi : total:m1046_7, partial:m1048_6
# 1048| v1048_8(void) = ^IndirectReadSideEffect[-1] : &:r1048_2, m1047_11
# 1049| r1049_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_val_explicit] :
# 1049| r1049_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1049:29] :
# 1049| m1049_3(decltype([...](...){...})) = Uninitialized[#temp1049:29] : &:r1049_2
# 1049| m1049_4(unknown) = Chi : total:m1048_7, partial:m1049_3
# 1049| r1049_5(glval<String>) = FieldAddress[s] : r1049_2
# 1049| r1049_6(glval<unknown>) = FunctionAddress[String] :
# 1049| v1049_7(void) = Call[String] : func:r1049_6, this:r1049_5
# 1049| m1049_8(unknown) = ^CallSideEffect : ~m1049_4
# 1049| m1049_9(unknown) = Chi : total:m1049_4, partial:m1049_8
# 1049| m1049_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1049_5
# 1049| m1049_11(unknown) = Chi : total:m1049_9, partial:m1049_10
# 1049| r1049_12(decltype([...](...){...})) = Load[#temp1049:29] : &:r1049_2, ~m1049_11
# 1049| m1049_13(decltype([...](...){...})) = Store[lambda_val_explicit] : &:r1049_1, r1049_12
# 1049| m1049_14(unknown) = Chi : total:m1049_11, partial:m1049_13
# 1050| r1050_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_val_explicit] :
# 1050| r1050_2(glval<decltype([...](...){...})>) = Convert : r1050_1
# 1050| r1050_3(glval<unknown>) = FunctionAddress[operator()] :
# 1050| r1050_4(float) = Constant[4.0] :
# 1050| r1050_5(char) = Call[operator()] : func:r1050_3, this:r1050_2, 0:r1050_4
# 1050| m1050_6(unknown) = ^CallSideEffect : ~m1049_14
# 1050| m1050_7(unknown) = Chi : total:m1049_14, partial:m1050_6
# 1050| v1050_8(void) = ^IndirectReadSideEffect[-1] : &:r1050_2, ~m1050_7
# 1051| r1051_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_mixed_explicit] :
# 1051| r1051_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1051:31] :
# 1051| m1051_3(decltype([...](...){...})) = Uninitialized[#temp1051:31] : &:r1051_2
# 1051| r1051_4(glval<String &>) = FieldAddress[s] : r1051_2
# 1051| r1051_5(glval<String &>) = VariableAddress[s] :
# 1051| r1051_6(String &) = Load[s] : &:r1051_5, m1040_9
# 1051| r1051_7(glval<String>) = CopyValue : r1051_6
# 1051| r1051_8(String &) = CopyValue : r1051_7
# 1051| m1051_9(String &) = Store[?] : &:r1051_4, r1051_8
# 1051| m1051_10(decltype([...](...){...})) = Chi : total:m1051_3, partial:m1051_9
# 1051| r1051_11(glval<int>) = FieldAddress[x] : r1051_2
# 1051| r1051_12(glval<int>) = VariableAddress[x] :
# 1051| r1051_13(int) = Load[x] : &:r1051_12, ~m1050_7
# 1051| m1051_14(int) = Store[?] : &:r1051_11, r1051_13
# 1051| m1051_15(decltype([...](...){...})) = Chi : total:m1051_10, partial:m1051_14
# 1051| r1051_16(decltype([...](...){...})) = Load[#temp1051:31] : &:r1051_2, m1051_15
# 1051| m1051_17(decltype([...](...){...})) = Store[lambda_mixed_explicit] : &:r1051_1, r1051_16
# 1052| r1052_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_mixed_explicit] :
# 1052| r1052_2(glval<decltype([...](...){...})>) = Convert : r1052_1
# 1052| r1052_3(glval<unknown>) = FunctionAddress[operator()] :
# 1052| r1052_4(float) = Constant[5.0] :
# 1052| r1052_5(char) = Call[operator()] : func:r1052_3, this:r1052_2, 0:r1052_4
# 1052| m1052_6(unknown) = ^CallSideEffect : ~m1050_7
# 1052| m1052_7(unknown) = Chi : total:m1050_7, partial:m1052_6
# 1052| v1052_8(void) = ^IndirectReadSideEffect[-1] : &:r1052_2, m1051_17
# 1053| r1053_1(glval<int>) = VariableAddress[r] :
# 1053| r1053_2(glval<int>) = VariableAddress[x] :
# 1053| r1053_3(int) = Load[x] : &:r1053_2, ~m1052_7
# 1053| r1053_4(int) = Constant[1] :
# 1053| r1053_5(int) = Sub : r1053_3, r1053_4
# 1053| m1053_6(int) = Store[r] : &:r1053_1, r1053_5
# 1053| m1053_7(unknown) = Chi : total:m1052_7, partial:m1053_6
# 1054| r1054_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_inits] :
# 1054| r1054_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1054:22] :
# 1054| m1054_3(decltype([...](...){...})) = Uninitialized[#temp1054:22] : &:r1054_2
# 1054| r1054_4(glval<String &>) = FieldAddress[s] : r1054_2
# 1054| r1054_5(glval<String &>) = VariableAddress[s] :
# 1054| r1054_6(String &) = Load[s] : &:r1054_5, m1040_9
# 1054| r1054_7(glval<String>) = CopyValue : r1054_6
# 1054| r1054_8(String &) = CopyValue : r1054_7
# 1054| m1054_9(String &) = Store[?] : &:r1054_4, r1054_8
# 1054| m1054_10(decltype([...](...){...})) = Chi : total:m1054_3, partial:m1054_9
# 1054| r1054_11(glval<int>) = FieldAddress[x] : r1054_2
# 1054| r1054_12(glval<int>) = VariableAddress[x] :
# 1054| r1054_13(int) = Load[x] : &:r1054_12, ~m1052_7
# 1054| m1054_14(int) = Store[?] : &:r1054_11, r1054_13
# 1054| m1054_15(decltype([...](...){...})) = Chi : total:m1054_10, partial:m1054_14
# 1054| r1054_16(glval<int>) = FieldAddress[i] : r1054_2
# 1054| r1054_17(glval<int>) = VariableAddress[x] :
# 1054| r1054_18(int) = Load[x] : &:r1054_17, ~m1052_7
# 1054| r1054_19(int) = Constant[1] :
# 1054| r1054_20(int) = Add : r1054_18, r1054_19
# 1054| m1054_21(int) = Store[?] : &:r1054_16, r1054_20
# 1054| m1054_22(decltype([...](...){...})) = Chi : total:m1054_15, partial:m1054_21
# 1054| r1054_23(glval<int &>) = FieldAddress[j] : r1054_2
# 1054| r1054_24(glval<int>) = VariableAddress[r] :
# 1054| r1054_25(int &) = CopyValue : r1054_24
# 1054| m1054_26(int &) = Store[?] : &:r1054_23, r1054_25
# 1054| m1054_27(decltype([...](...){...})) = Chi : total:m1054_22, partial:m1054_26
# 1054| r1054_28(decltype([...](...){...})) = Load[#temp1054:22] : &:r1054_2, m1054_27
# 1054| m1054_29(decltype([...](...){...})) = Store[lambda_inits] : &:r1054_1, r1054_28
# 1055| r1055_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_inits] :
# 1055| r1055_2(glval<decltype([...](...){...})>) = Convert : r1055_1
# 1055| r1055_3(glval<unknown>) = FunctionAddress[operator()] :
# 1055| r1055_4(float) = Constant[6.0] :
# 1055| r1055_5(char) = Call[operator()] : func:r1055_3, this:r1055_2, 0:r1055_4
# 1055| m1055_6(unknown) = ^CallSideEffect : ~m1053_7
# 1055| m1055_7(unknown) = Chi : total:m1053_7, partial:m1055_6
# 1055| v1055_8(void) = ^IndirectReadSideEffect[-1] : &:r1055_2, m1054_29
# 1056| v1056_1(void) = NoOp :
# 1056| r1056_2(glval<decltype([...](...){...})>) = VariableAddress[lambda_val_explicit] :
# 1056| r1056_3(glval<unknown>) = FunctionAddress[~<unnamed>] :
# 1056| v1056_4(void) = Call[~<unnamed>] : func:r1056_3, this:r1056_2
# 1056| m1056_5(unknown) = ^CallSideEffect : ~m1055_7
# 1056| m1056_6(unknown) = Chi : total:m1055_7, partial:m1056_5
# 1056| v1056_7(void) = ^IndirectReadSideEffect[-1] : &:r1056_2, ~m1056_6
# 1056| m1056_8(decltype([...](...){...})) = ^IndirectMayWriteSideEffect[-1] : &:r1056_2
# 1056| m1056_9(unknown) = Chi : total:m1056_6, partial:m1056_8
# 1056| r1056_10(glval<decltype([...](...){...})>) = VariableAddress[lambda_val] :
# 1056| r1056_11(glval<unknown>) = FunctionAddress[~<unnamed>] :
# 1056| v1056_12(void) = Call[~<unnamed>] : func:r1056_11, this:r1056_10
# 1056| m1056_13(unknown) = ^CallSideEffect : ~m1056_9
# 1056| m1056_14(unknown) = Chi : total:m1056_9, partial:m1056_13
# 1056| v1056_15(void) = ^IndirectReadSideEffect[-1] : &:r1056_10, ~m1056_14
# 1056| m1056_16(decltype([...](...){...})) = ^IndirectMayWriteSideEffect[-1] : &:r1056_10
# 1056| m1056_17(unknown) = Chi : total:m1056_14, partial:m1056_16
# 1040| v1040_13(void) = ReturnIndirection[s] : &:r1040_10, ~m1056_17
# 1040| v1040_14(void) = ReturnVoid :
# 1040| v1040_15(void) = AliasedUse : ~m1056_14
# 1040| v1040_16(void) = ExitFunction :
# 1041| void (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)&&)
# 1041| Block 0
# 1041| v1041_1(void) = EnterFunction :
# 1041| m1041_2(unknown) = AliasedDefinition :
# 1041| m1041_3(unknown) = InitializeNonLocal :
# 1041| m1041_4(unknown) = Chi : total:m1041_2, partial:m1041_3
# 1041| r1041_5(glval<unknown>) = VariableAddress[#this] :
# 1041| m1041_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1041_5
# 1041| r1041_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1041_5, m1041_6
# 1041| m1041_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1041_7
#-----| r0_1(glval<lambda [] type at line 1041, col. 23 &&>) = VariableAddress[(unnamed parameter 0)] :
#-----| m0_2(lambda [] type at line 1041, col. 23 &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(lambda [] type at line 1041, col. 23 &&) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 1041| v1041_9(void) = NoOp :
# 1041| v1041_10(void) = ReturnIndirection[#this] : &:r1041_7, m1041_8
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 1041| v1041_11(void) = ReturnVoid :
# 1041| v1041_12(void) = AliasedUse : m1041_3
# 1041| v1041_13(void) = ExitFunction :
# 1041| char (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)::operator()(float) const
# 1041| Block 0
# 1041| v1041_1(void) = EnterFunction :
# 1041| m1041_2(unknown) = AliasedDefinition :
# 1041| m1041_3(unknown) = InitializeNonLocal :
# 1041| m1041_4(unknown) = Chi : total:m1041_2, partial:m1041_3
# 1041| r1041_5(glval<unknown>) = VariableAddress[#this] :
# 1041| m1041_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1041_5
# 1041| r1041_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1041_5, m1041_6
# 1041| m1041_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1041_7
# 1041| r1041_9(glval<float>) = VariableAddress[f] :
# 1041| m1041_10(float) = InitializeParameter[f] : &:r1041_9
# 1041| r1041_11(glval<char>) = VariableAddress[#return] :
# 1041| r1041_12(char) = Constant[65] :
# 1041| m1041_13(char) = Store[#return] : &:r1041_11, r1041_12
# 1041| v1041_14(void) = ReturnIndirection[#this] : &:r1041_7, m1041_8
# 1041| r1041_15(glval<char>) = VariableAddress[#return] :
# 1041| v1041_16(void) = ReturnValue : &:r1041_15, m1041_13
# 1041| v1041_17(void) = AliasedUse : m1041_3
# 1041| v1041_18(void) = ExitFunction :
# 1041| char(* (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)::operator char (*)(float)() const)(float)
# 1041| Block 0
# 1041| v1041_1(void) = EnterFunction :
# 1041| m1041_2(unknown) = AliasedDefinition :
# 1041| m1041_3(unknown) = InitializeNonLocal :
# 1041| m1041_4(unknown) = Chi : total:m1041_2, partial:m1041_3
# 1041| r1041_5(glval<unknown>) = VariableAddress[#this] :
# 1041| m1041_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1041_5
# 1041| r1041_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1041_5, m1041_6
# 1041| m1041_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1041_7
# 1041| r1041_9(glval<..(*)(..)>) = VariableAddress[#return] :
# 1041| r1041_10(..(*)(..)) = FunctionAddress[_FUN] :
# 1041| m1041_11(..(*)(..)) = Store[#return] : &:r1041_9, r1041_10
# 1041| v1041_12(void) = ReturnIndirection[#this] : &:r1041_7, m1041_8
# 1041| r1041_13(glval<..(*)(..)>) = VariableAddress[#return] :
# 1041| v1041_14(void) = ReturnValue : &:r1041_13, m1041_11
# 1041| v1041_15(void) = AliasedUse : m1041_3
# 1041| v1041_16(void) = ExitFunction :
# 1043| char (void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)::operator()(float) const
# 1043| Block 0
# 1043| v1043_1(void) = EnterFunction :
# 1043| m1043_2(unknown) = AliasedDefinition :
# 1043| m1043_3(unknown) = InitializeNonLocal :
# 1043| m1043_4(unknown) = Chi : total:m1043_2, partial:m1043_3
# 1043| r1043_5(glval<unknown>) = VariableAddress[#this] :
# 1043| m1043_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1043_5
# 1043| r1043_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1043_5, m1043_6
# 1043| m1043_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1043_7
# 1043| r1043_9(glval<float>) = VariableAddress[f] :
# 1043| m1043_10(float) = InitializeParameter[f] : &:r1043_9
# 1043| r1043_11(glval<char>) = VariableAddress[#return] :
# 1043| r1043_12(glval<unknown>) = VariableAddress[#this] :
# 1043| r1043_13(lambda [] type at line 1043, col. 21 *) = Load[#this] : &:r1043_12, m1043_6
# 1043| r1043_14(glval<String &>) = FieldAddress[s] : r1043_13
# 1043| r1043_15(String &) = Load[?] : &:r1043_14, ~m1043_8
# 1043| r1043_16(glval<String>) = CopyValue : r1043_15
# 1043| r1043_17(glval<unknown>) = FunctionAddress[c_str] :
# 1043| r1043_18(char *) = Call[c_str] : func:r1043_17, this:r1043_16
# 1043| m1043_19(unknown) = ^CallSideEffect : ~m1043_4
# 1043| m1043_20(unknown) = Chi : total:m1043_4, partial:m1043_19
# 1043| v1043_21(void) = ^IndirectReadSideEffect[-1] : &:r1043_16, ~m1043_20
# 1043| r1043_22(glval<unknown>) = VariableAddress[#this] :
# 1043| r1043_23(lambda [] type at line 1043, col. 21 *) = Load[#this] : &:r1043_22, m1043_6
# 1043| r1043_24(glval<int &>) = FieldAddress[x] : r1043_23
# 1043| r1043_25(int &) = Load[?] : &:r1043_24, ~m1043_8
# 1043| r1043_26(int) = Load[?] : &:r1043_25, ~m1043_20
# 1043| r1043_27(glval<char>) = PointerAdd[1] : r1043_18, r1043_26
# 1043| r1043_28(char) = Load[?] : &:r1043_27, ~m1043_20
# 1043| m1043_29(char) = Store[#return] : &:r1043_11, r1043_28
# 1043| v1043_30(void) = ReturnIndirection[#this] : &:r1043_7, m1043_8
# 1043| r1043_31(glval<char>) = VariableAddress[#return] :
# 1043| v1043_32(void) = ReturnValue : &:r1043_31, m1043_29
# 1043| v1043_33(void) = AliasedUse : ~m1043_20
# 1043| v1043_34(void) = ExitFunction :
# 1045| void (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)::~<unnamed>()
# 1045| Block 0
# 1045| v1045_1(void) = EnterFunction :
# 1045| m1045_2(unknown) = AliasedDefinition :
# 1045| m1045_3(unknown) = InitializeNonLocal :
# 1045| m1045_4(unknown) = Chi : total:m1045_2, partial:m1045_3
# 1045| r1045_5(glval<unknown>) = VariableAddress[#this] :
# 1045| m1045_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1045_5
# 1045| r1045_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1045_5, m1045_6
# 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_11(glval<unknown>) = FunctionAddress[~String] :
# 1045| v1045_12(void) = Call[~String] : func:r1045_11, this:r1045_10
# 1045| m1045_13(unknown) = ^CallSideEffect : ~m1045_9
# 1045| m1045_14(unknown) = Chi : total:m1045_9, partial:m1045_13
# 1045| v1045_15(void) = ReturnIndirection[#this] : &:r1045_7, ~m1045_14
# 1045| v1045_16(void) = ReturnVoid :
# 1045| v1045_17(void) = AliasedUse : ~m1045_14
# 1045| v1045_18(void) = ExitFunction :
# 1045| char (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)::operator()(float) const
# 1045| Block 0
# 1045| v1045_1(void) = EnterFunction :
# 1045| m1045_2(unknown) = AliasedDefinition :
# 1045| m1045_3(unknown) = InitializeNonLocal :
# 1045| m1045_4(unknown) = Chi : total:m1045_2, partial:m1045_3
# 1045| r1045_5(glval<unknown>) = VariableAddress[#this] :
# 1045| m1045_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1045_5
# 1045| r1045_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1045_5, m1045_6
# 1045| m1045_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1045_7
# 1045| m1045_9(unknown) = Chi : total:m1045_4, partial:m1045_8
# 1045| r1045_10(glval<float>) = VariableAddress[f] :
# 1045| m1045_11(float) = InitializeParameter[f] : &:r1045_10
# 1045| r1045_12(glval<char>) = VariableAddress[#return] :
# 1045| r1045_13(glval<unknown>) = VariableAddress[#this] :
# 1045| r1045_14(lambda [] type at line 1045, col. 21 *) = Load[#this] : &:r1045_13, m1045_6
# 1045| r1045_15(glval<String>) = FieldAddress[s] : r1045_14
# 1045| r1045_16(glval<unknown>) = FunctionAddress[c_str] :
# 1045| r1045_17(char *) = Call[c_str] : func:r1045_16, this:r1045_15
# 1045| m1045_18(unknown) = ^CallSideEffect : ~m1045_9
# 1045| m1045_19(unknown) = Chi : total:m1045_9, partial:m1045_18
# 1045| v1045_20(void) = ^IndirectReadSideEffect[-1] : &:r1045_15, ~m1045_19
# 1045| r1045_21(glval<unknown>) = VariableAddress[#this] :
# 1045| r1045_22(lambda [] type at line 1045, col. 21 *) = Load[#this] : &:r1045_21, m1045_6
# 1045| r1045_23(glval<int>) = FieldAddress[x] : r1045_22
# 1045| r1045_24(int) = Load[?] : &:r1045_23, ~m1045_19
# 1045| r1045_25(glval<char>) = PointerAdd[1] : r1045_17, r1045_24
# 1045| r1045_26(char) = Load[?] : &:r1045_25, ~m1045_19
# 1045| m1045_27(char) = Store[#return] : &:r1045_12, r1045_26
# 1045| v1045_28(void) = ReturnIndirection[#this] : &:r1045_7, ~m1045_19
# 1045| r1045_29(glval<char>) = VariableAddress[#return] :
# 1045| v1045_30(void) = ReturnValue : &:r1045_29, m1045_27
# 1045| v1045_31(void) = AliasedUse : ~m1045_19
# 1045| v1045_32(void) = ExitFunction :
# 1047| char (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)::operator()(float) const
# 1047| Block 0
# 1047| v1047_1(void) = EnterFunction :
# 1047| m1047_2(unknown) = AliasedDefinition :
# 1047| m1047_3(unknown) = InitializeNonLocal :
# 1047| m1047_4(unknown) = Chi : total:m1047_2, partial:m1047_3
# 1047| r1047_5(glval<unknown>) = VariableAddress[#this] :
# 1047| m1047_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1047_5
# 1047| r1047_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1047_5, m1047_6
# 1047| m1047_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1047_7
# 1047| r1047_9(glval<float>) = VariableAddress[f] :
# 1047| m1047_10(float) = InitializeParameter[f] : &:r1047_9
# 1047| r1047_11(glval<char>) = VariableAddress[#return] :
# 1047| r1047_12(glval<unknown>) = VariableAddress[#this] :
# 1047| r1047_13(lambda [] type at line 1047, col. 30 *) = Load[#this] : &:r1047_12, m1047_6
# 1047| r1047_14(glval<String &>) = FieldAddress[s] : r1047_13
# 1047| r1047_15(String &) = Load[?] : &:r1047_14, ~m1047_8
# 1047| r1047_16(glval<String>) = CopyValue : r1047_15
# 1047| r1047_17(glval<unknown>) = FunctionAddress[c_str] :
# 1047| r1047_18(char *) = Call[c_str] : func:r1047_17, this:r1047_16
# 1047| m1047_19(unknown) = ^CallSideEffect : ~m1047_4
# 1047| m1047_20(unknown) = Chi : total:m1047_4, partial:m1047_19
# 1047| v1047_21(void) = ^IndirectReadSideEffect[-1] : &:r1047_16, ~m1047_20
# 1047| r1047_22(int) = Constant[0] :
# 1047| r1047_23(glval<char>) = PointerAdd[1] : r1047_18, r1047_22
# 1047| r1047_24(char) = Load[?] : &:r1047_23, ~m1047_20
# 1047| m1047_25(char) = Store[#return] : &:r1047_11, r1047_24
# 1047| v1047_26(void) = ReturnIndirection[#this] : &:r1047_7, m1047_8
# 1047| r1047_27(glval<char>) = VariableAddress[#return] :
# 1047| v1047_28(void) = ReturnValue : &:r1047_27, m1047_25
# 1047| v1047_29(void) = AliasedUse : ~m1047_20
# 1047| v1047_30(void) = ExitFunction :
# 1049| void (void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)::~<unnamed>()
# 1049| Block 0
# 1049| v1049_1(void) = EnterFunction :
# 1049| m1049_2(unknown) = AliasedDefinition :
# 1049| m1049_3(unknown) = InitializeNonLocal :
# 1049| m1049_4(unknown) = Chi : total:m1049_2, partial:m1049_3
# 1049| r1049_5(glval<unknown>) = VariableAddress[#this] :
# 1049| m1049_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1049_5
# 1049| r1049_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1049_5, m1049_6
# 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_11(glval<unknown>) = FunctionAddress[~String] :
# 1049| v1049_12(void) = Call[~String] : func:r1049_11, this:r1049_10
# 1049| m1049_13(unknown) = ^CallSideEffect : ~m1049_9
# 1049| m1049_14(unknown) = Chi : total:m1049_9, partial:m1049_13
# 1049| v1049_15(void) = ReturnIndirection[#this] : &:r1049_7, ~m1049_14
# 1049| v1049_16(void) = ReturnVoid :
# 1049| v1049_17(void) = AliasedUse : ~m1049_14
# 1049| v1049_18(void) = ExitFunction :
# 1049| char (void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)::operator()(float) const
# 1049| Block 0
# 1049| v1049_1(void) = EnterFunction :
# 1049| m1049_2(unknown) = AliasedDefinition :
# 1049| m1049_3(unknown) = InitializeNonLocal :
# 1049| m1049_4(unknown) = Chi : total:m1049_2, partial:m1049_3
# 1049| r1049_5(glval<unknown>) = VariableAddress[#this] :
# 1049| m1049_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1049_5
# 1049| r1049_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1049_5, m1049_6
# 1049| m1049_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1049_7
# 1049| m1049_9(unknown) = Chi : total:m1049_4, partial:m1049_8
# 1049| r1049_10(glval<float>) = VariableAddress[f] :
# 1049| m1049_11(float) = InitializeParameter[f] : &:r1049_10
# 1049| r1049_12(glval<char>) = VariableAddress[#return] :
# 1049| r1049_13(glval<unknown>) = VariableAddress[#this] :
# 1049| r1049_14(lambda [] type at line 1049, col. 30 *) = Load[#this] : &:r1049_13, m1049_6
# 1049| r1049_15(glval<String>) = FieldAddress[s] : r1049_14
# 1049| r1049_16(glval<unknown>) = FunctionAddress[c_str] :
# 1049| r1049_17(char *) = Call[c_str] : func:r1049_16, this:r1049_15
# 1049| m1049_18(unknown) = ^CallSideEffect : ~m1049_9
# 1049| m1049_19(unknown) = Chi : total:m1049_9, partial:m1049_18
# 1049| v1049_20(void) = ^IndirectReadSideEffect[-1] : &:r1049_15, ~m1049_19
# 1049| r1049_21(int) = Constant[0] :
# 1049| r1049_22(glval<char>) = PointerAdd[1] : r1049_17, r1049_21
# 1049| r1049_23(char) = Load[?] : &:r1049_22, ~m1049_19
# 1049| m1049_24(char) = Store[#return] : &:r1049_12, r1049_23
# 1049| v1049_25(void) = ReturnIndirection[#this] : &:r1049_7, ~m1049_19
# 1049| r1049_26(glval<char>) = VariableAddress[#return] :
# 1049| v1049_27(void) = ReturnValue : &:r1049_26, m1049_24
# 1049| v1049_28(void) = AliasedUse : ~m1049_19
# 1049| v1049_29(void) = ExitFunction :
# 1051| char (void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)::operator()(float) const
# 1051| Block 0
# 1051| v1051_1(void) = EnterFunction :
# 1051| m1051_2(unknown) = AliasedDefinition :
# 1051| m1051_3(unknown) = InitializeNonLocal :
# 1051| m1051_4(unknown) = Chi : total:m1051_2, partial:m1051_3
# 1051| r1051_5(glval<unknown>) = VariableAddress[#this] :
# 1051| m1051_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1051_5
# 1051| r1051_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1051_5, m1051_6
# 1051| m1051_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1051_7
# 1051| r1051_9(glval<float>) = VariableAddress[f] :
# 1051| m1051_10(float) = InitializeParameter[f] : &:r1051_9
# 1051| r1051_11(glval<char>) = VariableAddress[#return] :
# 1051| r1051_12(glval<unknown>) = VariableAddress[#this] :
# 1051| r1051_13(lambda [] type at line 1051, col. 32 *) = Load[#this] : &:r1051_12, m1051_6
# 1051| r1051_14(glval<String &>) = FieldAddress[s] : r1051_13
# 1051| r1051_15(String &) = Load[?] : &:r1051_14, ~m1051_8
# 1051| r1051_16(glval<String>) = CopyValue : r1051_15
# 1051| r1051_17(glval<unknown>) = FunctionAddress[c_str] :
# 1051| r1051_18(char *) = Call[c_str] : func:r1051_17, this:r1051_16
# 1051| m1051_19(unknown) = ^CallSideEffect : ~m1051_4
# 1051| m1051_20(unknown) = Chi : total:m1051_4, partial:m1051_19
# 1051| v1051_21(void) = ^IndirectReadSideEffect[-1] : &:r1051_16, ~m1051_20
# 1051| r1051_22(glval<unknown>) = VariableAddress[#this] :
# 1051| r1051_23(lambda [] type at line 1051, col. 32 *) = Load[#this] : &:r1051_22, m1051_6
# 1051| r1051_24(glval<int>) = FieldAddress[x] : r1051_23
# 1051| r1051_25(int) = Load[?] : &:r1051_24, ~m1051_8
# 1051| r1051_26(glval<char>) = PointerAdd[1] : r1051_18, r1051_25
# 1051| r1051_27(char) = Load[?] : &:r1051_26, ~m1051_20
# 1051| m1051_28(char) = Store[#return] : &:r1051_11, r1051_27
# 1051| v1051_29(void) = ReturnIndirection[#this] : &:r1051_7, m1051_8
# 1051| r1051_30(glval<char>) = VariableAddress[#return] :
# 1051| v1051_31(void) = ReturnValue : &:r1051_30, m1051_28
# 1051| v1051_32(void) = AliasedUse : ~m1051_20
# 1051| v1051_33(void) = ExitFunction :
# 1054| char (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)::operator()(float) const
# 1054| Block 0
# 1054| v1054_1(void) = EnterFunction :
# 1054| m1054_2(unknown) = AliasedDefinition :
# 1054| m1054_3(unknown) = InitializeNonLocal :
# 1054| m1054_4(unknown) = Chi : total:m1054_2, partial:m1054_3
# 1054| r1054_5(glval<unknown>) = VariableAddress[#this] :
# 1054| m1054_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1054_5
# 1054| r1054_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1054_5, m1054_6
# 1054| m1054_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1054_7
# 1054| r1054_9(glval<float>) = VariableAddress[f] :
# 1054| m1054_10(float) = InitializeParameter[f] : &:r1054_9
# 1054| r1054_11(glval<char>) = VariableAddress[#return] :
# 1054| r1054_12(glval<unknown>) = VariableAddress[#this] :
# 1054| r1054_13(lambda [] type at line 1054, col. 23 *) = Load[#this] : &:r1054_12, m1054_6
# 1054| r1054_14(glval<String &>) = FieldAddress[s] : r1054_13
# 1054| r1054_15(String &) = Load[?] : &:r1054_14, ~m1054_8
# 1054| r1054_16(glval<String>) = CopyValue : r1054_15
# 1054| r1054_17(glval<unknown>) = FunctionAddress[c_str] :
# 1054| r1054_18(char *) = Call[c_str] : func:r1054_17, this:r1054_16
# 1054| m1054_19(unknown) = ^CallSideEffect : ~m1054_4
# 1054| m1054_20(unknown) = Chi : total:m1054_4, partial:m1054_19
# 1054| v1054_21(void) = ^IndirectReadSideEffect[-1] : &:r1054_16, ~m1054_20
# 1054| r1054_22(glval<unknown>) = VariableAddress[#this] :
# 1054| r1054_23(lambda [] type at line 1054, col. 23 *) = Load[#this] : &:r1054_22, m1054_6
# 1054| r1054_24(glval<int>) = FieldAddress[x] : r1054_23
# 1054| r1054_25(int) = Load[?] : &:r1054_24, ~m1054_8
# 1054| r1054_26(glval<unknown>) = VariableAddress[#this] :
# 1054| r1054_27(lambda [] type at line 1054, col. 23 *) = Load[#this] : &:r1054_26, m1054_6
# 1054| r1054_28(glval<int>) = FieldAddress[i] : r1054_27
# 1054| r1054_29(int) = Load[?] : &:r1054_28, ~m1054_8
# 1054| r1054_30(int) = Add : r1054_25, r1054_29
# 1054| r1054_31(glval<unknown>) = VariableAddress[#this] :
# 1054| r1054_32(lambda [] type at line 1054, col. 23 *) = Load[#this] : &:r1054_31, m1054_6
# 1054| r1054_33(glval<int &>) = FieldAddress[j] : r1054_32
# 1054| r1054_34(int &) = Load[?] : &:r1054_33, ~m1054_8
# 1054| r1054_35(int) = Load[?] : &:r1054_34, ~m1054_20
# 1054| r1054_36(int) = Sub : r1054_30, r1054_35
# 1054| r1054_37(glval<char>) = PointerAdd[1] : r1054_18, r1054_36
# 1054| r1054_38(char) = Load[?] : &:r1054_37, ~m1054_20
# 1054| m1054_39(char) = Store[#return] : &:r1054_11, r1054_38
# 1054| v1054_40(void) = ReturnIndirection[#this] : &:r1054_7, m1054_8
# 1054| r1054_41(glval<char>) = VariableAddress[#return] :
# 1054| v1054_42(void) = ReturnValue : &:r1054_41, m1054_39
# 1054| v1054_43(void) = AliasedUse : ~m1054_20
# 1054| v1054_44(void) = ExitFunction :
# 1126| void RangeBasedFor(std::vector<int> const&)
# 1126| Block 0
# 1126| v1126_1(void) = EnterFunction :
# 1126| m1126_2(unknown) = AliasedDefinition :
# 1126| m1126_3(unknown) = InitializeNonLocal :
# 1126| m1126_4(unknown) = Chi : total:m1126_2, partial:m1126_3
# 1126| r1126_5(glval<vector<int> &>) = VariableAddress[v] :
# 1126| m1126_6(vector<int> &) = InitializeParameter[v] : &:r1126_5
# 1126| r1126_7(vector<int> &) = Load[v] : &:r1126_5, m1126_6
# 1126| m1126_8(unknown) = InitializeIndirection[v] : &:r1126_7
# 1127| r1127_1(glval<vector<int> &>) = VariableAddress[(__range)] :
# 1127| r1127_2(glval<vector<int> &>) = VariableAddress[v] :
# 1127| r1127_3(vector<int> &) = Load[v] : &:r1127_2, m1126_6
# 1127| r1127_4(glval<vector<int>>) = CopyValue : r1127_3
# 1127| r1127_5(vector<int> &) = CopyValue : r1127_4
# 1127| m1127_6(vector<int> &) = Store[(__range)] : &:r1127_1, r1127_5
# 1127| r1127_7(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
# 1127| r1127_8(glval<vector<int> &>) = VariableAddress[(__range)] :
# 1127| r1127_9(vector<int> &) = Load[(__range)] : &:r1127_8, m1127_6
#-----| r0_1(glval<vector<int>>) = CopyValue : r1127_9
# 1127| r1127_10(glval<unknown>) = FunctionAddress[begin] :
# 1127| r1127_11(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Call[begin] : func:r1127_10, this:r0_1
#-----| v0_2(void) = ^IndirectReadSideEffect[-1] : &:r0_1, ~m1126_8
# 1127| m1127_12(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Store[(__begin)] : &:r1127_7, r1127_11
# 1127| r1127_13(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__end)] :
# 1127| r1127_14(glval<vector<int> &>) = VariableAddress[(__range)] :
# 1127| r1127_15(vector<int> &) = Load[(__range)] : &:r1127_14, m1127_6
#-----| r0_3(glval<vector<int>>) = CopyValue : r1127_15
# 1127| r1127_16(glval<unknown>) = FunctionAddress[end] :
# 1127| r1127_17(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Call[end] : func:r1127_16, this:r0_3
#-----| v0_4(void) = ^IndirectReadSideEffect[-1] : &:r0_3, ~m1126_8
# 1127| m1127_18(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Store[(__end)] : &:r1127_13, r1127_17
# 1127| m1127_19(unknown) = Chi : total:m1126_4, partial:m1127_18
#-----| Goto -> Block 1
# 1127| Block 1
# 1127| m1127_20(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Phi : from 0:m1127_12, from 4:m1127_45
# 1127| m1127_21(unknown) = Phi : from 0:~m1127_19, from 4:~m1127_30
# 1127| r1127_22(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
#-----| r0_5(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = Convert : r1127_22
# 1127| r1127_23(glval<unknown>) = FunctionAddress[operator!=] :
#-----| r0_6(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[#temp0:0] :
#-----| m0_7(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Uninitialized[#temp0:0] : &:r0_6
#-----| m0_8(unknown) = Chi : total:m1127_21, partial:m0_7
# 1127| r1127_24(glval<unknown>) = FunctionAddress[iterator] :
# 1127| r1127_25(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__end)] :
#-----| r0_9(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = Convert : r1127_25
#-----| r0_10(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &> &) = CopyValue : r0_9
# 1127| v1127_26(void) = Call[iterator] : func:r1127_24, this:r0_6, 0:r0_10
# 1127| m1127_27(unknown) = ^CallSideEffect : ~m0_8
# 1127| m1127_28(unknown) = Chi : total:m0_8, partial:m1127_27
#-----| v0_11(void) = ^BufferReadSideEffect[0] : &:r0_10, ~m1127_28
# 1127| m1127_29(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = ^IndirectMayWriteSideEffect[-1] : &:r0_6
# 1127| m1127_30(unknown) = Chi : total:m1127_28, partial:m1127_29
#-----| r0_12(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Load[#temp0:0] : &:r0_6, ~m1127_30
# 1127| r1127_31(bool) = Call[operator!=] : func:r1127_23, this:r0_5, 0:r0_12
#-----| v0_13(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m1127_20
# 1127| v1127_32(void) = ConditionalBranch : r1127_31
#-----| False -> Block 5
#-----| True -> Block 2
# 1127| Block 2
# 1127| r1127_33(glval<int>) = VariableAddress[e] :
# 1127| r1127_34(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
#-----| r0_14(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = Convert : r1127_34
# 1127| r1127_35(glval<unknown>) = FunctionAddress[operator*] :
# 1127| r1127_36(int &) = Call[operator*] : func:r1127_35, this:r0_14
#-----| v0_15(void) = ^IndirectReadSideEffect[-1] : &:r0_14, m1127_20
# 1127| r1127_37(int) = Load[?] : &:r1127_36, ~m1127_30
# 1127| m1127_38(int) = Store[e] : &:r1127_33, r1127_37
# 1128| r1128_1(glval<int>) = VariableAddress[e] :
# 1128| r1128_2(int) = Load[e] : &:r1128_1, m1127_38
# 1128| r1128_3(int) = Constant[0] :
# 1128| r1128_4(bool) = CompareGT : r1128_2, r1128_3
# 1128| v1128_5(void) = ConditionalBranch : r1128_4
#-----| False -> Block 4
#-----| True -> Block 3
# 1129| Block 3
# 1129| v1129_1(void) = NoOp :
#-----| Goto -> Block 4
# 1127| Block 4
# 1127| v1127_39(void) = NoOp :
# 1127| r1127_40(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
# 1127| r1127_41(glval<unknown>) = FunctionAddress[operator++] :
# 1127| r1127_42(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &> &) = Call[operator++] : func:r1127_41, this:r1127_40
# 1127| v1127_43(void) = ^IndirectReadSideEffect[-1] : &:r1127_40, m1127_20
# 1127| m1127_44(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = ^IndirectMayWriteSideEffect[-1] : &:r1127_40
# 1127| m1127_45(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Chi : total:m1127_20, partial:m1127_44
# 1127| r1127_46(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = CopyValue : r1127_42
#-----| Goto (back edge) -> Block 1
# 1133| Block 5
# 1133| r1133_1(glval<vector<int> &>) = VariableAddress[(__range)] :
# 1133| r1133_2(glval<vector<int> &>) = VariableAddress[v] :
# 1133| r1133_3(vector<int> &) = Load[v] : &:r1133_2, m1126_6
# 1133| r1133_4(glval<vector<int>>) = CopyValue : r1133_3
# 1133| r1133_5(vector<int> &) = CopyValue : r1133_4
# 1133| m1133_6(vector<int> &) = Store[(__range)] : &:r1133_1, r1133_5
# 1133| r1133_7(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
# 1133| r1133_8(glval<vector<int> &>) = VariableAddress[(__range)] :
# 1133| r1133_9(vector<int> &) = Load[(__range)] : &:r1133_8, m1133_6
#-----| r0_16(glval<vector<int>>) = CopyValue : r1133_9
# 1133| r1133_10(glval<unknown>) = FunctionAddress[begin] :
# 1133| r1133_11(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Call[begin] : func:r1133_10, this:r0_16
#-----| v0_17(void) = ^IndirectReadSideEffect[-1] : &:r0_16, ~m1126_8
# 1133| m1133_12(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Store[(__begin)] : &:r1133_7, r1133_11
# 1133| r1133_13(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__end)] :
# 1133| r1133_14(glval<vector<int> &>) = VariableAddress[(__range)] :
# 1133| r1133_15(vector<int> &) = Load[(__range)] : &:r1133_14, m1133_6
#-----| r0_18(glval<vector<int>>) = CopyValue : r1133_15
# 1133| r1133_16(glval<unknown>) = FunctionAddress[end] :
# 1133| r1133_17(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Call[end] : func:r1133_16, this:r0_18
#-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, ~m1126_8
# 1133| m1133_18(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Store[(__end)] : &:r1133_13, r1133_17
# 1133| m1133_19(unknown) = Chi : total:m1127_30, partial:m1133_18
#-----| Goto -> Block 6
# 1133| Block 6
# 1133| m1133_20(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Phi : from 5:m1133_12, from 7:m1133_38
# 1133| m1133_21(unknown) = Phi : from 5:~m1133_19, from 7:~m1133_30
# 1133| r1133_22(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
#-----| r0_20(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = Convert : r1133_22
# 1133| r1133_23(glval<unknown>) = FunctionAddress[operator!=] :
#-----| r0_21(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[#temp0:0] :
#-----| m0_22(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Uninitialized[#temp0:0] : &:r0_21
#-----| m0_23(unknown) = Chi : total:m1133_21, partial:m0_22
# 1133| r1133_24(glval<unknown>) = FunctionAddress[iterator] :
# 1133| r1133_25(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__end)] :
#-----| r0_24(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = Convert : r1133_25
#-----| r0_25(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &> &) = CopyValue : r0_24
# 1133| v1133_26(void) = Call[iterator] : func:r1133_24, this:r0_21, 0:r0_25
# 1133| m1133_27(unknown) = ^CallSideEffect : ~m0_23
# 1133| m1133_28(unknown) = Chi : total:m0_23, partial:m1133_27
#-----| v0_26(void) = ^BufferReadSideEffect[0] : &:r0_25, ~m1133_28
# 1133| m1133_29(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = ^IndirectMayWriteSideEffect[-1] : &:r0_21
# 1133| m1133_30(unknown) = Chi : total:m1133_28, partial:m1133_29
#-----| r0_27(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Load[#temp0:0] : &:r0_21, ~m1133_30
# 1133| r1133_31(bool) = Call[operator!=] : func:r1133_23, this:r0_20, 0:r0_27
#-----| v0_28(void) = ^IndirectReadSideEffect[-1] : &:r0_20, m1133_20
# 1133| v1133_32(void) = ConditionalBranch : r1133_31
#-----| False -> Block 10
#-----| True -> Block 8
# 1133| Block 7
# 1133| r1133_33(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
# 1133| r1133_34(glval<unknown>) = FunctionAddress[operator++] :
# 1133| r1133_35(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &> &) = Call[operator++] : func:r1133_34, this:r1133_33
# 1133| v1133_36(void) = ^IndirectReadSideEffect[-1] : &:r1133_33, m1133_20
# 1133| m1133_37(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = ^IndirectMayWriteSideEffect[-1] : &:r1133_33
# 1133| m1133_38(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Chi : total:m1133_20, partial:m1133_37
# 1133| r1133_39(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = CopyValue : r1133_35
#-----| Goto (back edge) -> Block 6
# 1133| Block 8
# 1133| r1133_40(glval<int &>) = VariableAddress[e] :
# 1133| r1133_41(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
#-----| r0_29(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = Convert : r1133_41
# 1133| r1133_42(glval<unknown>) = FunctionAddress[operator*] :
# 1133| r1133_43(int &) = Call[operator*] : func:r1133_42, this:r0_29
#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_29, m1133_20
# 1133| r1133_44(glval<int>) = CopyValue : r1133_43
# 1133| r1133_45(glval<int>) = Convert : r1133_44
# 1133| r1133_46(int &) = CopyValue : r1133_45
# 1133| m1133_47(int &) = Store[e] : &:r1133_40, r1133_46
# 1134| r1134_1(glval<int &>) = VariableAddress[e] :
# 1134| r1134_2(int &) = Load[e] : &:r1134_1, m1133_47
# 1134| r1134_3(int) = Load[?] : &:r1134_2, ~m1133_30
# 1134| r1134_4(int) = Constant[5] :
# 1134| r1134_5(bool) = CompareLT : r1134_3, r1134_4
# 1134| v1134_6(void) = ConditionalBranch : r1134_5
#-----| False -> Block 7
#-----| True -> Block 9
# 1135| Block 9
# 1135| v1135_1(void) = NoOp :
#-----| Goto -> Block 10
# 1137| Block 10
# 1137| v1137_1(void) = NoOp :
# 1138| v1138_1(void) = NoOp :
# 1126| v1126_9(void) = ReturnIndirection[v] : &:r1126_7, m1126_8
# 1126| v1126_10(void) = ReturnVoid :
# 1126| v1126_11(void) = AliasedUse : ~m1133_28
# 1126| v1126_12(void) = ExitFunction :
# 1157| int AsmStmt(int)
# 1157| Block 0
# 1157| v1157_1(void) = EnterFunction :
# 1157| m1157_2(unknown) = AliasedDefinition :
# 1157| m1157_3(unknown) = InitializeNonLocal :
# 1157| m1157_4(unknown) = Chi : total:m1157_2, partial:m1157_3
# 1157| r1157_5(glval<int>) = VariableAddress[x] :
# 1157| m1157_6(int) = InitializeParameter[x] : &:r1157_5
# 1158| m1158_1(unknown) = InlineAsm : ~m1157_4
# 1158| m1158_2(unknown) = Chi : total:m1157_4, partial:m1158_1
# 1159| r1159_1(glval<int>) = VariableAddress[#return] :
# 1159| r1159_2(glval<int>) = VariableAddress[x] :
# 1159| r1159_3(int) = Load[x] : &:r1159_2, m1157_6
# 1159| m1159_4(int) = Store[#return] : &:r1159_1, r1159_3
# 1157| r1157_7(glval<int>) = VariableAddress[#return] :
# 1157| v1157_8(void) = ReturnValue : &:r1157_7, m1159_4
# 1157| v1157_9(void) = AliasedUse : ~m1158_2
# 1157| v1157_10(void) = ExitFunction :
# 1162| void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int)
# 1162| Block 0
# 1162| v1162_1(void) = EnterFunction :
# 1162| m1162_2(unknown) = AliasedDefinition :
# 1162| m1162_3(unknown) = InitializeNonLocal :
# 1162| m1162_4(unknown) = Chi : total:m1162_2, partial:m1162_3
# 1162| r1162_5(glval<unsigned int &>) = VariableAddress[a] :
# 1162| m1162_6(unsigned int &) = InitializeParameter[a] : &:r1162_5
# 1162| r1162_7(unsigned int &) = Load[a] : &:r1162_5, m1162_6
# 1162| m1162_8(unknown) = InitializeIndirection[a] : &:r1162_7
# 1162| m1162_9(unknown) = Chi : total:m1162_4, partial:m1162_8
# 1162| r1162_10(glval<unsigned int>) = VariableAddress[b] :
# 1162| m1162_11(unsigned int) = InitializeParameter[b] : &:r1162_10
# 1162| m1162_12(unknown) = Chi : total:m1162_9, partial:m1162_11
# 1162| r1162_13(glval<unsigned int &>) = VariableAddress[c] :
# 1162| m1162_14(unsigned int &) = InitializeParameter[c] : &:r1162_13
# 1162| r1162_15(unsigned int &) = Load[c] : &:r1162_13, m1162_14
# 1162| m1162_16(unknown) = InitializeIndirection[c] : &:r1162_15
# 1162| r1162_17(glval<unsigned int>) = VariableAddress[d] :
# 1162| m1162_18(unsigned int) = InitializeParameter[d] : &:r1162_17
# 1167| r1167_1(glval<unsigned int &>) = VariableAddress[a] :
# 1167| r1167_2(unsigned int &) = Load[a] : &:r1167_1, m1162_6
# 1167| r1167_3(glval<unsigned int>) = CopyValue : r1167_2
# 1167| r1167_4(glval<unsigned int>) = VariableAddress[b] :
# 1167| r1167_5(glval<unsigned int &>) = VariableAddress[c] :
# 1167| r1167_6(unsigned int &) = Load[c] : &:r1167_5, m1162_14
# 1167| r1167_7(unsigned int) = Load[?] : &:r1167_6, ~m1162_16
# 1167| r1167_8(glval<unsigned int>) = VariableAddress[d] :
# 1167| r1167_9(unsigned int) = Load[d] : &:r1167_8, m1162_18
# 1164| m1164_1(unknown) = InlineAsm : ~m1162_12, 0:r1167_3, 1:r1167_4, 2:r1167_7, 3:r1167_9
# 1164| m1164_2(unknown) = Chi : total:m1162_12, partial:m1164_1
# 1169| v1169_1(void) = NoOp :
# 1162| v1162_19(void) = ReturnIndirection[a] : &:r1162_7, ~m1164_2
# 1162| v1162_20(void) = ReturnIndirection[c] : &:r1162_15, m1162_16
# 1162| v1162_21(void) = ReturnVoid :
# 1162| v1162_22(void) = AliasedUse : ~m1164_2
# 1162| v1162_23(void) = ExitFunction :
# 1171| void ExternDeclarations()
# 1171| Block 0
# 1171| v1171_1(void) = EnterFunction :
# 1171| m1171_2(unknown) = AliasedDefinition :
# 1171| m1171_3(unknown) = InitializeNonLocal :
# 1171| m1171_4(unknown) = Chi : total:m1171_2, partial:m1171_3
# 1174| r1174_1(glval<int>) = VariableAddress[x] :
# 1174| m1174_2(int) = Uninitialized[x] : &:r1174_1
# 1175| r1175_1(glval<int>) = VariableAddress[y] :
# 1175| m1175_2(int) = Uninitialized[y] : &:r1175_1
# 1176| r1176_1(glval<int>) = VariableAddress[h] :
# 1176| m1176_2(int) = Uninitialized[h] : &:r1176_1
# 1178| v1178_1(void) = NoOp :
# 1171| v1171_5(void) = ReturnVoid :
# 1171| v1171_6(void) = AliasedUse : m1171_3
# 1171| v1171_7(void) = ExitFunction :
# 1186| void ExternDeclarationsInMacro()
# 1186| Block 0
# 1186| v1186_1(void) = EnterFunction :
# 1186| m1186_2(unknown) = AliasedDefinition :
# 1186| m1186_3(unknown) = InitializeNonLocal :
# 1186| m1186_4(unknown) = Chi : total:m1186_2, partial:m1186_3
# 1188| r1188_1(glval<int>) = VariableAddress[i] :
# 1188| r1188_2(int) = Constant[0] :
# 1188| m1188_3(int) = Store[i] : &:r1188_1, r1188_2
#-----| Goto -> Block 1
# 1188| Block 1
# 1188| m1188_4(int) = Phi : from 0:m1188_3, from 2:m1188_14
# 1188| r1188_5(glval<int>) = VariableAddress[i] :
# 1188| r1188_6(int) = Load[i] : &:r1188_5, m1188_4
# 1188| r1188_7(int) = Constant[10] :
# 1188| r1188_8(bool) = CompareLT : r1188_6, r1188_7
# 1188| v1188_9(void) = ConditionalBranch : r1188_8
#-----| False -> Block 3
#-----| True -> Block 2
# 1188| Block 2
# 1188| r1188_10(glval<int>) = VariableAddress[i] :
# 1188| r1188_11(int) = Load[i] : &:r1188_10, m1188_4
# 1188| r1188_12(int) = Constant[1] :
# 1188| r1188_13(int) = Add : r1188_11, r1188_12
# 1188| m1188_14(int) = Store[i] : &:r1188_10, r1188_13
#-----| Goto (back edge) -> Block 1
# 1188| Block 3
# 1188| v1188_15(void) = NoOp :
# 1189| v1189_1(void) = NoOp :
# 1186| v1186_5(void) = ReturnVoid :
# 1186| v1186_6(void) = AliasedUse : m1186_3
# 1186| v1186_7(void) = ExitFunction :
# 1191| void TryCatchNoCatchAny(bool)
# 1191| Block 0
# 1191| v1191_1(void) = EnterFunction :
# 1191| m1191_2(unknown) = AliasedDefinition :
# 1191| m1191_3(unknown) = InitializeNonLocal :
# 1191| m1191_4(unknown) = Chi : total:m1191_2, partial:m1191_3
# 1191| r1191_5(glval<bool>) = VariableAddress[b] :
# 1191| m1191_6(bool) = InitializeParameter[b] : &:r1191_5
# 1193| r1193_1(glval<int>) = VariableAddress[x] :
# 1193| r1193_2(int) = Constant[5] :
# 1193| m1193_3(int) = Store[x] : &:r1193_1, r1193_2
# 1194| r1194_1(glval<bool>) = VariableAddress[b] :
# 1194| r1194_2(bool) = Load[b] : &:r1194_1, m1191_6
# 1194| v1194_3(void) = ConditionalBranch : r1194_2
#-----| False -> Block 4
#-----| True -> Block 3
# 1191| Block 1
# 1191| m1191_7(unknown) = Phi : from 2:~m1191_10, from 10:~m1191_4
# 1191| v1191_8(void) = AliasedUse : ~m1191_7
# 1191| v1191_9(void) = ExitFunction :
# 1191| Block 2
# 1191| m1191_10(unknown) = Phi : from 7:~m1203_12, from 8:~m1191_4
# 1191| v1191_11(void) = Unwind :
#-----| Goto -> Block 1
# 1195| Block 3
# 1195| r1195_1(glval<char *>) = VariableAddress[#throw1195:7] :
# 1195| r1195_2(glval<char[15]>) = StringConstant["string literal"] :
# 1195| r1195_3(char *) = Convert : r1195_2
# 1195| m1195_4(char *) = Store[#throw1195:7] : &:r1195_1, r1195_3
# 1195| v1195_5(void) = ThrowValue : &:r1195_1, m1195_4
#-----| Exception -> Block 6
# 1197| Block 4
# 1197| r1197_1(glval<int>) = VariableAddress[x] :
# 1197| r1197_2(int) = Load[x] : &:r1197_1, m1193_3
# 1197| r1197_3(int) = Constant[2] :
# 1197| r1197_4(bool) = CompareLT : r1197_2, r1197_3
# 1197| v1197_5(void) = ConditionalBranch : r1197_4
#-----| False -> Block 5
#-----| True -> Block 11
# 1200| Block 5
# 1200| r1200_1(int) = Constant[7] :
# 1200| r1200_2(glval<int>) = VariableAddress[x] :
# 1200| m1200_3(int) = Store[x] : &:r1200_2, r1200_1
#-----| Goto -> Block 10
# 1202| Block 6
# 1202| v1202_1(void) = CatchByType[const char *] :
#-----| Exception -> Block 8
#-----| Goto -> Block 7
# 1202| Block 7
# 1202| r1202_2(glval<char *>) = VariableAddress[s] :
# 1202| m1202_3(char *) = InitializeParameter[s] : &:r1202_2
# 1202| r1202_4(char *) = Load[s] : &:r1202_2, m1202_3
# 1202| m1202_5(unknown) = InitializeIndirection[s] : &:r1202_4
# 1202| m1202_6(unknown) = Chi : total:m1191_4, partial:m1202_5
# 1203| r1203_1(glval<String>) = VariableAddress[#throw1203:5] :
# 1203| m1203_2(String) = Uninitialized[#throw1203:5] : &:r1203_1
# 1203| m1203_3(unknown) = Chi : total:m1202_6, partial:m1203_2
# 1203| r1203_4(glval<unknown>) = FunctionAddress[String] :
# 1203| r1203_5(glval<char *>) = VariableAddress[s] :
# 1203| r1203_6(char *) = Load[s] : &:r1203_5, m1202_3
# 1203| v1203_7(void) = Call[String] : func:r1203_4, this:r1203_1, 0:r1203_6
# 1203| m1203_8(unknown) = ^CallSideEffect : ~m1203_3
# 1203| m1203_9(unknown) = Chi : total:m1203_3, partial:m1203_8
# 1203| v1203_10(void) = ^BufferReadSideEffect[0] : &:r1203_6, ~m1203_9
# 1203| m1203_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1203_1
# 1203| m1203_12(unknown) = Chi : total:m1203_9, partial:m1203_11
# 1203| v1203_13(void) = ThrowValue : &:r1203_1, ~m1203_12
#-----| Exception -> Block 2
# 1205| Block 8
# 1205| v1205_1(void) = CatchByType[const String &] :
#-----| Exception -> Block 2
#-----| Goto -> Block 9
# 1205| Block 9
# 1205| r1205_2(glval<String &>) = VariableAddress[e] :
# 1205| m1205_3(String &) = InitializeParameter[e] : &:r1205_2
# 1205| r1205_4(String &) = Load[e] : &:r1205_2, m1205_3
# 1205| m1205_5(unknown) = InitializeIndirection[e] : &:r1205_4
# 1205| v1205_6(void) = NoOp :
#-----| Goto -> Block 10
# 1207| Block 10
# 1207| v1207_1(void) = NoOp :
# 1191| v1191_12(void) = ReturnVoid :
#-----| Goto -> Block 1
# 1191| Block 11
# 1191| v1191_13(void) = Unreached :
# 1211| void VectorTypes(int)
# 1211| Block 0
# 1211| v1211_1(void) = EnterFunction :
# 1211| m1211_2(unknown) = AliasedDefinition :
# 1211| m1211_3(unknown) = InitializeNonLocal :
# 1211| m1211_4(unknown) = Chi : total:m1211_2, partial:m1211_3
# 1211| r1211_5(glval<int>) = VariableAddress[i] :
# 1211| m1211_6(int) = InitializeParameter[i] : &:r1211_5
# 1212| r1212_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] :
# 1212| m1212_2(__attribute((vector_size(16UL))) int) = Uninitialized[vi4] : &:r1212_1
# 1212| r1212_3(int) = Constant[0] :
# 1212| r1212_4(glval<int>) = PointerAdd[4] : r1212_1, r1212_3
# 1212| r1212_5(int) = Constant[0] :
# 1212| m1212_6(int) = Store[?] : &:r1212_4, r1212_5
# 1212| m1212_7(__attribute((vector_size(16UL))) int) = Chi : total:m1212_2, partial:m1212_6
# 1212| r1212_8(int) = Constant[1] :
# 1212| r1212_9(glval<int>) = PointerAdd[4] : r1212_1, r1212_8
# 1212| r1212_10(int) = Constant[1] :
# 1212| m1212_11(int) = Store[?] : &:r1212_9, r1212_10
# 1212| m1212_12(__attribute((vector_size(16UL))) int) = Chi : total:m1212_7, partial:m1212_11
# 1212| r1212_13(int) = Constant[2] :
# 1212| r1212_14(glval<int>) = PointerAdd[4] : r1212_1, r1212_13
# 1212| r1212_15(int) = Constant[2] :
# 1212| m1212_16(int) = Store[?] : &:r1212_14, r1212_15
# 1212| m1212_17(__attribute((vector_size(16UL))) int) = Chi : total:m1212_12, partial:m1212_16
# 1212| r1212_18(int) = Constant[3] :
# 1212| r1212_19(glval<int>) = PointerAdd[4] : r1212_1, r1212_18
# 1212| r1212_20(int) = Constant[3] :
# 1212| m1212_21(int) = Store[?] : &:r1212_19, r1212_20
# 1212| m1212_22(__attribute((vector_size(16UL))) int) = Chi : total:m1212_17, partial:m1212_21
# 1213| r1213_1(glval<int>) = VariableAddress[x] :
# 1213| r1213_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] :
# 1213| r1213_3(glval<int>) = VariableAddress[i] :
# 1213| r1213_4(int) = Load[i] : &:r1213_3, m1211_6
# 1213| r1213_5(glval<int>) = PointerAdd[4] : r1213_2, r1213_4
# 1213| r1213_6(int) = Load[?] : &:r1213_5, ~m1212_22
# 1213| m1213_7(int) = Store[x] : &:r1213_1, r1213_6
# 1214| r1214_1(glval<int>) = VariableAddress[x] :
# 1214| r1214_2(int) = Load[x] : &:r1214_1, m1213_7
# 1214| r1214_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] :
# 1214| r1214_4(glval<int>) = VariableAddress[i] :
# 1214| r1214_5(int) = Load[i] : &:r1214_4, m1211_6
# 1214| r1214_6(glval<int>) = PointerAdd[4] : r1214_3, r1214_5
# 1214| m1214_7(int) = Store[?] : &:r1214_6, r1214_2
# 1214| m1214_8(__attribute((vector_size(16UL))) int) = Chi : total:m1212_22, partial:m1214_7
# 1215| r1215_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] :
# 1215| r1215_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] :
# 1215| r1215_3(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1215_2, m1214_8
# 1215| r1215_4(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] :
# 1215| r1215_5(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1215_4, m1214_8
# 1215| r1215_6(int) = Constant[3] :
# 1215| r1215_7(int) = Constant[2] :
# 1215| r1215_8(int) = Constant[1] :
# 1215| r1215_9(int) = Constant[0] :
# 1215| r1215_10(__attribute((vector_size(16))) int) = BuiltIn[__builtin_shufflevector] : 0:r1215_3, 1:r1215_5, 2:r1215_6, 3:r1215_7, 4:r1215_8, 5:r1215_9
# 1215| m1215_11(__attribute((vector_size(16UL))) int) = Store[vi4_shuffle] : &:r1215_1, r1215_10
# 1216| r1216_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] :
# 1216| r1216_2(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1216_1, m1214_8
# 1216| r1216_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] :
# 1216| r1216_4(__attribute((vector_size(16UL))) int) = Load[vi4_shuffle] : &:r1216_3, m1215_11
# 1216| r1216_5(__attribute((vector_size(16UL))) int) = Add : r1216_2, r1216_4
# 1216| r1216_6(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] :
# 1216| m1216_7(__attribute((vector_size(16UL))) int) = Store[vi4] : &:r1216_6, r1216_5
# 1217| v1217_1(void) = NoOp :
# 1211| v1211_7(void) = ReturnVoid :
# 1211| v1211_8(void) = AliasedUse : m1211_3
# 1211| v1211_9(void) = ExitFunction :
# 1221| int ModeledCallTarget(int)
# 1221| Block 0
# 1221| v1221_1(void) = EnterFunction :
# 1221| m1221_2(unknown) = AliasedDefinition :
# 1221| m1221_3(unknown) = InitializeNonLocal :
# 1221| m1221_4(unknown) = Chi : total:m1221_2, partial:m1221_3
# 1221| r1221_5(glval<int>) = VariableAddress[x] :
# 1221| m1221_6(int) = InitializeParameter[x] : &:r1221_5
# 1222| r1222_1(glval<int>) = VariableAddress[y] :
# 1222| m1222_2(int) = Uninitialized[y] : &:r1222_1
# 1223| r1223_1(glval<unknown>) = FunctionAddress[memcpy] :
# 1223| r1223_2(glval<int>) = VariableAddress[y] :
# 1223| r1223_3(int *) = CopyValue : r1223_2
# 1223| r1223_4(void *) = Convert : r1223_3
# 1223| r1223_5(glval<int>) = VariableAddress[x] :
# 1223| r1223_6(int *) = CopyValue : r1223_5
# 1223| r1223_7(void *) = Convert : r1223_6
# 1223| r1223_8(int) = Constant[4] :
# 1223| r1223_9(void *) = Call[memcpy] : func:r1223_1, 0:r1223_4, 1:r1223_7, 2:r1223_8
# 1223| v1223_10(void) = ^SizedBufferReadSideEffect[1] : &:r1223_7, r1223_8, ~m1221_6
# 1223| m1223_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r1223_4, r1223_8
# 1223| m1223_12(int) = Chi : total:m1222_2, partial:m1223_11
# 1224| r1224_1(glval<int>) = VariableAddress[#return] :
# 1224| r1224_2(glval<int>) = VariableAddress[y] :
# 1224| r1224_3(int) = Load[y] : &:r1224_2, m1223_12
# 1224| m1224_4(int) = Store[#return] : &:r1224_1, r1224_3
# 1221| r1221_7(glval<int>) = VariableAddress[#return] :
# 1221| v1221_8(void) = ReturnValue : &:r1221_7, m1224_4
# 1221| v1221_9(void) = AliasedUse : m1221_3
# 1221| v1221_10(void) = ExitFunction :
# 1227| String ReturnObjectImpl()
# 1227| Block 0
# 1227| v1227_1(void) = EnterFunction :
# 1227| m1227_2(unknown) = AliasedDefinition :
# 1227| m1227_3(unknown) = InitializeNonLocal :
# 1227| m1227_4(unknown) = Chi : total:m1227_2, partial:m1227_3
# 1228| r1228_1(glval<String>) = VariableAddress[#return] :
# 1228| m1228_2(String) = Uninitialized[#return] : &:r1228_1
# 1228| m1228_3(unknown) = Chi : total:m1227_4, partial:m1228_2
# 1228| r1228_4(glval<unknown>) = FunctionAddress[String] :
# 1228| r1228_5(glval<char[4]>) = StringConstant["foo"] :
# 1228| r1228_6(char *) = Convert : r1228_5
# 1228| v1228_7(void) = Call[String] : func:r1228_4, this:r1228_1, 0:r1228_6
# 1228| m1228_8(unknown) = ^CallSideEffect : ~m1228_3
# 1228| m1228_9(unknown) = Chi : total:m1228_3, partial:m1228_8
# 1228| v1228_10(void) = ^BufferReadSideEffect[0] : &:r1228_6, ~m1227_3
# 1228| m1228_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1228_1
# 1228| m1228_12(unknown) = Chi : total:m1228_9, partial:m1228_11
# 1227| r1227_5(glval<String>) = VariableAddress[#return] :
# 1227| v1227_6(void) = ReturnValue : &:r1227_5, ~m1228_12
# 1227| v1227_7(void) = AliasedUse : ~m1228_9
# 1227| v1227_8(void) = ExitFunction :
# 1231| void switch1Case(int)
# 1231| Block 0
# 1231| v1231_1(void) = EnterFunction :
# 1231| m1231_2(unknown) = AliasedDefinition :
# 1231| m1231_3(unknown) = InitializeNonLocal :
# 1231| m1231_4(unknown) = Chi : total:m1231_2, partial:m1231_3
# 1231| r1231_5(glval<int>) = VariableAddress[x] :
# 1231| m1231_6(int) = InitializeParameter[x] : &:r1231_5
# 1232| r1232_1(glval<int>) = VariableAddress[y] :
# 1232| r1232_2(int) = Constant[0] :
# 1232| m1232_3(int) = Store[y] : &:r1232_1, r1232_2
# 1233| r1233_1(glval<int>) = VariableAddress[x] :
# 1233| r1233_2(int) = Load[x] : &:r1233_1, m1231_6
# 1233| v1233_3(void) = Switch : r1233_2
#-----| Case[1] -> Block 1
#-----| Default -> Block 2
# 1234| Block 1
# 1234| v1234_1(void) = NoOp :
# 1235| r1235_1(int) = Constant[2] :
# 1235| r1235_2(glval<int>) = VariableAddress[y] :
# 1235| m1235_3(int) = Store[y] : &:r1235_2, r1235_1
#-----| Goto -> Block 2
# 1237| Block 2
# 1237| m1237_1(int) = Phi : from 0:m1232_3, from 1:m1235_3
# 1237| r1237_2(glval<int>) = VariableAddress[z] :
# 1237| r1237_3(glval<int>) = VariableAddress[y] :
# 1237| r1237_4(int) = Load[y] : &:r1237_3, m1237_1
# 1237| m1237_5(int) = Store[z] : &:r1237_2, r1237_4
# 1238| v1238_1(void) = NoOp :
# 1231| v1231_7(void) = ReturnVoid :
# 1231| v1231_8(void) = AliasedUse : m1231_3
# 1231| v1231_9(void) = ExitFunction :
# 1240| void switch2Case_fallthrough(int)
# 1240| Block 0
# 1240| v1240_1(void) = EnterFunction :
# 1240| m1240_2(unknown) = AliasedDefinition :
# 1240| m1240_3(unknown) = InitializeNonLocal :
# 1240| m1240_4(unknown) = Chi : total:m1240_2, partial:m1240_3
# 1240| r1240_5(glval<int>) = VariableAddress[x] :
# 1240| m1240_6(int) = InitializeParameter[x] : &:r1240_5
# 1241| r1241_1(glval<int>) = VariableAddress[y] :
# 1241| r1241_2(int) = Constant[0] :
# 1241| m1241_3(int) = Store[y] : &:r1241_1, r1241_2
# 1242| r1242_1(glval<int>) = VariableAddress[x] :
# 1242| r1242_2(int) = Load[x] : &:r1242_1, m1240_6
# 1242| v1242_3(void) = Switch : r1242_2
#-----| Case[1] -> Block 1
#-----| Case[2] -> Block 2
#-----| Default -> Block 3
# 1243| Block 1
# 1243| v1243_1(void) = NoOp :
# 1244| r1244_1(int) = Constant[2] :
# 1244| r1244_2(glval<int>) = VariableAddress[y] :
# 1244| m1244_3(int) = Store[y] : &:r1244_2, r1244_1
#-----| Goto -> Block 2
# 1245| Block 2
# 1245| v1245_1(void) = NoOp :
# 1246| r1246_1(int) = Constant[3] :
# 1246| r1246_2(glval<int>) = VariableAddress[y] :
# 1246| m1246_3(int) = Store[y] : &:r1246_2, r1246_1
#-----| Goto -> Block 3
# 1248| Block 3
# 1248| m1248_1(int) = Phi : from 0:m1241_3, from 2:m1246_3
# 1248| r1248_2(glval<int>) = VariableAddress[z] :
# 1248| r1248_3(glval<int>) = VariableAddress[y] :
# 1248| r1248_4(int) = Load[y] : &:r1248_3, m1248_1
# 1248| m1248_5(int) = Store[z] : &:r1248_2, r1248_4
# 1249| v1249_1(void) = NoOp :
# 1240| v1240_7(void) = ReturnVoid :
# 1240| v1240_8(void) = AliasedUse : m1240_3
# 1240| v1240_9(void) = ExitFunction :
# 1251| void switch2Case(int)
# 1251| Block 0
# 1251| v1251_1(void) = EnterFunction :
# 1251| m1251_2(unknown) = AliasedDefinition :
# 1251| m1251_3(unknown) = InitializeNonLocal :
# 1251| m1251_4(unknown) = Chi : total:m1251_2, partial:m1251_3
# 1251| r1251_5(glval<int>) = VariableAddress[x] :
# 1251| m1251_6(int) = InitializeParameter[x] : &:r1251_5
# 1252| r1252_1(glval<int>) = VariableAddress[y] :
# 1252| r1252_2(int) = Constant[0] :
# 1252| m1252_3(int) = Store[y] : &:r1252_1, r1252_2
# 1253| r1253_1(glval<int>) = VariableAddress[x] :
# 1253| r1253_2(int) = Load[x] : &:r1253_1, m1251_6
# 1253| v1253_3(void) = Switch : r1253_2
#-----| Case[1] -> Block 1
#-----| Case[2] -> Block 2
#-----| Default -> Block 3
# 1254| Block 1
# 1254| v1254_1(void) = NoOp :
# 1255| r1255_1(int) = Constant[2] :
# 1255| r1255_2(glval<int>) = VariableAddress[y] :
# 1255| m1255_3(int) = Store[y] : &:r1255_2, r1255_1
# 1256| v1256_1(void) = NoOp :
#-----| Goto -> Block 3
# 1257| Block 2
# 1257| v1257_1(void) = NoOp :
# 1258| r1258_1(int) = Constant[3] :
# 1258| r1258_2(glval<int>) = VariableAddress[y] :
# 1258| m1258_3(int) = Store[y] : &:r1258_2, r1258_1
#-----| Goto -> Block 3
# 1259| Block 3
# 1259| m1259_1(int) = Phi : from 0:m1252_3, from 1:m1255_3, from 2:m1258_3
# 1259| v1259_2(void) = NoOp :
# 1260| r1260_1(glval<int>) = VariableAddress[z] :
# 1260| r1260_2(glval<int>) = VariableAddress[y] :
# 1260| r1260_3(int) = Load[y] : &:r1260_2, m1259_1
# 1260| m1260_4(int) = Store[z] : &:r1260_1, r1260_3
# 1261| v1261_1(void) = NoOp :
# 1251| v1251_7(void) = ReturnVoid :
# 1251| v1251_8(void) = AliasedUse : m1251_3
# 1251| v1251_9(void) = ExitFunction :
# 1263| void switch2Case_default(int)
# 1263| Block 0
# 1263| v1263_1(void) = EnterFunction :
# 1263| m1263_2(unknown) = AliasedDefinition :
# 1263| m1263_3(unknown) = InitializeNonLocal :
# 1263| m1263_4(unknown) = Chi : total:m1263_2, partial:m1263_3
# 1263| r1263_5(glval<int>) = VariableAddress[x] :
# 1263| m1263_6(int) = InitializeParameter[x] : &:r1263_5
# 1264| r1264_1(glval<int>) = VariableAddress[y] :
# 1264| r1264_2(int) = Constant[0] :
# 1264| m1264_3(int) = Store[y] : &:r1264_1, r1264_2
# 1265| r1265_1(glval<int>) = VariableAddress[x] :
# 1265| r1265_2(int) = Load[x] : &:r1265_1, m1263_6
# 1265| v1265_3(void) = Switch : r1265_2
#-----| Case[1] -> Block 1
#-----| Case[2] -> Block 2
#-----| Default -> Block 3
# 1266| Block 1
# 1266| v1266_1(void) = NoOp :
# 1267| r1267_1(int) = Constant[2] :
# 1267| r1267_2(glval<int>) = VariableAddress[y] :
# 1267| m1267_3(int) = Store[y] : &:r1267_2, r1267_1
# 1268| v1268_1(void) = NoOp :
#-----| Goto -> Block 4
# 1270| Block 2
# 1270| v1270_1(void) = NoOp :
# 1271| r1271_1(int) = Constant[3] :
# 1271| r1271_2(glval<int>) = VariableAddress[y] :
# 1271| m1271_3(int) = Store[y] : &:r1271_2, r1271_1
# 1272| v1272_1(void) = NoOp :
#-----| Goto -> Block 4
# 1274| Block 3
# 1274| v1274_1(void) = NoOp :
# 1275| r1275_1(int) = Constant[4] :
# 1275| r1275_2(glval<int>) = VariableAddress[y] :
# 1275| m1275_3(int) = Store[y] : &:r1275_2, r1275_1
#-----| Goto -> Block 4
# 1276| Block 4
# 1276| m1276_1(int) = Phi : from 1:m1267_3, from 2:m1271_3, from 3:m1275_3
# 1276| v1276_2(void) = NoOp :
# 1277| r1277_1(glval<int>) = VariableAddress[z] :
# 1277| r1277_2(glval<int>) = VariableAddress[y] :
# 1277| r1277_3(int) = Load[y] : &:r1277_2, m1276_1
# 1277| m1277_4(int) = Store[z] : &:r1277_1, r1277_3
# 1278| v1278_1(void) = NoOp :
# 1263| v1263_7(void) = ReturnVoid :
# 1263| v1263_8(void) = AliasedUse : m1263_3
# 1263| v1263_9(void) = ExitFunction :
# 1280| int staticLocalInit(int)
# 1280| Block 0
# 1280| v1280_1(void) = EnterFunction :
# 1280| m1280_2(unknown) = AliasedDefinition :
# 1280| m1280_3(unknown) = InitializeNonLocal :
# 1280| m1280_4(unknown) = Chi : total:m1280_2, partial:m1280_3
# 1280| r1280_5(glval<int>) = VariableAddress[x] :
# 1280| m1280_6(int) = InitializeParameter[x] : &:r1280_5
# 1283| r1283_1(glval<bool>) = VariableAddress[c#init] :
# 1283| r1283_2(bool) = Load[c#init] : &:r1283_1, ~m1280_3
# 1283| v1283_3(void) = ConditionalBranch : r1283_2
#-----| False -> Block 1
#-----| True -> Block 2
# 1283| Block 1
# 1283| r1283_4(glval<int>) = VariableAddress[c] :
# 1283| r1283_5(glval<int>) = VariableAddress[x] :
# 1283| r1283_6(int) = Load[x] : &:r1283_5, m1280_6
# 1283| m1283_7(int) = Store[c] : &:r1283_4, r1283_6
# 1283| m1283_8(unknown) = Chi : total:m1280_4, partial:m1283_7
# 1283| r1283_9(bool) = Constant[1] :
# 1283| m1283_10(bool) = Store[c#init] : &:r1283_1, r1283_9
# 1283| m1283_11(unknown) = Chi : total:m1283_8, partial:m1283_10
#-----| Goto -> Block 2
# 1286| Block 2
# 1286| m1286_1(int) = Phi : from 0:~m1280_3, from 1:m1283_7
# 1286| m1286_2(unknown) = Phi : from 0:~m1280_4, from 1:~m1283_11
# 1286| r1286_3(glval<int>) = VariableAddress[#return] :
# 1286| r1286_4(glval<int>) = VariableAddress[a] :
# 1286| r1286_5(int) = Load[a] : &:r1286_4, ~m1286_2
# 1286| r1286_6(glval<int>) = VariableAddress[b] :
# 1286| r1286_7(int) = Load[b] : &:r1286_6, ~m1286_2
# 1286| r1286_8(int) = Add : r1286_5, r1286_7
# 1286| r1286_9(glval<int>) = VariableAddress[c] :
# 1286| r1286_10(int) = Load[c] : &:r1286_9, m1286_1
# 1286| r1286_11(int) = Add : r1286_8, r1286_10
# 1286| r1286_12(glval<int>) = VariableAddress[d] :
# 1286| r1286_13(int) = Load[d] : &:r1286_12, ~m1286_2
# 1286| r1286_14(int) = Add : r1286_11, r1286_13
# 1286| m1286_15(int) = Store[#return] : &:r1286_3, r1286_14
# 1280| r1280_7(glval<int>) = VariableAddress[#return] :
# 1280| v1280_8(void) = ReturnValue : &:r1280_7, m1286_15
# 1280| v1280_9(void) = AliasedUse : ~m1286_2
# 1280| v1280_10(void) = ExitFunction :
# 1281| int a
# 1281| Block 0
# 1281| v1281_1(void) = EnterFunction :
# 1281| m1281_2(unknown) = AliasedDefinition :
# 1281| r1281_3(glval<int>) = VariableAddress[a] :
# 1281| r1281_4(int) = Constant[0] :
# 1281| m1281_5(int) = Store[a] : &:r1281_3, r1281_4
# 1281| m1281_6(unknown) = Chi : total:m1281_2, partial:m1281_5
# 1281| v1281_7(void) = ReturnVoid :
# 1281| v1281_8(void) = AliasedUse : ~m1281_6
# 1281| v1281_9(void) = ExitFunction :
# 1282| int b
# 1282| Block 0
# 1282| v1282_1(void) = EnterFunction :
# 1282| m1282_2(unknown) = AliasedDefinition :
# 1282| r1282_3(glval<int>) = VariableAddress[b] :
# 1282| r1282_4(int) = Constant[4] :
# 1282| m1282_5(int) = Store[b] : &:r1282_3, r1282_4
# 1282| m1282_6(unknown) = Chi : total:m1282_2, partial:m1282_5
# 1282| v1282_7(void) = ReturnVoid :
# 1282| v1282_8(void) = AliasedUse : ~m1282_6
# 1282| v1282_9(void) = ExitFunction :
# 1289| void staticLocalWithConstructor(char const*)
# 1289| Block 0
# 1289| v1289_1(void) = EnterFunction :
# 1289| m1289_2(unknown) = AliasedDefinition :
# 1289| m1289_3(unknown) = InitializeNonLocal :
# 1289| m1289_4(unknown) = Chi : total:m1289_2, partial:m1289_3
# 1289| r1289_5(glval<char *>) = VariableAddress[dynamic] :
# 1289| m1289_6(char *) = InitializeParameter[dynamic] : &:r1289_5
# 1289| r1289_7(char *) = Load[dynamic] : &:r1289_5, m1289_6
# 1289| m1289_8(unknown) = InitializeIndirection[dynamic] : &:r1289_7
# 1289| m1289_9(unknown) = Chi : total:m1289_4, partial:m1289_8
# 1290| r1290_1(glval<bool>) = VariableAddress[a#init] :
# 1290| r1290_2(bool) = Load[a#init] : &:r1290_1, ~m1289_3
# 1290| v1290_3(void) = ConditionalBranch : r1290_2
#-----| False -> Block 1
#-----| True -> Block 2
# 1290| Block 1
# 1290| r1290_4(glval<String>) = VariableAddress[a] :
#-----| r0_1(glval<unknown>) = FunctionAddress[String] :
#-----| v0_2(void) = Call[String] : func:r0_1, this:r1290_4
#-----| m0_3(unknown) = ^CallSideEffect : ~m1289_9
#-----| m0_4(unknown) = Chi : total:m1289_9, partial:m0_3
#-----| m0_5(String) = ^IndirectMayWriteSideEffect[-1] : &:r1290_4
#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5
# 1290| r1290_5(bool) = Constant[1] :
# 1290| m1290_6(bool) = Store[a#init] : &:r1290_1, r1290_5
# 1290| m1290_7(unknown) = Chi : total:m0_6, partial:m1290_6
#-----| Goto -> Block 2
# 1291| Block 2
# 1291| m1291_1(unknown) = Phi : from 0:~m1289_9, from 1:~m1290_7
# 1291| r1291_2(glval<bool>) = VariableAddress[b#init] :
# 1291| r1291_3(bool) = Load[b#init] : &:r1291_2, ~m1291_1
# 1291| v1291_4(void) = ConditionalBranch : r1291_3
#-----| False -> Block 3
#-----| True -> Block 4
# 1291| Block 3
# 1291| r1291_5(glval<String>) = VariableAddress[b] :
# 1291| r1291_6(glval<unknown>) = FunctionAddress[String] :
# 1291| r1291_7(glval<char[7]>) = StringConstant["static"] :
# 1291| r1291_8(char *) = Convert : r1291_7
# 1291| v1291_9(void) = Call[String] : func:r1291_6, this:r1291_5, 0:r1291_8
# 1291| m1291_10(unknown) = ^CallSideEffect : ~m1291_1
# 1291| m1291_11(unknown) = Chi : total:m1291_1, partial:m1291_10
# 1291| v1291_12(void) = ^BufferReadSideEffect[0] : &:r1291_8, ~m1289_3
# 1291| m1291_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1291_5
# 1291| m1291_14(unknown) = Chi : total:m1291_11, partial:m1291_13
# 1291| r1291_15(bool) = Constant[1] :
# 1291| m1291_16(bool) = Store[b#init] : &:r1291_2, r1291_15
# 1291| m1291_17(unknown) = Chi : total:m1291_14, partial:m1291_16
#-----| Goto -> Block 4
# 1292| Block 4
# 1292| m1292_1(unknown) = Phi : from 2:~m1291_1, from 3:~m1291_17
# 1292| r1292_2(glval<bool>) = VariableAddress[c#init] :
# 1292| r1292_3(bool) = Load[c#init] : &:r1292_2, ~m1292_1
# 1292| v1292_4(void) = ConditionalBranch : r1292_3
#-----| False -> Block 5
#-----| True -> Block 6
# 1292| Block 5
# 1292| r1292_5(glval<String>) = VariableAddress[c] :
# 1292| r1292_6(glval<unknown>) = FunctionAddress[String] :
# 1292| r1292_7(glval<char *>) = VariableAddress[dynamic] :
# 1292| r1292_8(char *) = Load[dynamic] : &:r1292_7, m1289_6
# 1292| v1292_9(void) = Call[String] : func:r1292_6, this:r1292_5, 0:r1292_8
# 1292| m1292_10(unknown) = ^CallSideEffect : ~m1292_1
# 1292| m1292_11(unknown) = Chi : total:m1292_1, partial:m1292_10
# 1292| v1292_12(void) = ^BufferReadSideEffect[0] : &:r1292_8, ~m1292_11
# 1292| m1292_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1292_5
# 1292| m1292_14(unknown) = Chi : total:m1292_11, partial:m1292_13
# 1292| r1292_15(bool) = Constant[1] :
# 1292| m1292_16(bool) = Store[c#init] : &:r1292_2, r1292_15
# 1292| m1292_17(unknown) = Chi : total:m1292_14, partial:m1292_16
#-----| Goto -> Block 6
# 1293| Block 6
# 1293| m1293_1(unknown) = Phi : from 4:~m1292_1, from 5:~m1292_17
# 1293| v1293_2(void) = NoOp :
# 1289| v1289_10(void) = ReturnIndirection[dynamic] : &:r1289_7, ~m1293_1
# 1289| v1289_11(void) = ReturnVoid :
# 1289| v1289_12(void) = AliasedUse : ~m1293_1
# 1289| v1289_13(void) = ExitFunction :
# 1300| void test_strings(char*, char*)
# 1300| Block 0
# 1300| v1300_1(void) = EnterFunction :
# 1300| m1300_2(unknown) = AliasedDefinition :
# 1300| m1300_3(unknown) = InitializeNonLocal :
# 1300| m1300_4(unknown) = Chi : total:m1300_2, partial:m1300_3
# 1300| r1300_5(glval<char *>) = VariableAddress[s1] :
# 1300| m1300_6(char *) = InitializeParameter[s1] : &:r1300_5
# 1300| r1300_7(char *) = Load[s1] : &:r1300_5, m1300_6
# 1300| m1300_8(unknown) = InitializeIndirection[s1] : &:r1300_7
# 1300| m1300_9(unknown) = Chi : total:m1300_4, partial:m1300_8
# 1300| r1300_10(glval<char *>) = VariableAddress[s2] :
# 1300| m1300_11(char *) = InitializeParameter[s2] : &:r1300_10
# 1300| r1300_12(char *) = Load[s2] : &:r1300_10, m1300_11
# 1300| m1300_13(unknown) = InitializeIndirection[s2] : &:r1300_12
# 1300| m1300_14(unknown) = Chi : total:m1300_9, partial:m1300_13
# 1301| r1301_1(glval<char[1024]>) = VariableAddress[buffer] :
# 1301| m1301_2(char[1024]) = Uninitialized[buffer] : &:r1301_1
# 1301| m1301_3(unknown) = Chi : total:m1300_14, partial:m1301_2
# 1301| r1301_4(int) = Constant[0] :
# 1301| r1301_5(glval<char>) = PointerAdd[1] : r1301_1, r1301_4
# 1301| r1301_6(char) = Constant[0] :
# 1301| m1301_7(char) = Store[?] : &:r1301_5, r1301_6
# 1301| m1301_8(unknown) = Chi : total:m1301_3, partial:m1301_7
# 1301| r1301_9(int) = Constant[1] :
# 1301| r1301_10(glval<char>) = PointerAdd[1] : r1301_1, r1301_9
# 1301| r1301_11(unknown[1023]) = Constant[0] :
# 1301| m1301_12(unknown[1023]) = Store[?] : &:r1301_10, r1301_11
# 1301| m1301_13(unknown) = Chi : total:m1301_8, partial:m1301_12
# 1303| r1303_1(glval<unknown>) = FunctionAddress[strcpy] :
# 1303| r1303_2(glval<char[1024]>) = VariableAddress[buffer] :
# 1303| r1303_3(char *) = Convert : r1303_2
# 1303| r1303_4(glval<char *>) = VariableAddress[s1] :
# 1303| r1303_5(char *) = Load[s1] : &:r1303_4, m1300_6
# 1303| r1303_6(char *) = Convert : r1303_5
# 1303| r1303_7(char *) = Call[strcpy] : func:r1303_1, 0:r1303_3, 1:r1303_6
# 1303| v1303_8(void) = ^BufferReadSideEffect[1] : &:r1303_6, ~m1300_8
# 1303| m1303_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1303_3
# 1303| m1303_10(unknown) = Chi : total:m1301_13, partial:m1303_9
# 1304| r1304_1(glval<unknown>) = FunctionAddress[strcat] :
# 1304| r1304_2(glval<char[1024]>) = VariableAddress[buffer] :
# 1304| r1304_3(char *) = Convert : r1304_2
# 1304| r1304_4(glval<char *>) = VariableAddress[s2] :
# 1304| r1304_5(char *) = Load[s2] : &:r1304_4, m1300_11
# 1304| r1304_6(char *) = Convert : r1304_5
# 1304| r1304_7(char *) = Call[strcat] : func:r1304_1, 0:r1304_3, 1:r1304_6
# 1304| v1304_8(void) = ^BufferReadSideEffect[0] : &:r1304_3, ~m1303_10
# 1304| v1304_9(void) = ^BufferReadSideEffect[1] : &:r1304_6, ~m1300_13
# 1304| m1304_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1304_3
# 1304| m1304_11(unknown) = Chi : total:m1303_10, partial:m1304_10
# 1305| v1305_1(void) = NoOp :
# 1300| v1300_15(void) = ReturnIndirection[s1] : &:r1300_7, ~m1304_11
# 1300| v1300_16(void) = ReturnIndirection[s2] : &:r1300_12, ~m1304_11
# 1300| v1300_17(void) = ReturnVoid :
# 1300| v1300_18(void) = AliasedUse : ~m1300_14
# 1300| v1300_19(void) = ExitFunction :
# 1310| void A::static_member(A*, int)
# 1310| Block 0
# 1310| v1310_1(void) = EnterFunction :
# 1310| m1310_2(unknown) = AliasedDefinition :
# 1310| m1310_3(unknown) = InitializeNonLocal :
# 1310| m1310_4(unknown) = Chi : total:m1310_2, partial:m1310_3
# 1310| r1310_5(glval<A *>) = VariableAddress[a] :
# 1310| m1310_6(A *) = InitializeParameter[a] : &:r1310_5
# 1310| r1310_7(A *) = Load[a] : &:r1310_5, m1310_6
# 1310| m1310_8(unknown) = InitializeIndirection[a] : &:r1310_7
# 1310| r1310_9(glval<int>) = VariableAddress[x] :
# 1310| m1310_10(int) = InitializeParameter[x] : &:r1310_9
# 1311| r1311_1(glval<int>) = VariableAddress[x] :
# 1311| r1311_2(int) = Load[x] : &:r1311_1, m1310_10
# 1311| r1311_3(glval<A *>) = VariableAddress[a] :
# 1311| r1311_4(A *) = Load[a] : &:r1311_3, m1310_6
# 1311| r1311_5(glval<int>) = FieldAddress[member] : r1311_4
# 1311| m1311_6(int) = Store[?] : &:r1311_5, r1311_2
# 1311| m1311_7(unknown) = Chi : total:m1310_8, partial:m1311_6
# 1312| v1312_1(void) = NoOp :
# 1310| v1310_11(void) = ReturnIndirection[a] : &:r1310_7, m1311_7
# 1310| v1310_12(void) = ReturnVoid :
# 1310| v1310_13(void) = AliasedUse : m1310_3
# 1310| v1310_14(void) = ExitFunction :
# 1319| void test_static_member_functions(int, A*)
# 1319| Block 0
# 1319| v1319_1(void) = EnterFunction :
# 1319| m1319_2(unknown) = AliasedDefinition :
# 1319| m1319_3(unknown) = InitializeNonLocal :
# 1319| m1319_4(unknown) = Chi : total:m1319_2, partial:m1319_3
# 1319| r1319_5(glval<int>) = VariableAddress[int_arg] :
# 1319| m1319_6(int) = InitializeParameter[int_arg] : &:r1319_5
# 1319| r1319_7(glval<A *>) = VariableAddress[a_arg] :
# 1319| m1319_8(A *) = InitializeParameter[a_arg] : &:r1319_7
# 1319| r1319_9(A *) = Load[a_arg] : &:r1319_7, m1319_8
# 1319| m1319_10(unknown) = InitializeIndirection[a_arg] : &:r1319_9
# 1320| r1320_1(glval<C>) = VariableAddress[c] :
# 1320| m1320_2(C) = Uninitialized[c] : &:r1320_1
# 1320| m1320_3(unknown) = Chi : total:m1319_4, partial:m1320_2
# 1320| r1320_4(glval<unknown>) = FunctionAddress[C] :
# 1320| v1320_5(void) = Call[C] : func:r1320_4, this:r1320_1
# 1320| m1320_6(unknown) = ^CallSideEffect : ~m1320_3
# 1320| m1320_7(unknown) = Chi : total:m1320_3, partial:m1320_6
# 1320| m1320_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1320_1
# 1320| m1320_9(unknown) = Chi : total:m1320_7, partial:m1320_8
# 1321| r1321_1(glval<C>) = VariableAddress[c] :
# 1321| r1321_2(glval<unknown>) = FunctionAddress[StaticMemberFunction] :
# 1321| r1321_3(int) = Constant[10] :
# 1321| r1321_4(int) = Call[StaticMemberFunction] : func:r1321_2, 0:r1321_3
# 1321| m1321_5(unknown) = ^CallSideEffect : ~m1320_9
# 1321| m1321_6(unknown) = Chi : total:m1320_9, partial:m1321_5
# 1322| r1322_1(glval<unknown>) = FunctionAddress[StaticMemberFunction] :
# 1322| r1322_2(int) = Constant[10] :
# 1322| r1322_3(int) = Call[StaticMemberFunction] : func:r1322_1, 0:r1322_2
# 1322| m1322_4(unknown) = ^CallSideEffect : ~m1321_6
# 1322| m1322_5(unknown) = Chi : total:m1321_6, partial:m1322_4
# 1324| r1324_1(glval<A>) = VariableAddress[a] :
# 1324| m1324_2(A) = Uninitialized[a] : &:r1324_1
# 1325| r1325_1(glval<A>) = VariableAddress[a] :
# 1325| r1325_2(glval<unknown>) = FunctionAddress[static_member] :
# 1325| r1325_3(glval<A>) = VariableAddress[a] :
# 1325| r1325_4(A *) = CopyValue : r1325_3
# 1325| r1325_5(glval<int>) = VariableAddress[int_arg] :
# 1325| r1325_6(int) = Load[int_arg] : &:r1325_5, m1319_6
# 1325| v1325_7(void) = Call[static_member] : func:r1325_2, 0:r1325_4, 1:r1325_6
# 1325| m1325_8(unknown) = ^CallSideEffect : ~m1322_5
# 1325| m1325_9(unknown) = Chi : total:m1322_5, partial:m1325_8
# 1325| v1325_10(void) = ^BufferReadSideEffect[0] : &:r1325_4, ~m1324_2
# 1325| m1325_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1325_4
# 1325| m1325_12(A) = Chi : total:m1324_2, partial:m1325_11
# 1326| r1326_1(glval<unknown>) = FunctionAddress[static_member] :
# 1326| r1326_2(glval<A>) = VariableAddress[a] :
# 1326| r1326_3(A *) = CopyValue : r1326_2
# 1326| r1326_4(glval<int>) = VariableAddress[int_arg] :
# 1326| r1326_5(int) = Load[int_arg] : &:r1326_4, m1319_6
# 1326| v1326_6(void) = Call[static_member] : func:r1326_1, 0:r1326_3, 1:r1326_5
# 1326| m1326_7(unknown) = ^CallSideEffect : ~m1325_9
# 1326| m1326_8(unknown) = Chi : total:m1325_9, partial:m1326_7
# 1326| v1326_9(void) = ^BufferReadSideEffect[0] : &:r1326_3, ~m1325_12
# 1326| m1326_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1326_3
# 1326| m1326_11(A) = Chi : total:m1325_12, partial:m1326_10
# 1328| r1328_1(glval<A>) = VariableAddress[a] :
# 1328| r1328_2(A *) = CopyValue : r1328_1
# 1328| r1328_3(glval<unknown>) = FunctionAddress[static_member] :
# 1328| r1328_4(glval<A *>) = VariableAddress[a_arg] :
# 1328| r1328_5(A *) = Load[a_arg] : &:r1328_4, m1319_8
# 1328| r1328_6(glval<int>) = VariableAddress[int_arg] :
# 1328| r1328_7(int) = Load[int_arg] : &:r1328_6, m1319_6
# 1328| r1328_8(int) = Constant[2] :
# 1328| r1328_9(int) = Add : r1328_7, r1328_8
# 1328| v1328_10(void) = Call[static_member] : func:r1328_3, 0:r1328_5, 1:r1328_9
# 1328| m1328_11(unknown) = ^CallSideEffect : ~m1326_8
# 1328| m1328_12(unknown) = Chi : total:m1326_8, partial:m1328_11
# 1328| v1328_13(void) = ^BufferReadSideEffect[0] : &:r1328_5, ~m1319_10
# 1328| m1328_14(unknown) = ^BufferMayWriteSideEffect[0] : &:r1328_5
# 1328| m1328_15(unknown) = Chi : total:m1319_10, partial:m1328_14
# 1329| r1329_1(glval<A *>) = VariableAddress[a_arg] :
# 1329| r1329_2(A *) = Load[a_arg] : &:r1329_1, m1319_8
# 1329| r1329_3(glval<A>) = CopyValue : r1329_2
# 1329| r1329_4(glval<unknown>) = FunctionAddress[static_member] :
# 1329| r1329_5(glval<A>) = VariableAddress[a] :
# 1329| r1329_6(A *) = CopyValue : r1329_5
# 1329| r1329_7(int) = Constant[99] :
# 1329| v1329_8(void) = Call[static_member] : func:r1329_4, 0:r1329_6, 1:r1329_7
# 1329| m1329_9(unknown) = ^CallSideEffect : ~m1328_12
# 1329| m1329_10(unknown) = Chi : total:m1328_12, partial:m1329_9
# 1329| v1329_11(void) = ^BufferReadSideEffect[0] : &:r1329_6, ~m1326_11
# 1329| m1329_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r1329_6
# 1329| m1329_13(A) = Chi : total:m1326_11, partial:m1329_12
# 1330| r1330_1(glval<A *>) = VariableAddress[a_arg] :
# 1330| r1330_2(A *) = Load[a_arg] : &:r1330_1, m1319_8
# 1330| r1330_3(glval<unknown>) = FunctionAddress[static_member] :
# 1330| r1330_4(glval<A *>) = VariableAddress[a_arg] :
# 1330| r1330_5(A *) = Load[a_arg] : &:r1330_4, m1319_8
# 1330| r1330_6(int) = Constant[-1] :
# 1330| v1330_7(void) = Call[static_member] : func:r1330_3, 0:r1330_5, 1:r1330_6
# 1330| m1330_8(unknown) = ^CallSideEffect : ~m1329_10
# 1330| m1330_9(unknown) = Chi : total:m1329_10, partial:m1330_8
# 1330| v1330_10(void) = ^BufferReadSideEffect[0] : &:r1330_5, ~m1328_15
# 1330| m1330_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1330_5
# 1330| m1330_12(unknown) = Chi : total:m1328_15, partial:m1330_11
# 1332| r1332_1(glval<A>) = VariableAddress[a] :
# 1332| r1332_2(glval<unknown>) = FunctionAddress[static_member_without_def] :
# 1332| v1332_3(void) = Call[static_member_without_def] : func:r1332_2
# 1332| m1332_4(unknown) = ^CallSideEffect : ~m1330_9
# 1332| m1332_5(unknown) = Chi : total:m1330_9, partial:m1332_4
# 1333| r1333_1(glval<unknown>) = FunctionAddress[static_member_without_def] :
# 1333| v1333_2(void) = Call[static_member_without_def] : func:r1333_1
# 1333| m1333_3(unknown) = ^CallSideEffect : ~m1332_5
# 1333| m1333_4(unknown) = Chi : total:m1332_5, partial:m1333_3
# 1335| r1335_1(glval<unknown>) = FunctionAddress[getAnInstanceOfA] :
# 1335| r1335_2(A *) = Call[getAnInstanceOfA] : func:r1335_1
# 1335| m1335_3(unknown) = ^CallSideEffect : ~m1333_4
# 1335| m1335_4(unknown) = Chi : total:m1333_4, partial:m1335_3
# 1335| r1335_5(glval<unknown>) = FunctionAddress[static_member_without_def] :
# 1335| v1335_6(void) = Call[static_member_without_def] : func:r1335_5
# 1335| m1335_7(unknown) = ^CallSideEffect : ~m1335_4
# 1335| m1335_8(unknown) = Chi : total:m1335_4, partial:m1335_7
# 1336| v1336_1(void) = NoOp :
# 1336| r1336_2(glval<C>) = VariableAddress[c] :
# 1336| r1336_3(glval<unknown>) = FunctionAddress[~C] :
# 1336| v1336_4(void) = Call[~C] : func:r1336_3, this:r1336_2
# 1336| m1336_5(unknown) = ^CallSideEffect : ~m1335_8
# 1336| m1336_6(unknown) = Chi : total:m1335_8, partial:m1336_5
# 1336| v1336_7(void) = ^IndirectReadSideEffect[-1] : &:r1336_2, ~m1336_6
# 1336| m1336_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1336_2
# 1336| m1336_9(unknown) = Chi : total:m1336_6, partial:m1336_8
# 1319| v1319_11(void) = ReturnIndirection[a_arg] : &:r1319_9, m1330_12
# 1319| v1319_12(void) = ReturnVoid :
# 1319| v1319_13(void) = AliasedUse : ~m1336_6
# 1319| v1319_14(void) = ExitFunction :
# 1338| int missingReturnValue(bool, int)
# 1338| Block 0
# 1338| v1338_1(void) = EnterFunction :
# 1338| m1338_2(unknown) = AliasedDefinition :
# 1338| m1338_3(unknown) = InitializeNonLocal :
# 1338| m1338_4(unknown) = Chi : total:m1338_2, partial:m1338_3
# 1338| r1338_5(glval<bool>) = VariableAddress[b] :
# 1338| m1338_6(bool) = InitializeParameter[b] : &:r1338_5
# 1338| r1338_7(glval<int>) = VariableAddress[x] :
# 1338| m1338_8(int) = InitializeParameter[x] : &:r1338_7
# 1339| r1339_1(glval<bool>) = VariableAddress[b] :
# 1339| r1339_2(bool) = Load[b] : &:r1339_1, m1338_6
# 1339| v1339_3(void) = ConditionalBranch : r1339_2
#-----| False -> Block 3
#-----| True -> Block 2
# 1338| Block 1
# 1338| m1338_9(int) = Phi : from 2:m1340_4, from 3:m1342_2
# 1338| r1338_10(glval<int>) = VariableAddress[#return] :
# 1338| v1338_11(void) = ReturnValue : &:r1338_10, m1338_9
# 1338| v1338_12(void) = AliasedUse : m1338_3
# 1338| v1338_13(void) = ExitFunction :
# 1340| Block 2
# 1340| r1340_1(glval<int>) = VariableAddress[#return] :
# 1340| r1340_2(glval<int>) = VariableAddress[x] :
# 1340| r1340_3(int) = Load[x] : &:r1340_2, m1338_8
# 1340| m1340_4(int) = Store[#return] : &:r1340_1, r1340_3
#-----| Goto -> Block 1
# 1342| Block 3
# 1342| r1342_1(glval<int>) = VariableAddress[#return] :
# 1342| m1342_2(int) = Uninitialized[#return] : &:r1342_1
#-----| Goto -> Block 1
# 1344| void returnVoid(int, int)
# 1344| Block 0
# 1344| v1344_1(void) = EnterFunction :
# 1344| m1344_2(unknown) = AliasedDefinition :
# 1344| m1344_3(unknown) = InitializeNonLocal :
# 1344| m1344_4(unknown) = Chi : total:m1344_2, partial:m1344_3
# 1344| r1344_5(glval<int>) = VariableAddress[x] :
# 1344| m1344_6(int) = InitializeParameter[x] : &:r1344_5
# 1344| r1344_7(glval<int>) = VariableAddress[y] :
# 1344| m1344_8(int) = InitializeParameter[y] : &:r1344_7
# 1345| r1345_1(glval<unknown>) = FunctionAddress[IntegerOps] :
# 1345| r1345_2(glval<int>) = VariableAddress[x] :
# 1345| r1345_3(int) = Load[x] : &:r1345_2, m1344_6
# 1345| r1345_4(glval<int>) = VariableAddress[y] :
# 1345| r1345_5(int) = Load[y] : &:r1345_4, m1344_8
# 1345| v1345_6(void) = Call[IntegerOps] : func:r1345_1, 0:r1345_3, 1:r1345_5
# 1345| m1345_7(unknown) = ^CallSideEffect : ~m1344_4
# 1345| m1345_8(unknown) = Chi : total:m1344_4, partial:m1345_7
# 1345| v1345_9(void) = NoOp :
# 1344| v1344_9(void) = ReturnVoid :
# 1344| v1344_10(void) = AliasedUse : ~m1345_8
# 1344| v1344_11(void) = ExitFunction :
# 1348| void gccBinaryConditional(bool, int, long)
# 1348| Block 0
# 1348| v1348_1(void) = EnterFunction :
# 1348| m1348_2(unknown) = AliasedDefinition :
# 1348| m1348_3(unknown) = InitializeNonLocal :
# 1348| m1348_4(unknown) = Chi : total:m1348_2, partial:m1348_3
# 1348| r1348_5(glval<bool>) = VariableAddress[b] :
# 1348| m1348_6(bool) = InitializeParameter[b] : &:r1348_5
# 1348| r1348_7(glval<int>) = VariableAddress[x] :
# 1348| m1348_8(int) = InitializeParameter[x] : &:r1348_7
# 1348| r1348_9(glval<long>) = VariableAddress[y] :
# 1348| m1348_10(long) = InitializeParameter[y] : &:r1348_9
# 1349| r1349_1(glval<int>) = VariableAddress[z] :
# 1349| r1349_2(glval<int>) = VariableAddress[x] :
# 1349| r1349_3(int) = Load[x] : &:r1349_2, m1348_8
# 1349| m1349_4(int) = Store[z] : &:r1349_1, r1349_3
# 1350| r1350_1(glval<bool>) = VariableAddress[b] :
# 1350| r1350_2(bool) = Load[b] : &:r1350_1, m1348_6
# 1350| v1350_3(void) = ConditionalBranch : r1350_2
#-----| False -> Block 3
#-----| True -> Block 2
# 1350| Block 1
# 1350| m1350_4(int) = Phi : from 2:m1350_10, from 3:m1350_14
# 1350| r1350_5(glval<int>) = VariableAddress[#temp1350:9] :
# 1350| r1350_6(int) = Load[#temp1350:9] : &:r1350_5, m1350_4
# 1350| r1350_7(glval<int>) = VariableAddress[z] :
# 1350| m1350_8(int) = Store[z] : &:r1350_7, r1350_6
# 1351| r1351_1(glval<bool>) = VariableAddress[b] :
# 1351| r1351_2(bool) = Load[b] : &:r1351_1, m1348_6
# 1351| v1351_3(void) = ConditionalBranch : r1351_2
#-----| False -> Block 6
#-----| True -> Block 5
# 1350| Block 2
# 1350| r1350_9(glval<int>) = VariableAddress[#temp1350:9] :
# 1350| m1350_10(int) = Store[#temp1350:9] : &:r1350_9, r1350_2
#-----| Goto -> Block 1
# 1350| Block 3
# 1350| r1350_11(glval<int>) = VariableAddress[x] :
# 1350| r1350_12(int) = Load[x] : &:r1350_11, m1348_8
# 1350| r1350_13(glval<int>) = VariableAddress[#temp1350:9] :
# 1350| m1350_14(int) = Store[#temp1350:9] : &:r1350_13, r1350_12
#-----| Goto -> Block 1
# 1351| Block 4
# 1351| m1351_4(long) = Phi : from 5:m1351_11, from 6:m1351_15
# 1351| r1351_5(glval<long>) = VariableAddress[#temp1351:9] :
# 1351| r1351_6(long) = Load[#temp1351:9] : &:r1351_5, m1351_4
# 1351| r1351_7(int) = Convert : r1351_6
# 1351| r1351_8(glval<int>) = VariableAddress[z] :
# 1351| m1351_9(int) = Store[z] : &:r1351_8, r1351_7
# 1352| r1352_1(glval<int>) = VariableAddress[x] :
# 1352| r1352_2(int) = Load[x] : &:r1352_1, m1348_8
# 1352| r1352_3(int) = Constant[0] :
# 1352| r1352_4(bool) = CompareNE : r1352_2, r1352_3
# 1352| v1352_5(void) = ConditionalBranch : r1352_4
#-----| False -> Block 9
#-----| True -> Block 8
# 1351| Block 5
# 1351| r1351_10(glval<long>) = VariableAddress[#temp1351:9] :
# 1351| m1351_11(long) = Store[#temp1351:9] : &:r1351_10, r1351_2
#-----| Goto -> Block 4
# 1351| Block 6
# 1351| r1351_12(glval<long>) = VariableAddress[y] :
# 1351| r1351_13(long) = Load[y] : &:r1351_12, m1348_10
# 1351| r1351_14(glval<long>) = VariableAddress[#temp1351:9] :
# 1351| m1351_15(long) = Store[#temp1351:9] : &:r1351_14, r1351_13
#-----| Goto -> Block 4
# 1352| Block 7
# 1352| m1352_6(int) = Phi : from 8:m1352_12, from 9:m1352_16
# 1352| r1352_7(glval<int>) = VariableAddress[#temp1352:9] :
# 1352| r1352_8(int) = Load[#temp1352:9] : &:r1352_7, m1352_6
# 1352| r1352_9(glval<int>) = VariableAddress[z] :
# 1352| m1352_10(int) = Store[z] : &:r1352_9, r1352_8
# 1353| r1353_1(glval<int>) = VariableAddress[x] :
# 1353| r1353_2(int) = Load[x] : &:r1353_1, m1348_8
# 1353| r1353_3(int) = Constant[0] :
# 1353| r1353_4(bool) = CompareNE : r1353_2, r1353_3
# 1353| v1353_5(void) = ConditionalBranch : r1353_4
#-----| False -> Block 12
#-----| True -> Block 11
# 1352| Block 8
# 1352| r1352_11(glval<int>) = VariableAddress[#temp1352:9] :
# 1352| m1352_12(int) = Store[#temp1352:9] : &:r1352_11, r1352_2
#-----| Goto -> Block 7
# 1352| Block 9
# 1352| r1352_13(glval<int>) = VariableAddress[x] :
# 1352| r1352_14(int) = Load[x] : &:r1352_13, m1348_8
# 1352| r1352_15(glval<int>) = VariableAddress[#temp1352:9] :
# 1352| m1352_16(int) = Store[#temp1352:9] : &:r1352_15, r1352_14
#-----| Goto -> Block 7
# 1353| Block 10
# 1353| m1353_6(long) = Phi : from 11:m1353_13, from 12:m1353_17
# 1353| r1353_7(glval<long>) = VariableAddress[#temp1353:9] :
# 1353| r1353_8(long) = Load[#temp1353:9] : &:r1353_7, m1353_6
# 1353| r1353_9(int) = Convert : r1353_8
# 1353| r1353_10(glval<int>) = VariableAddress[z] :
# 1353| m1353_11(int) = Store[z] : &:r1353_10, r1353_9
# 1354| r1354_1(glval<long>) = VariableAddress[y] :
# 1354| r1354_2(long) = Load[y] : &:r1354_1, m1348_10
# 1354| r1354_3(long) = Constant[0] :
# 1354| r1354_4(bool) = CompareNE : r1354_2, r1354_3
# 1354| v1354_5(void) = ConditionalBranch : r1354_4
#-----| False -> Block 15
#-----| True -> Block 14
# 1353| Block 11
# 1353| r1353_12(glval<long>) = VariableAddress[#temp1353:9] :
# 1353| m1353_13(long) = Store[#temp1353:9] : &:r1353_12, r1353_2
#-----| Goto -> Block 10
# 1353| Block 12
# 1353| r1353_14(glval<long>) = VariableAddress[y] :
# 1353| r1353_15(long) = Load[y] : &:r1353_14, m1348_10
# 1353| r1353_16(glval<long>) = VariableAddress[#temp1353:9] :
# 1353| m1353_17(long) = Store[#temp1353:9] : &:r1353_16, r1353_15
#-----| Goto -> Block 10
# 1354| Block 13
# 1354| m1354_6(long) = Phi : from 14:m1354_13, from 15:m1354_18
# 1354| r1354_7(glval<long>) = VariableAddress[#temp1354:9] :
# 1354| r1354_8(long) = Load[#temp1354:9] : &:r1354_7, m1354_6
# 1354| r1354_9(int) = Convert : r1354_8
# 1354| r1354_10(glval<int>) = VariableAddress[z] :
# 1354| m1354_11(int) = Store[z] : &:r1354_10, r1354_9
# 1355| r1355_1(glval<long>) = VariableAddress[y] :
# 1355| r1355_2(long) = Load[y] : &:r1355_1, m1348_10
# 1355| r1355_3(long) = Constant[0] :
# 1355| r1355_4(bool) = CompareNE : r1355_2, r1355_3
# 1355| v1355_5(void) = ConditionalBranch : r1355_4
#-----| False -> Block 18
#-----| True -> Block 17
# 1354| Block 14
# 1354| r1354_12(glval<long>) = VariableAddress[#temp1354:9] :
# 1354| m1354_13(long) = Store[#temp1354:9] : &:r1354_12, r1354_2
#-----| Goto -> Block 13
# 1354| Block 15
# 1354| r1354_14(glval<int>) = VariableAddress[x] :
# 1354| r1354_15(int) = Load[x] : &:r1354_14, m1348_8
# 1354| r1354_16(long) = Convert : r1354_15
# 1354| r1354_17(glval<long>) = VariableAddress[#temp1354:9] :
# 1354| m1354_18(long) = Store[#temp1354:9] : &:r1354_17, r1354_16
#-----| Goto -> Block 13
# 1355| Block 16
# 1355| m1355_6(long) = Phi : from 17:m1355_13, from 18:m1355_17
# 1355| r1355_7(glval<long>) = VariableAddress[#temp1355:9] :
# 1355| r1355_8(long) = Load[#temp1355:9] : &:r1355_7, m1355_6
# 1355| r1355_9(int) = Convert : r1355_8
# 1355| r1355_10(glval<int>) = VariableAddress[z] :
# 1355| m1355_11(int) = Store[z] : &:r1355_10, r1355_9
# 1357| r1357_1(glval<int>) = VariableAddress[x] :
# 1357| r1357_2(int) = Load[x] : &:r1357_1, m1348_8
# 1357| r1357_3(int) = Constant[0] :
# 1357| r1357_4(bool) = CompareNE : r1357_2, r1357_3
# 1357| v1357_5(void) = ConditionalBranch : r1357_4
#-----| False -> Block 25
#-----| True -> Block 24
# 1355| Block 17
# 1355| r1355_12(glval<long>) = VariableAddress[#temp1355:9] :
# 1355| m1355_13(long) = Store[#temp1355:9] : &:r1355_12, r1355_2
#-----| Goto -> Block 16
# 1355| Block 18
# 1355| r1355_14(glval<long>) = VariableAddress[y] :
# 1355| r1355_15(long) = Load[y] : &:r1355_14, m1348_10
# 1355| r1355_16(glval<long>) = VariableAddress[#temp1355:9] :
# 1355| m1355_17(long) = Store[#temp1355:9] : &:r1355_16, r1355_15
#-----| Goto -> Block 16
# 1357| Block 19
# 1357| m1357_6(int) = Phi : from 20:m1357_12, from 26:m1357_34
# 1357| r1357_7(glval<int>) = VariableAddress[#temp1357:9] :
# 1357| r1357_8(int) = Load[#temp1357:9] : &:r1357_7, m1357_6
# 1357| r1357_9(glval<int>) = VariableAddress[z] :
# 1357| m1357_10(int) = Store[z] : &:r1357_9, r1357_8
# 1358| v1358_1(void) = NoOp :
# 1348| v1348_11(void) = ReturnVoid :
# 1348| v1348_12(void) = AliasedUse : m1348_3
# 1348| v1348_13(void) = ExitFunction :
# 1357| Block 20
# 1357| r1357_11(glval<int>) = VariableAddress[#temp1357:9] :
# 1357| m1357_12(int) = Store[#temp1357:9] : &:r1357_11, r1357_18
#-----| Goto -> Block 19
# 1357| Block 21
# 1357| r1357_13(glval<bool>) = VariableAddress[#temp1357:10] :
# 1357| r1357_14(bool) = Constant[0] :
# 1357| m1357_15(bool) = Store[#temp1357:10] : &:r1357_13, r1357_14
#-----| Goto -> Block 22
# 1357| Block 22
# 1357| m1357_16(bool) = Phi : from 21:m1357_15, from 23:m1357_22
# 1357| r1357_17(glval<bool>) = VariableAddress[#temp1357:10] :
# 1357| r1357_18(bool) = Load[#temp1357:10] : &:r1357_17, m1357_16
# 1357| v1357_19(void) = ConditionalBranch : r1357_18
#-----| False -> Block 26
#-----| True -> Block 20
# 1357| Block 23
# 1357| r1357_20(glval<bool>) = VariableAddress[#temp1357:10] :
# 1357| r1357_21(bool) = Constant[1] :
# 1357| m1357_22(bool) = Store[#temp1357:10] : &:r1357_20, r1357_21
#-----| Goto -> Block 22
# 1357| Block 24
# 1357| r1357_23(glval<bool>) = VariableAddress[b] :
# 1357| r1357_24(bool) = Load[b] : &:r1357_23, m1348_6
# 1357| v1357_25(void) = ConditionalBranch : r1357_24
#-----| False -> Block 25
#-----| True -> Block 23
# 1357| Block 25
# 1357| r1357_26(glval<long>) = VariableAddress[y] :
# 1357| r1357_27(long) = Load[y] : &:r1357_26, m1348_10
# 1357| r1357_28(long) = Constant[0] :
# 1357| r1357_29(bool) = CompareNE : r1357_27, r1357_28
# 1357| v1357_30(void) = ConditionalBranch : r1357_29
#-----| False -> Block 21
#-----| True -> Block 23
# 1357| Block 26
# 1357| r1357_31(glval<int>) = VariableAddress[x] :
# 1357| r1357_32(int) = Load[x] : &:r1357_31, m1348_8
# 1357| r1357_33(glval<int>) = VariableAddress[#temp1357:9] :
# 1357| m1357_34(int) = Store[#temp1357:9] : &:r1357_33, r1357_32
#-----| Goto -> Block 19
# 1363| int shortCircuitConditional(int, int)
# 1363| Block 0
# 1363| v1363_1(void) = EnterFunction :
# 1363| m1363_2(unknown) = AliasedDefinition :
# 1363| m1363_3(unknown) = InitializeNonLocal :
# 1363| m1363_4(unknown) = Chi : total:m1363_2, partial:m1363_3
# 1363| r1363_5(glval<int>) = VariableAddress[x] :
# 1363| m1363_6(int) = InitializeParameter[x] : &:r1363_5
# 1363| r1363_7(glval<int>) = VariableAddress[y] :
# 1363| m1363_8(int) = InitializeParameter[y] : &:r1363_7
# 1364| r1364_1(glval<int>) = VariableAddress[#return] :
# 1364| r1364_2(glval<unknown>) = FunctionAddress[predicateA] :
# 1364| r1364_3(bool) = Call[predicateA] : func:r1364_2
# 1364| m1364_4(unknown) = ^CallSideEffect : ~m1363_4
# 1364| m1364_5(unknown) = Chi : total:m1363_4, partial:m1364_4
# 1364| v1364_6(void) = ConditionalBranch : r1364_3
#-----| False -> Block 4
#-----| True -> Block 2
# 1364| Block 1
# 1364| m1364_7(unknown) = Phi : from 3:~m1364_15, from 4:~m1364_21
# 1364| m1364_8(int) = Phi : from 3:m1364_20, from 4:m1364_25
# 1364| r1364_9(glval<int>) = VariableAddress[#temp1364:12] :
# 1364| r1364_10(int) = Load[#temp1364:12] : &:r1364_9, m1364_8
# 1364| m1364_11(int) = Store[#return] : &:r1364_1, r1364_10
# 1363| r1363_9(glval<int>) = VariableAddress[#return] :
# 1363| v1363_10(void) = ReturnValue : &:r1363_9, m1364_11
# 1363| v1363_11(void) = AliasedUse : ~m1364_7
# 1363| v1363_12(void) = ExitFunction :
# 1364| Block 2
# 1364| r1364_12(glval<unknown>) = FunctionAddress[predicateB] :
# 1364| r1364_13(bool) = Call[predicateB] : func:r1364_12
# 1364| m1364_14(unknown) = ^CallSideEffect : ~m1364_5
# 1364| m1364_15(unknown) = Chi : total:m1364_5, partial:m1364_14
# 1364| v1364_16(void) = ConditionalBranch : r1364_13
#-----| False -> Block 4
#-----| True -> Block 3
# 1364| Block 3
# 1364| r1364_17(glval<int>) = VariableAddress[x] :
# 1364| r1364_18(int) = Load[x] : &:r1364_17, m1363_6
# 1364| r1364_19(glval<int>) = VariableAddress[#temp1364:12] :
# 1364| m1364_20(int) = Store[#temp1364:12] : &:r1364_19, r1364_18
#-----| Goto -> Block 1
# 1364| Block 4
# 1364| m1364_21(unknown) = Phi : from 0:~m1364_5, from 2:~m1364_15
# 1364| r1364_22(glval<int>) = VariableAddress[y] :
# 1364| r1364_23(int) = Load[y] : &:r1364_22, m1363_8
# 1364| r1364_24(glval<int>) = VariableAddress[#temp1364:12] :
# 1364| m1364_25(int) = Store[#temp1364:12] : &:r1364_24, r1364_23
#-----| Goto -> Block 1
# 1369| void f(int*)
# 1369| Block 0
# 1369| v1369_1(void) = EnterFunction :
# 1369| m1369_2(unknown) = AliasedDefinition :
# 1369| m1369_3(unknown) = InitializeNonLocal :
# 1369| m1369_4(unknown) = Chi : total:m1369_2, partial:m1369_3
# 1369| r1369_5(glval<int *>) = VariableAddress[p] :
# 1369| m1369_6(int *) = InitializeParameter[p] : &:r1369_5
# 1369| r1369_7(int *) = Load[p] : &:r1369_5, m1369_6
# 1369| m1369_8(unknown) = InitializeIndirection[p] : &:r1369_7
# 1369| m1369_9(unknown) = Chi : total:m1369_4, partial:m1369_8
# 1371| r1371_1(glval<unknown>) = FunctionAddress[operator new] :
# 1371| r1371_2(unsigned long) = Constant[4] :
# 1371| r1371_3(glval<int *>) = VariableAddress[p] :
# 1371| r1371_4(int *) = Load[p] : &:r1371_3, m1369_6
# 1371| r1371_5(void *) = Convert : r1371_4
# 1371| r1371_6(void *) = Call[operator new] : func:r1371_1, 0:r1371_2, 1:r1371_5
# 1371| m1371_7(unknown) = ^CallSideEffect : ~m1369_9
# 1371| m1371_8(unknown) = Chi : total:m1369_9, partial:m1371_7
# 1371| m1371_9(unknown) = ^InitializeDynamicAllocation : &:r1371_6
# 1371| r1371_10(int *) = Convert : r1371_6
# 1372| v1372_1(void) = NoOp :
# 1369| v1369_10(void) = ReturnIndirection[p] : &:r1369_7, ~m1371_8
# 1369| v1369_11(void) = ReturnVoid :
# 1369| v1369_12(void) = AliasedUse : ~m1371_8
# 1369| v1369_13(void) = ExitFunction :
# 1375| Point defaultConstruct<Point>()
# 1375| Block 0
# 1375| v1375_1(void) = EnterFunction :
# 1375| m1375_2(unknown) = AliasedDefinition :
# 1375| m1375_3(unknown) = InitializeNonLocal :
# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3
# 1376| r1376_1(glval<Point>) = VariableAddress[#return] :
# 1376| r1376_2(Point) = Constant[0] :
# 1376| m1376_3(Point) = Store[#return] : &:r1376_1, r1376_2
# 1375| r1375_5(glval<Point>) = VariableAddress[#return] :
# 1375| v1375_6(void) = ReturnValue : &:r1375_5, m1376_3
# 1375| v1375_7(void) = AliasedUse : m1375_3
# 1375| v1375_8(void) = ExitFunction :
# 1375| String defaultConstruct<String>()
# 1375| Block 0
# 1375| v1375_1(void) = EnterFunction :
# 1375| m1375_2(unknown) = AliasedDefinition :
# 1375| m1375_3(unknown) = InitializeNonLocal :
# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3
# 1376| r1376_1(glval<String>) = VariableAddress[#return] :
# 1376| m1376_2(String) = Uninitialized[#return] : &:r1376_1
# 1376| m1376_3(unknown) = Chi : total:m1375_4, partial:m1376_2
# 1376| r1376_4(glval<unknown>) = FunctionAddress[String] :
# 1376| v1376_5(void) = Call[String] : func:r1376_4, this:r1376_1
# 1376| m1376_6(unknown) = ^CallSideEffect : ~m1376_3
# 1376| m1376_7(unknown) = Chi : total:m1376_3, partial:m1376_6
# 1376| m1376_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r1376_1
# 1376| m1376_9(unknown) = Chi : total:m1376_7, partial:m1376_8
# 1375| r1375_5(glval<String>) = VariableAddress[#return] :
# 1375| v1375_6(void) = ReturnValue : &:r1375_5, ~m1376_9
# 1375| v1375_7(void) = AliasedUse : ~m1376_7
# 1375| v1375_8(void) = ExitFunction :
# 1375| copy_constructor defaultConstruct<copy_constructor>()
# 1375| Block 0
# 1375| v1375_1(void) = EnterFunction :
# 1375| m1375_2(unknown) = AliasedDefinition :
# 1375| m1375_3(unknown) = InitializeNonLocal :
# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3
# 1376| r1376_1(glval<copy_constructor>) = VariableAddress[#return] :
# 1376| m1376_2(copy_constructor) = Uninitialized[#return] : &:r1376_1
# 1376| m1376_3(unknown) = Chi : total:m1375_4, partial:m1376_2
# 1376| r1376_4(glval<unknown>) = FunctionAddress[copy_constructor] :
# 1376| v1376_5(void) = Call[copy_constructor] : func:r1376_4, this:r1376_1
# 1376| m1376_6(unknown) = ^CallSideEffect : ~m1376_3
# 1376| m1376_7(unknown) = Chi : total:m1376_3, partial:m1376_6
# 1376| m1376_8(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1376_1
# 1376| m1376_9(unknown) = Chi : total:m1376_7, partial:m1376_8
# 1375| r1375_5(glval<copy_constructor>) = VariableAddress[#return] :
# 1375| v1375_6(void) = ReturnValue : &:r1375_5, ~m1376_9
# 1375| v1375_7(void) = AliasedUse : ~m1376_7
# 1375| v1375_8(void) = ExitFunction :
# 1375| destructor_only defaultConstruct<destructor_only>()
# 1375| Block 0
# 1375| v1375_1(void) = EnterFunction :
# 1375| m1375_2(unknown) = AliasedDefinition :
# 1375| m1375_3(unknown) = InitializeNonLocal :
# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3
# 1376| r1376_1(glval<destructor_only>) = VariableAddress[#return] :
# 1376| r1376_2(destructor_only) = Constant[0] :
# 1376| m1376_3(destructor_only) = Store[#return] : &:r1376_1, r1376_2
# 1375| r1375_5(glval<destructor_only>) = VariableAddress[#return] :
# 1375| v1375_6(void) = ReturnValue : &:r1375_5, m1376_3
# 1375| v1375_7(void) = AliasedUse : m1375_3
# 1375| v1375_8(void) = ExitFunction :
# 1414| void temporary_string()
# 1414| Block 0
# 1414| v1414_1(void) = EnterFunction :
# 1414| m1414_2(unknown) = AliasedDefinition :
# 1414| m1414_3(unknown) = InitializeNonLocal :
# 1414| m1414_4(unknown) = Chi : total:m1414_2, partial:m1414_3
# 1415| r1415_1(glval<String>) = VariableAddress[s] :
# 1415| r1415_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1415| r1415_3(String) = Call[returnValue] : func:r1415_2
# 1415| m1415_4(unknown) = ^CallSideEffect : ~m1414_4
# 1415| m1415_5(unknown) = Chi : total:m1414_4, partial:m1415_4
# 1415| m1415_6(String) = Store[s] : &:r1415_1, r1415_3
# 1415| m1415_7(unknown) = Chi : total:m1415_5, partial:m1415_6
# 1416| r1416_1(glval<String &>) = VariableAddress[rs] :
# 1416| r1416_2(glval<String>) = VariableAddress[#temp1416:24] :
# 1416| r1416_3(glval<unknown>) = FunctionAddress[returnValue] :
# 1416| r1416_4(String) = Call[returnValue] : func:r1416_3
# 1416| m1416_5(unknown) = ^CallSideEffect : ~m1415_7
# 1416| m1416_6(unknown) = Chi : total:m1415_7, partial:m1416_5
# 1416| m1416_7(String) = Store[#temp1416:24] : &:r1416_2, r1416_4
# 1416| m1416_8(unknown) = Chi : total:m1416_6, partial:m1416_7
# 1416| r1416_9(glval<String>) = Convert : r1416_2
# 1416| r1416_10(String &) = CopyValue : r1416_9
# 1416| m1416_11(String &) = Store[rs] : &:r1416_1, r1416_10
# 1418| r1418_1(glval<unknown>) = FunctionAddress[acceptRef] :
# 1418| r1418_2(glval<String>) = VariableAddress[s] :
# 1418| r1418_3(glval<String>) = Convert : r1418_2
# 1418| r1418_4(String &) = CopyValue : r1418_3
# 1418| v1418_5(void) = Call[acceptRef] : func:r1418_1, 0:r1418_4
# 1418| m1418_6(unknown) = ^CallSideEffect : ~m1416_8
# 1418| m1418_7(unknown) = Chi : total:m1416_8, partial:m1418_6
# 1418| v1418_8(void) = ^BufferReadSideEffect[0] : &:r1418_4, ~m1418_7
# 1419| r1419_1(glval<unknown>) = FunctionAddress[acceptRef] :
# 1419| r1419_2(glval<String>) = VariableAddress[#temp1419:23] :
# 1419| m1419_3(String) = Uninitialized[#temp1419:23] : &:r1419_2
# 1419| m1419_4(unknown) = Chi : total:m1418_7, partial:m1419_3
# 1419| r1419_5(glval<unknown>) = FunctionAddress[String] :
# 1419| r1419_6(glval<char[4]>) = StringConstant["foo"] :
# 1419| r1419_7(char *) = Convert : r1419_6
# 1419| v1419_8(void) = Call[String] : func:r1419_5, this:r1419_2, 0:r1419_7
# 1419| m1419_9(unknown) = ^CallSideEffect : ~m1419_4
# 1419| m1419_10(unknown) = Chi : total:m1419_4, partial:m1419_9
# 1419| v1419_11(void) = ^BufferReadSideEffect[0] : &:r1419_7, ~m1414_3
# 1419| m1419_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r1419_2
# 1419| m1419_13(unknown) = Chi : total:m1419_10, partial:m1419_12
# 1419| r1419_14(String &) = CopyValue : r1419_2
# 1419| v1419_15(void) = Call[acceptRef] : func:r1419_1, 0:r1419_14
# 1419| m1419_16(unknown) = ^CallSideEffect : ~m1419_13
# 1419| m1419_17(unknown) = Chi : total:m1419_13, partial:m1419_16
# 1419| v1419_18(void) = ^BufferReadSideEffect[0] : &:r1419_14, ~m1419_17
# 1419| r1419_19(glval<String>) = CopyValue : r1419_2
# 1419| r1419_20(glval<unknown>) = FunctionAddress[~String] :
# 1419| v1419_21(void) = Call[~String] : func:r1419_20, this:r1419_19
# 1419| m1419_22(unknown) = ^CallSideEffect : ~m1419_17
# 1419| m1419_23(unknown) = Chi : total:m1419_17, partial:m1419_22
# 1419| v1419_24(void) = ^IndirectReadSideEffect[-1] : &:r1419_19, ~m1419_23
# 1419| m1419_25(String) = ^IndirectMayWriteSideEffect[-1] : &:r1419_19
# 1419| m1419_26(unknown) = Chi : total:m1419_23, partial:m1419_25
# 1420| r1420_1(glval<unknown>) = FunctionAddress[acceptValue] :
# 1420| r1420_2(glval<String>) = VariableAddress[#temp1420:17] :
# 1420| m1420_3(String) = Uninitialized[#temp1420:17] : &:r1420_2
# 1420| m1420_4(unknown) = Chi : total:m1419_26, partial:m1420_3
# 1420| r1420_5(glval<unknown>) = FunctionAddress[String] :
# 1420| r1420_6(glval<String>) = VariableAddress[s] :
# 1420| r1420_7(glval<String>) = Convert : r1420_6
# 1420| r1420_8(String &) = CopyValue : r1420_7
# 1420| v1420_9(void) = Call[String] : func:r1420_5, this:r1420_2, 0:r1420_8
# 1420| m1420_10(unknown) = ^CallSideEffect : ~m1420_4
# 1420| m1420_11(unknown) = Chi : total:m1420_4, partial:m1420_10
# 1420| v1420_12(void) = ^BufferReadSideEffect[0] : &:r1420_8, ~m1420_11
# 1420| m1420_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1420_2
# 1420| m1420_14(unknown) = Chi : total:m1420_11, partial:m1420_13
# 1420| r1420_15(String) = Load[#temp1420:17] : &:r1420_2, ~m1420_14
# 1420| v1420_16(void) = Call[acceptValue] : func:r1420_1, 0:r1420_15
# 1420| m1420_17(unknown) = ^CallSideEffect : ~m1420_14
# 1420| m1420_18(unknown) = Chi : total:m1420_14, partial:m1420_17
# 1420| r1420_19(glval<String>) = CopyValue : r1420_2
# 1420| r1420_20(glval<unknown>) = FunctionAddress[~String] :
# 1420| v1420_21(void) = Call[~String] : func:r1420_20, this:r1420_19
# 1420| m1420_22(unknown) = ^CallSideEffect : ~m1420_18
# 1420| m1420_23(unknown) = Chi : total:m1420_18, partial:m1420_22
# 1420| v1420_24(void) = ^IndirectReadSideEffect[-1] : &:r1420_19, ~m1420_23
# 1420| m1420_25(String) = ^IndirectMayWriteSideEffect[-1] : &:r1420_19
# 1420| m1420_26(unknown) = Chi : total:m1420_23, partial:m1420_25
# 1421| r1421_1(glval<unknown>) = FunctionAddress[acceptValue] :
# 1421| r1421_2(glval<String>) = VariableAddress[#temp1421:25] :
# 1421| m1421_3(String) = Uninitialized[#temp1421:25] : &:r1421_2
# 1421| m1421_4(unknown) = Chi : total:m1420_26, partial:m1421_3
# 1421| r1421_5(glval<unknown>) = FunctionAddress[String] :
# 1421| r1421_6(glval<char[4]>) = StringConstant["foo"] :
# 1421| r1421_7(char *) = Convert : r1421_6
# 1421| v1421_8(void) = Call[String] : func:r1421_5, this:r1421_2, 0:r1421_7
# 1421| m1421_9(unknown) = ^CallSideEffect : ~m1421_4
# 1421| m1421_10(unknown) = Chi : total:m1421_4, partial:m1421_9
# 1421| v1421_11(void) = ^BufferReadSideEffect[0] : &:r1421_7, ~m1414_3
# 1421| m1421_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r1421_2
# 1421| m1421_13(unknown) = Chi : total:m1421_10, partial:m1421_12
# 1421| r1421_14(String) = Load[#temp1421:25] : &:r1421_2, ~m1421_13
# 1421| v1421_15(void) = Call[acceptValue] : func:r1421_1, 0:r1421_14
# 1421| m1421_16(unknown) = ^CallSideEffect : ~m1421_13
# 1421| m1421_17(unknown) = Chi : total:m1421_13, partial:m1421_16
# 1421| r1421_18(glval<String>) = CopyValue : r1421_2
# 1421| r1421_19(glval<unknown>) = FunctionAddress[~String] :
# 1421| v1421_20(void) = Call[~String] : func:r1421_19, this:r1421_18
# 1421| m1421_21(unknown) = ^CallSideEffect : ~m1421_17
# 1421| m1421_22(unknown) = Chi : total:m1421_17, partial:m1421_21
# 1421| v1421_23(void) = ^IndirectReadSideEffect[-1] : &:r1421_18, ~m1421_22
# 1421| m1421_24(String) = ^IndirectMayWriteSideEffect[-1] : &:r1421_18
# 1421| m1421_25(unknown) = Chi : total:m1421_22, partial:m1421_24
# 1422| r1422_1(glval<String>) = VariableAddress[#temp1422:5] :
# 1422| m1422_2(String) = Uninitialized[#temp1422:5] : &:r1422_1
# 1422| m1422_3(unknown) = Chi : total:m1421_25, partial:m1422_2
# 1422| r1422_4(glval<unknown>) = FunctionAddress[String] :
# 1422| v1422_5(void) = Call[String] : func:r1422_4, this:r1422_1
# 1422| m1422_6(unknown) = ^CallSideEffect : ~m1422_3
# 1422| m1422_7(unknown) = Chi : total:m1422_3, partial:m1422_6
# 1422| m1422_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r1422_1
# 1422| m1422_9(unknown) = Chi : total:m1422_7, partial:m1422_8
# 1422| r1422_10(glval<String>) = Convert : r1422_1
# 1422| r1422_11(glval<unknown>) = FunctionAddress[c_str] :
# 1422| r1422_12(char *) = Call[c_str] : func:r1422_11, this:r1422_10
# 1422| m1422_13(unknown) = ^CallSideEffect : ~m1422_9
# 1422| m1422_14(unknown) = Chi : total:m1422_9, partial:m1422_13
# 1422| v1422_15(void) = ^IndirectReadSideEffect[-1] : &:r1422_10, ~m1422_14
# 1422| r1422_16(glval<String>) = CopyValue : r1422_1
# 1422| r1422_17(glval<unknown>) = FunctionAddress[~String] :
# 1422| v1422_18(void) = Call[~String] : func:r1422_17, this:r1422_16
# 1422| m1422_19(unknown) = ^CallSideEffect : ~m1422_14
# 1422| m1422_20(unknown) = Chi : total:m1422_14, partial:m1422_19
# 1422| v1422_21(void) = ^IndirectReadSideEffect[-1] : &:r1422_16, ~m1422_20
# 1422| m1422_22(String) = ^IndirectMayWriteSideEffect[-1] : &:r1422_16
# 1422| m1422_23(unknown) = Chi : total:m1422_20, partial:m1422_22
# 1423| r1423_1(glval<String>) = VariableAddress[#temp1423:5] :
# 1423| r1423_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1423| r1423_3(String) = Call[returnValue] : func:r1423_2
# 1423| m1423_4(unknown) = ^CallSideEffect : ~m1422_23
# 1423| m1423_5(unknown) = Chi : total:m1422_23, partial:m1423_4
# 1423| m1423_6(String) = Store[#temp1423:5] : &:r1423_1, r1423_3
# 1423| m1423_7(unknown) = Chi : total:m1423_5, partial:m1423_6
# 1423| r1423_8(glval<String>) = Convert : r1423_1
# 1423| r1423_9(glval<unknown>) = FunctionAddress[c_str] :
# 1423| r1423_10(char *) = Call[c_str] : func:r1423_9, this:r1423_8
# 1423| m1423_11(unknown) = ^CallSideEffect : ~m1423_7
# 1423| m1423_12(unknown) = Chi : total:m1423_7, partial:m1423_11
# 1423| v1423_13(void) = ^IndirectReadSideEffect[-1] : &:r1423_8, ~m1423_12
# 1423| r1423_14(glval<String>) = CopyValue : r1423_1
# 1423| r1423_15(glval<unknown>) = FunctionAddress[~String] :
# 1423| v1423_16(void) = Call[~String] : func:r1423_15, this:r1423_14
# 1423| m1423_17(unknown) = ^CallSideEffect : ~m1423_12
# 1423| m1423_18(unknown) = Chi : total:m1423_12, partial:m1423_17
# 1423| v1423_19(void) = ^IndirectReadSideEffect[-1] : &:r1423_14, ~m1423_18
# 1423| m1423_20(String) = ^IndirectMayWriteSideEffect[-1] : &:r1423_14
# 1423| m1423_21(unknown) = Chi : total:m1423_18, partial:m1423_20
# 1425| r1425_1(glval<String>) = VariableAddress[#temp1425:5] :
# 1425| r1425_2(glval<unknown>) = FunctionAddress[defaultConstruct] :
# 1425| r1425_3(String) = Call[defaultConstruct] : func:r1425_2
# 1425| m1425_4(unknown) = ^CallSideEffect : ~m1423_21
# 1425| m1425_5(unknown) = Chi : total:m1423_21, partial:m1425_4
# 1425| m1425_6(String) = Store[#temp1425:5] : &:r1425_1, r1425_3
# 1425| m1425_7(unknown) = Chi : total:m1425_5, partial:m1425_6
# 1425| r1425_8(glval<String>) = CopyValue : r1425_1
# 1425| r1425_9(glval<unknown>) = FunctionAddress[~String] :
# 1425| v1425_10(void) = Call[~String] : func:r1425_9, this:r1425_8
# 1425| m1425_11(unknown) = ^CallSideEffect : ~m1425_7
# 1425| m1425_12(unknown) = Chi : total:m1425_7, partial:m1425_11
# 1425| v1425_13(void) = ^IndirectReadSideEffect[-1] : &:r1425_8, ~m1425_12
# 1425| m1425_14(String) = ^IndirectMayWriteSideEffect[-1] : &:r1425_8
# 1425| m1425_15(unknown) = Chi : total:m1425_12, partial:m1425_14
# 1426| v1426_1(void) = NoOp :
# 1426| r1426_2(glval<String>) = CopyValue : r1416_2
# 1426| r1426_3(glval<unknown>) = FunctionAddress[~String] :
# 1426| v1426_4(void) = Call[~String] : func:r1426_3, this:r1426_2
# 1426| m1426_5(unknown) = ^CallSideEffect : ~m1425_15
# 1426| m1426_6(unknown) = Chi : total:m1425_15, partial:m1426_5
# 1426| v1426_7(void) = ^IndirectReadSideEffect[-1] : &:r1426_2, ~m1426_6
# 1426| m1426_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r1426_2
# 1426| m1426_9(unknown) = Chi : total:m1426_6, partial:m1426_8
# 1426| r1426_10(glval<String>) = VariableAddress[s] :
# 1426| r1426_11(glval<unknown>) = FunctionAddress[~String] :
# 1426| v1426_12(void) = Call[~String] : func:r1426_11, this:r1426_10
# 1426| m1426_13(unknown) = ^CallSideEffect : ~m1426_9
# 1426| m1426_14(unknown) = Chi : total:m1426_9, partial:m1426_13
# 1426| v1426_15(void) = ^IndirectReadSideEffect[-1] : &:r1426_10, ~m1426_14
# 1426| m1426_16(String) = ^IndirectMayWriteSideEffect[-1] : &:r1426_10
# 1426| m1426_17(unknown) = Chi : total:m1426_14, partial:m1426_16
# 1414| v1414_5(void) = ReturnVoid :
# 1414| v1414_6(void) = AliasedUse : ~m1426_14
# 1414| v1414_7(void) = ExitFunction :
# 1428| void temporary_destructor_only()
# 1428| Block 0
# 1428| v1428_1(void) = EnterFunction :
# 1428| m1428_2(unknown) = AliasedDefinition :
# 1428| m1428_3(unknown) = InitializeNonLocal :
# 1428| m1428_4(unknown) = Chi : total:m1428_2, partial:m1428_3
# 1429| r1429_1(glval<destructor_only>) = VariableAddress[d] :
# 1429| r1429_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1429| r1429_3(destructor_only) = Call[returnValue] : func:r1429_2
# 1429| m1429_4(unknown) = ^CallSideEffect : ~m1428_4
# 1429| m1429_5(unknown) = Chi : total:m1428_4, partial:m1429_4
# 1429| m1429_6(destructor_only) = Store[d] : &:r1429_1, r1429_3
# 1429| m1429_7(unknown) = Chi : total:m1429_5, partial:m1429_6
# 1430| r1430_1(glval<destructor_only &>) = VariableAddress[rd] :
# 1430| r1430_2(glval<destructor_only>) = VariableAddress[#temp1430:33] :
# 1430| r1430_3(glval<unknown>) = FunctionAddress[returnValue] :
# 1430| r1430_4(destructor_only) = Call[returnValue] : func:r1430_3
# 1430| m1430_5(unknown) = ^CallSideEffect : ~m1429_7
# 1430| m1430_6(unknown) = Chi : total:m1429_7, partial:m1430_5
# 1430| m1430_7(destructor_only) = Store[#temp1430:33] : &:r1430_2, r1430_4
# 1430| m1430_8(unknown) = Chi : total:m1430_6, partial:m1430_7
# 1430| r1430_9(glval<destructor_only>) = Convert : r1430_2
# 1430| r1430_10(destructor_only &) = CopyValue : r1430_9
# 1430| m1430_11(destructor_only &) = Store[rd] : &:r1430_1, r1430_10
# 1431| r1431_1(glval<destructor_only>) = VariableAddress[d2] :
# 1431| m1431_2(destructor_only) = Uninitialized[d2] : &:r1431_1
# 1431| m1431_3(unknown) = Chi : total:m1430_8, partial:m1431_2
# 1432| r1432_1(glval<unknown>) = FunctionAddress[acceptRef] :
# 1432| r1432_2(glval<destructor_only>) = VariableAddress[d] :
# 1432| r1432_3(glval<destructor_only>) = Convert : r1432_2
# 1432| r1432_4(destructor_only &) = CopyValue : r1432_3
# 1432| v1432_5(void) = Call[acceptRef] : func:r1432_1, 0:r1432_4
# 1432| m1432_6(unknown) = ^CallSideEffect : ~m1431_3
# 1432| m1432_7(unknown) = Chi : total:m1431_3, partial:m1432_6
# 1432| v1432_8(void) = ^BufferReadSideEffect[0] : &:r1432_4, ~m1432_7
# 1433| r1433_1(glval<unknown>) = FunctionAddress[acceptValue] :
# 1433| r1433_2(glval<destructor_only>) = VariableAddress[#temp1433:17] :
# 1433| r1433_3(glval<destructor_only>) = VariableAddress[d] :
# 1433| r1433_4(destructor_only) = Load[d] : &:r1433_3, ~m1432_7
# 1433| m1433_5(destructor_only) = Store[#temp1433:17] : &:r1433_2, r1433_4
# 1433| m1433_6(unknown) = Chi : total:m1432_7, partial:m1433_5
# 1433| r1433_7(destructor_only) = Load[#temp1433:17] : &:r1433_2, m1433_5
# 1433| v1433_8(void) = Call[acceptValue] : func:r1433_1, 0:r1433_7
# 1433| m1433_9(unknown) = ^CallSideEffect : ~m1433_6
# 1433| m1433_10(unknown) = Chi : total:m1433_6, partial:m1433_9
# 1433| r1433_11(glval<destructor_only>) = CopyValue : r1433_2
# 1433| r1433_12(glval<unknown>) = FunctionAddress[~destructor_only] :
# 1433| v1433_13(void) = Call[~destructor_only] : func:r1433_12, this:r1433_11
# 1433| m1433_14(unknown) = ^CallSideEffect : ~m1433_10
# 1433| m1433_15(unknown) = Chi : total:m1433_10, partial:m1433_14
# 1433| v1433_16(void) = ^IndirectReadSideEffect[-1] : &:r1433_11, ~m1433_15
# 1433| m1433_17(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1433_11
# 1433| m1433_18(unknown) = Chi : total:m1433_15, partial:m1433_17
# 1434| r1434_1(glval<destructor_only>) = VariableAddress[#temp1434:5] :
# 1434| r1434_2(destructor_only) = Constant[0] :
# 1434| m1434_3(destructor_only) = Store[#temp1434:5] : &:r1434_1, r1434_2
# 1434| m1434_4(unknown) = Chi : total:m1433_18, partial:m1434_3
# 1434| r1434_5(glval<unknown>) = FunctionAddress[method] :
# 1434| v1434_6(void) = Call[method] : func:r1434_5, this:r1434_1
# 1434| m1434_7(unknown) = ^CallSideEffect : ~m1434_4
# 1434| m1434_8(unknown) = Chi : total:m1434_4, partial:m1434_7
# 1434| v1434_9(void) = ^IndirectReadSideEffect[-1] : &:r1434_1, ~m1434_8
# 1434| m1434_10(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1434_1
# 1434| m1434_11(unknown) = Chi : total:m1434_8, partial:m1434_10
# 1434| r1434_12(glval<destructor_only>) = CopyValue : r1434_1
# 1434| r1434_13(glval<unknown>) = FunctionAddress[~destructor_only] :
# 1434| v1434_14(void) = Call[~destructor_only] : func:r1434_13, this:r1434_12
# 1434| m1434_15(unknown) = ^CallSideEffect : ~m1434_11
# 1434| m1434_16(unknown) = Chi : total:m1434_11, partial:m1434_15
# 1434| v1434_17(void) = ^IndirectReadSideEffect[-1] : &:r1434_12, ~m1434_16
# 1434| m1434_18(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1434_12
# 1434| m1434_19(unknown) = Chi : total:m1434_16, partial:m1434_18
# 1435| r1435_1(glval<destructor_only>) = VariableAddress[#temp1435:5] :
# 1435| r1435_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1435| r1435_3(destructor_only) = Call[returnValue] : func:r1435_2
# 1435| m1435_4(unknown) = ^CallSideEffect : ~m1434_19
# 1435| m1435_5(unknown) = Chi : total:m1434_19, partial:m1435_4
# 1435| m1435_6(destructor_only) = Store[#temp1435:5] : &:r1435_1, r1435_3
# 1435| m1435_7(unknown) = Chi : total:m1435_5, partial:m1435_6
# 1435| r1435_8(glval<unknown>) = FunctionAddress[method] :
# 1435| v1435_9(void) = Call[method] : func:r1435_8, this:r1435_1
# 1435| m1435_10(unknown) = ^CallSideEffect : ~m1435_7
# 1435| m1435_11(unknown) = Chi : total:m1435_7, partial:m1435_10
# 1435| v1435_12(void) = ^IndirectReadSideEffect[-1] : &:r1435_1, ~m1435_11
# 1435| m1435_13(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1435_1
# 1435| m1435_14(unknown) = Chi : total:m1435_11, partial:m1435_13
# 1435| r1435_15(glval<destructor_only>) = CopyValue : r1435_1
# 1435| r1435_16(glval<unknown>) = FunctionAddress[~destructor_only] :
# 1435| v1435_17(void) = Call[~destructor_only] : func:r1435_16, this:r1435_15
# 1435| m1435_18(unknown) = ^CallSideEffect : ~m1435_14
# 1435| m1435_19(unknown) = Chi : total:m1435_14, partial:m1435_18
# 1435| v1435_20(void) = ^IndirectReadSideEffect[-1] : &:r1435_15, ~m1435_19
# 1435| m1435_21(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1435_15
# 1435| m1435_22(unknown) = Chi : total:m1435_19, partial:m1435_21
# 1437| r1437_1(glval<destructor_only>) = VariableAddress[#temp1437:5] :
# 1437| r1437_2(glval<unknown>) = FunctionAddress[defaultConstruct] :
# 1437| r1437_3(destructor_only) = Call[defaultConstruct] : func:r1437_2
# 1437| m1437_4(unknown) = ^CallSideEffect : ~m1435_22
# 1437| m1437_5(unknown) = Chi : total:m1435_22, partial:m1437_4
# 1437| m1437_6(destructor_only) = Store[#temp1437:5] : &:r1437_1, r1437_3
# 1437| m1437_7(unknown) = Chi : total:m1437_5, partial:m1437_6
# 1437| r1437_8(glval<destructor_only>) = CopyValue : r1437_1
# 1437| r1437_9(glval<unknown>) = FunctionAddress[~destructor_only] :
# 1437| v1437_10(void) = Call[~destructor_only] : func:r1437_9, this:r1437_8
# 1437| m1437_11(unknown) = ^CallSideEffect : ~m1437_7
# 1437| m1437_12(unknown) = Chi : total:m1437_7, partial:m1437_11
# 1437| v1437_13(void) = ^IndirectReadSideEffect[-1] : &:r1437_8, ~m1437_12
# 1437| m1437_14(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1437_8
# 1437| m1437_15(unknown) = Chi : total:m1437_12, partial:m1437_14
# 1438| v1438_1(void) = NoOp :
# 1438| r1438_2(glval<destructor_only>) = VariableAddress[d2] :
# 1438| r1438_3(glval<unknown>) = FunctionAddress[~destructor_only] :
# 1438| v1438_4(void) = Call[~destructor_only] : func:r1438_3, this:r1438_2
# 1438| m1438_5(unknown) = ^CallSideEffect : ~m1437_15
# 1438| m1438_6(unknown) = Chi : total:m1437_15, partial:m1438_5
# 1438| v1438_7(void) = ^IndirectReadSideEffect[-1] : &:r1438_2, ~m1438_6
# 1438| m1438_8(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1438_2
# 1438| m1438_9(unknown) = Chi : total:m1438_6, partial:m1438_8
# 1438| r1438_10(glval<destructor_only>) = CopyValue : r1430_2
# 1438| r1438_11(glval<unknown>) = FunctionAddress[~destructor_only] :
# 1438| v1438_12(void) = Call[~destructor_only] : func:r1438_11, this:r1438_10
# 1438| m1438_13(unknown) = ^CallSideEffect : ~m1438_9
# 1438| m1438_14(unknown) = Chi : total:m1438_9, partial:m1438_13
# 1438| v1438_15(void) = ^IndirectReadSideEffect[-1] : &:r1438_10, ~m1438_14
# 1438| m1438_16(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1438_10
# 1438| m1438_17(unknown) = Chi : total:m1438_14, partial:m1438_16
# 1438| r1438_18(glval<destructor_only>) = VariableAddress[d] :
# 1438| r1438_19(glval<unknown>) = FunctionAddress[~destructor_only] :
# 1438| v1438_20(void) = Call[~destructor_only] : func:r1438_19, this:r1438_18
# 1438| m1438_21(unknown) = ^CallSideEffect : ~m1438_17
# 1438| m1438_22(unknown) = Chi : total:m1438_17, partial:m1438_21
# 1438| v1438_23(void) = ^IndirectReadSideEffect[-1] : &:r1438_18, ~m1438_22
# 1438| m1438_24(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1438_18
# 1438| m1438_25(unknown) = Chi : total:m1438_22, partial:m1438_24
# 1428| v1428_5(void) = ReturnVoid :
# 1428| v1428_6(void) = AliasedUse : ~m1438_22
# 1428| v1428_7(void) = ExitFunction :
# 1440| void temporary_copy_constructor()
# 1440| Block 0
# 1440| v1440_1(void) = EnterFunction :
# 1440| m1440_2(unknown) = AliasedDefinition :
# 1440| m1440_3(unknown) = InitializeNonLocal :
# 1440| m1440_4(unknown) = Chi : total:m1440_2, partial:m1440_3
# 1441| r1441_1(glval<copy_constructor>) = VariableAddress[d] :
# 1441| r1441_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1441| r1441_3(copy_constructor) = Call[returnValue] : func:r1441_2
# 1441| m1441_4(unknown) = ^CallSideEffect : ~m1440_4
# 1441| m1441_5(unknown) = Chi : total:m1440_4, partial:m1441_4
# 1441| m1441_6(copy_constructor) = Store[d] : &:r1441_1, r1441_3
# 1441| m1441_7(unknown) = Chi : total:m1441_5, partial:m1441_6
# 1442| r1442_1(glval<copy_constructor &>) = VariableAddress[rd] :
# 1442| r1442_2(glval<copy_constructor>) = VariableAddress[#temp1442:34] :
# 1442| r1442_3(glval<unknown>) = FunctionAddress[returnValue] :
# 1442| r1442_4(copy_constructor) = Call[returnValue] : func:r1442_3
# 1442| m1442_5(unknown) = ^CallSideEffect : ~m1441_7
# 1442| m1442_6(unknown) = Chi : total:m1441_7, partial:m1442_5
# 1442| m1442_7(copy_constructor) = Store[#temp1442:34] : &:r1442_2, r1442_4
# 1442| r1442_8(glval<copy_constructor>) = Convert : r1442_2
# 1442| r1442_9(copy_constructor &) = CopyValue : r1442_8
# 1442| m1442_10(copy_constructor &) = Store[rd] : &:r1442_1, r1442_9
# 1443| r1443_1(glval<copy_constructor>) = VariableAddress[d2] :
# 1443| m1443_2(copy_constructor) = Uninitialized[d2] : &:r1443_1
# 1443| m1443_3(unknown) = Chi : total:m1442_6, partial:m1443_2
# 1443| r1443_4(glval<unknown>) = FunctionAddress[copy_constructor] :
# 1443| v1443_5(void) = Call[copy_constructor] : func:r1443_4, this:r1443_1
# 1443| m1443_6(unknown) = ^CallSideEffect : ~m1443_3
# 1443| m1443_7(unknown) = Chi : total:m1443_3, partial:m1443_6
# 1443| m1443_8(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1443_1
# 1443| m1443_9(unknown) = Chi : total:m1443_7, partial:m1443_8
# 1444| r1444_1(glval<unknown>) = FunctionAddress[acceptRef] :
# 1444| r1444_2(glval<copy_constructor>) = VariableAddress[d] :
# 1444| r1444_3(glval<copy_constructor>) = Convert : r1444_2
# 1444| r1444_4(copy_constructor &) = CopyValue : r1444_3
# 1444| v1444_5(void) = Call[acceptRef] : func:r1444_1, 0:r1444_4
# 1444| m1444_6(unknown) = ^CallSideEffect : ~m1443_9
# 1444| m1444_7(unknown) = Chi : total:m1443_9, partial:m1444_6
# 1444| v1444_8(void) = ^BufferReadSideEffect[0] : &:r1444_4, ~m1444_7
# 1445| r1445_1(glval<unknown>) = FunctionAddress[acceptValue] :
# 1445| r1445_2(glval<copy_constructor>) = VariableAddress[#temp1445:17] :
# 1445| m1445_3(copy_constructor) = Uninitialized[#temp1445:17] : &:r1445_2
# 1445| m1445_4(unknown) = Chi : total:m1444_7, partial:m1445_3
# 1445| r1445_5(glval<unknown>) = FunctionAddress[copy_constructor] :
# 1445| r1445_6(glval<copy_constructor>) = VariableAddress[d] :
# 1445| r1445_7(glval<copy_constructor>) = Convert : r1445_6
# 1445| r1445_8(copy_constructor &) = CopyValue : r1445_7
# 1445| v1445_9(void) = Call[copy_constructor] : func:r1445_5, this:r1445_2, 0:r1445_8
# 1445| m1445_10(unknown) = ^CallSideEffect : ~m1445_4
# 1445| m1445_11(unknown) = Chi : total:m1445_4, partial:m1445_10
# 1445| v1445_12(void) = ^BufferReadSideEffect[0] : &:r1445_8, ~m1445_11
# 1445| m1445_13(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1445_2
# 1445| m1445_14(unknown) = Chi : total:m1445_11, partial:m1445_13
# 1445| r1445_15(copy_constructor) = Load[#temp1445:17] : &:r1445_2, ~m1445_14
# 1445| v1445_16(void) = Call[acceptValue] : func:r1445_1, 0:r1445_15
# 1445| m1445_17(unknown) = ^CallSideEffect : ~m1445_14
# 1445| m1445_18(unknown) = Chi : total:m1445_14, partial:m1445_17
# 1446| r1446_1(glval<copy_constructor>) = VariableAddress[#temp1446:5] :
# 1446| m1446_2(copy_constructor) = Uninitialized[#temp1446:5] : &:r1446_1
# 1446| m1446_3(unknown) = Chi : total:m1445_18, partial:m1446_2
# 1446| r1446_4(glval<unknown>) = FunctionAddress[copy_constructor] :
# 1446| v1446_5(void) = Call[copy_constructor] : func:r1446_4, this:r1446_1
# 1446| m1446_6(unknown) = ^CallSideEffect : ~m1446_3
# 1446| m1446_7(unknown) = Chi : total:m1446_3, partial:m1446_6
# 1446| m1446_8(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1446_1
# 1446| m1446_9(unknown) = Chi : total:m1446_7, partial:m1446_8
# 1446| r1446_10(glval<unknown>) = FunctionAddress[method] :
# 1446| v1446_11(void) = Call[method] : func:r1446_10, this:r1446_1
# 1446| m1446_12(unknown) = ^CallSideEffect : ~m1446_9
# 1446| m1446_13(unknown) = Chi : total:m1446_9, partial:m1446_12
# 1446| v1446_14(void) = ^IndirectReadSideEffect[-1] : &:r1446_1, ~m1446_13
# 1446| m1446_15(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1446_1
# 1446| m1446_16(unknown) = Chi : total:m1446_13, partial:m1446_15
# 1447| r1447_1(glval<copy_constructor>) = VariableAddress[#temp1447:5] :
# 1447| r1447_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1447| r1447_3(copy_constructor) = Call[returnValue] : func:r1447_2
# 1447| m1447_4(unknown) = ^CallSideEffect : ~m1446_16
# 1447| m1447_5(unknown) = Chi : total:m1446_16, partial:m1447_4
# 1447| m1447_6(copy_constructor) = Store[#temp1447:5] : &:r1447_1, r1447_3
# 1447| m1447_7(unknown) = Chi : total:m1447_5, partial:m1447_6
# 1447| r1447_8(glval<unknown>) = FunctionAddress[method] :
# 1447| v1447_9(void) = Call[method] : func:r1447_8, this:r1447_1
# 1447| m1447_10(unknown) = ^CallSideEffect : ~m1447_7
# 1447| m1447_11(unknown) = Chi : total:m1447_7, partial:m1447_10
# 1447| v1447_12(void) = ^IndirectReadSideEffect[-1] : &:r1447_1, ~m1447_11
# 1447| m1447_13(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1447_1
# 1447| m1447_14(unknown) = Chi : total:m1447_11, partial:m1447_13
# 1448| r1448_1(glval<copy_constructor>) = VariableAddress[#temp1448:5] :
# 1448| r1448_2(glval<unknown>) = FunctionAddress[defaultConstruct] :
# 1448| r1448_3(copy_constructor) = Call[defaultConstruct] : func:r1448_2
# 1448| m1448_4(unknown) = ^CallSideEffect : ~m1447_14
# 1448| m1448_5(unknown) = Chi : total:m1447_14, partial:m1448_4
# 1448| m1448_6(copy_constructor) = Store[#temp1448:5] : &:r1448_1, r1448_3
# 1450| r1450_1(glval<int>) = VariableAddress[y] :
# 1450| r1450_2(glval<copy_constructor>) = VariableAddress[#temp1450:13] :
# 1450| r1450_3(glval<unknown>) = FunctionAddress[returnValue] :
# 1450| r1450_4(copy_constructor) = Call[returnValue] : func:r1450_3
# 1450| m1450_5(unknown) = ^CallSideEffect : ~m1448_5
# 1450| m1450_6(unknown) = Chi : total:m1448_5, partial:m1450_5
# 1450| m1450_7(copy_constructor) = Store[#temp1450:13] : &:r1450_2, r1450_4
# 1450| r1450_8(glval<int>) = FieldAddress[y] : r1450_2
# 1450| r1450_9(int) = Load[?] : &:r1450_8, ~m1450_7
# 1450| m1450_10(int) = Store[y] : &:r1450_1, r1450_9
# 1451| v1451_1(void) = NoOp :
# 1440| v1440_5(void) = ReturnVoid :
# 1440| v1440_6(void) = AliasedUse : ~m1450_6
# 1440| v1440_7(void) = ExitFunction :
# 1453| void temporary_point()
# 1453| Block 0
# 1453| v1453_1(void) = EnterFunction :
# 1453| m1453_2(unknown) = AliasedDefinition :
# 1453| m1453_3(unknown) = InitializeNonLocal :
# 1453| m1453_4(unknown) = Chi : total:m1453_2, partial:m1453_3
# 1454| r1454_1(glval<Point>) = VariableAddress[p] :
# 1454| r1454_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1454| r1454_3(Point) = Call[returnValue] : func:r1454_2
# 1454| m1454_4(unknown) = ^CallSideEffect : ~m1453_4
# 1454| m1454_5(unknown) = Chi : total:m1453_4, partial:m1454_4
# 1454| m1454_6(Point) = Store[p] : &:r1454_1, r1454_3
# 1454| m1454_7(unknown) = Chi : total:m1454_5, partial:m1454_6
# 1455| r1455_1(glval<Point &>) = VariableAddress[rp] :
# 1455| r1455_2(glval<Point>) = VariableAddress[#temp1455:23] :
# 1455| r1455_3(glval<unknown>) = FunctionAddress[returnValue] :
# 1455| r1455_4(Point) = Call[returnValue] : func:r1455_3
# 1455| m1455_5(unknown) = ^CallSideEffect : ~m1454_7
# 1455| m1455_6(unknown) = Chi : total:m1454_7, partial:m1455_5
# 1455| m1455_7(Point) = Store[#temp1455:23] : &:r1455_2, r1455_4
# 1455| r1455_8(glval<Point>) = Convert : r1455_2
# 1455| r1455_9(Point &) = CopyValue : r1455_8
# 1455| m1455_10(Point &) = Store[rp] : &:r1455_1, r1455_9
# 1457| r1457_1(glval<unknown>) = FunctionAddress[acceptRef] :
# 1457| r1457_2(glval<Point>) = VariableAddress[p] :
# 1457| r1457_3(glval<Point>) = Convert : r1457_2
# 1457| r1457_4(Point &) = CopyValue : r1457_3
# 1457| v1457_5(void) = Call[acceptRef] : func:r1457_1, 0:r1457_4
# 1457| m1457_6(unknown) = ^CallSideEffect : ~m1455_6
# 1457| m1457_7(unknown) = Chi : total:m1455_6, partial:m1457_6
# 1457| v1457_8(void) = ^BufferReadSideEffect[0] : &:r1457_4, ~m1457_7
# 1458| r1458_1(glval<unknown>) = FunctionAddress[acceptValue] :
# 1458| r1458_2(glval<Point>) = VariableAddress[p] :
# 1458| r1458_3(Point) = Load[p] : &:r1458_2, ~m1457_7
# 1458| v1458_4(void) = Call[acceptValue] : func:r1458_1, 0:r1458_3
# 1458| m1458_5(unknown) = ^CallSideEffect : ~m1457_7
# 1458| m1458_6(unknown) = Chi : total:m1457_7, partial:m1458_5
# 1459| r1459_1(int) = Constant[0] :
# 1460| r1460_1(glval<int>) = VariableAddress[y] :
# 1460| r1460_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1460| r1460_3(Point) = Call[returnValue] : func:r1460_2
# 1460| m1460_4(unknown) = ^CallSideEffect : ~m1458_6
# 1460| m1460_5(unknown) = Chi : total:m1458_6, partial:m1460_4
# 1460| r1460_6(glval<Point>) = VariableAddress[#temp1460:13] :
# 1460| m1460_7(Point) = Store[#temp1460:13] : &:r1460_6, r1460_3
# 1460| r1460_8(glval<int>) = FieldAddress[y] : r1460_6
# 1460| r1460_9(int) = Load[?] : &:r1460_8, ~m1460_7
# 1460| m1460_10(int) = Store[y] : &:r1460_1, r1460_9
# 1462| r1462_1(glval<unknown>) = FunctionAddress[defaultConstruct] :
# 1462| r1462_2(Point) = Call[defaultConstruct] : func:r1462_1
# 1462| m1462_3(unknown) = ^CallSideEffect : ~m1460_5
# 1462| m1462_4(unknown) = Chi : total:m1460_5, partial:m1462_3
# 1463| v1463_1(void) = NoOp :
# 1453| v1453_5(void) = ReturnVoid :
# 1453| v1453_6(void) = AliasedUse : ~m1462_4
# 1453| v1453_7(void) = ExitFunction :
# 1470| void temporary_unusual_fields()
# 1470| Block 0
# 1470| v1470_1(void) = EnterFunction :
# 1470| m1470_2(unknown) = AliasedDefinition :
# 1470| m1470_3(unknown) = InitializeNonLocal :
# 1470| m1470_4(unknown) = Chi : total:m1470_2, partial:m1470_3
# 1471| r1471_1(glval<int &>) = VariableAddress[rx] :
# 1471| r1471_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1471| r1471_3(UnusualFields) = Call[returnValue] : func:r1471_2
# 1471| m1471_4(unknown) = ^CallSideEffect : ~m1470_4
# 1471| m1471_5(unknown) = Chi : total:m1470_4, partial:m1471_4
# 1471| r1471_6(glval<UnusualFields>) = VariableAddress[#temp1471:21] :
# 1471| m1471_7(UnusualFields) = Store[#temp1471:21] : &:r1471_6, r1471_3
# 1471| r1471_8(glval<int &>) = FieldAddress[r] : r1471_6
# 1471| r1471_9(int &) = Load[?] : &:r1471_8, ~m1471_7
# 1471| r1471_10(glval<int>) = CopyValue : r1471_9
# 1471| r1471_11(glval<int>) = Convert : r1471_10
# 1471| r1471_12(int &) = CopyValue : r1471_11
# 1471| m1471_13(int &) = Store[rx] : &:r1471_1, r1471_12
# 1472| r1472_1(glval<int>) = VariableAddress[x] :
# 1472| r1472_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1472| r1472_3(UnusualFields) = Call[returnValue] : func:r1472_2
# 1472| m1472_4(unknown) = ^CallSideEffect : ~m1471_5
# 1472| m1472_5(unknown) = Chi : total:m1471_5, partial:m1472_4
# 1472| r1472_6(glval<UnusualFields>) = VariableAddress[#temp1472:13] :
# 1472| m1472_7(UnusualFields) = Store[#temp1472:13] : &:r1472_6, r1472_3
# 1472| r1472_8(glval<int &>) = FieldAddress[r] : r1472_6
# 1472| r1472_9(int &) = Load[?] : &:r1472_8, ~m1472_7
# 1472| r1472_10(int) = Load[?] : &:r1472_9, ~m1472_5
# 1472| m1472_11(int) = Store[x] : &:r1472_1, r1472_10
# 1474| r1474_1(glval<float &>) = VariableAddress[rf] :
# 1474| r1474_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1474| r1474_3(UnusualFields) = Call[returnValue] : func:r1474_2
# 1474| m1474_4(unknown) = ^CallSideEffect : ~m1472_5
# 1474| m1474_5(unknown) = Chi : total:m1472_5, partial:m1474_4
# 1474| r1474_6(glval<UnusualFields>) = VariableAddress[#temp1474:23] :
# 1474| m1474_7(UnusualFields) = Store[#temp1474:23] : &:r1474_6, r1474_3
# 1474| r1474_8(glval<float[10]>) = FieldAddress[a] : r1474_6
# 1474| r1474_9(float *) = Convert : r1474_8
# 1474| r1474_10(int) = Constant[3] :
# 1474| r1474_11(glval<float>) = PointerAdd[4] : r1474_9, r1474_10
# 1474| r1474_12(glval<float>) = Convert : r1474_11
# 1474| r1474_13(float &) = CopyValue : r1474_12
# 1474| m1474_14(float &) = Store[rf] : &:r1474_1, r1474_13
# 1475| r1475_1(glval<float>) = VariableAddress[f] :
# 1475| r1475_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1475| r1475_3(UnusualFields) = Call[returnValue] : func:r1475_2
# 1475| m1475_4(unknown) = ^CallSideEffect : ~m1474_5
# 1475| m1475_5(unknown) = Chi : total:m1474_5, partial:m1475_4
# 1475| r1475_6(glval<UnusualFields>) = VariableAddress[#temp1475:15] :
# 1475| m1475_7(UnusualFields) = Store[#temp1475:15] : &:r1475_6, r1475_3
# 1475| r1475_8(glval<float[10]>) = FieldAddress[a] : r1475_6
# 1475| r1475_9(float *) = Convert : r1475_8
# 1475| r1475_10(int) = Constant[5] :
# 1475| r1475_11(glval<float>) = PointerAdd[4] : r1475_9, r1475_10
# 1475| r1475_12(float) = Load[?] : &:r1475_11, ~m1475_7
# 1475| m1475_13(float) = Store[f] : &:r1475_1, r1475_12
# 1476| v1476_1(void) = NoOp :
# 1470| v1470_5(void) = ReturnVoid :
# 1470| v1470_6(void) = AliasedUse : ~m1475_5
# 1470| v1470_7(void) = ExitFunction :
# 1492| void temporary_hierarchy()
# 1492| Block 0
# 1492| v1492_1(void) = EnterFunction :
# 1492| m1492_2(unknown) = AliasedDefinition :
# 1492| m1492_3(unknown) = InitializeNonLocal :
# 1492| m1492_4(unknown) = Chi : total:m1492_2, partial:m1492_3
# 1493| r1493_1(glval<POD_Base>) = VariableAddress[b] :
#-----| r0_1(glval<POD_Middle>) = VariableAddress[#temp0:0] :
# 1493| r1493_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1493| r1493_3(POD_Middle) = Call[returnValue] : func:r1493_2
# 1493| m1493_4(unknown) = ^CallSideEffect : ~m1492_4
# 1493| m1493_5(unknown) = Chi : total:m1492_4, partial:m1493_4
# 1493| m1493_6(POD_Middle) = Store[#temp0:0] : &:r0_1, r1493_3
#-----| r0_2(glval<POD_Base>) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_1
#-----| r0_3(POD_Base) = Load[?] : &:r0_2, ~m1493_6
#-----| m0_4(POD_Base) = Store[b] : &:r1493_1, r0_3
# 1494| r1494_1(glval<POD_Derived>) = VariableAddress[#temp1494:9] :
# 1494| r1494_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1494| r1494_3(POD_Derived) = Call[returnValue] : func:r1494_2
# 1494| m1494_4(unknown) = ^CallSideEffect : ~m1493_5
# 1494| m1494_5(unknown) = Chi : total:m1493_5, partial:m1494_4
# 1494| m1494_6(POD_Derived) = Store[#temp1494:9] : &:r1494_1, r1494_3
# 1494| r1494_7(glval<POD_Middle>) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r1494_1
# 1494| r1494_8(glval<POD_Base>) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r1494_7
# 1494| r1494_9(POD_Base) = Load[?] : &:r1494_8, ~m1494_6
# 1494| r1494_10(glval<POD_Base>) = VariableAddress[b] :
# 1494| m1494_11(POD_Base) = Store[b] : &:r1494_10, r1494_9
# 1495| r1495_1(glval<int>) = VariableAddress[x] :
#-----| r0_5(glval<POD_Derived>) = VariableAddress[#temp0:0] :
# 1495| r1495_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1495| r1495_3(POD_Derived) = Call[returnValue] : func:r1495_2
# 1495| m1495_4(unknown) = ^CallSideEffect : ~m1494_5
# 1495| m1495_5(unknown) = Chi : total:m1494_5, partial:m1495_4
# 1495| m1495_6(POD_Derived) = Store[#temp0:0] : &:r0_5, r1495_3
#-----| r0_6(glval<POD_Middle>) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_5
#-----| r0_7(glval<POD_Base>) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_6
# 1495| r1495_7(glval<int>) = FieldAddress[x] : r0_7
# 1495| r1495_8(int) = Load[?] : &:r1495_7, ~m1495_6
# 1495| m1495_9(int) = Store[x] : &:r1495_1, r1495_8
# 1496| r1496_1(glval<float>) = VariableAddress[f] :
#-----| r0_8(glval<POD_Derived>) = VariableAddress[#temp0:0] :
# 1496| r1496_2(glval<unknown>) = FunctionAddress[returnValue] :
# 1496| r1496_3(POD_Derived) = Call[returnValue] : func:r1496_2
# 1496| m1496_4(unknown) = ^CallSideEffect : ~m1495_5
# 1496| m1496_5(unknown) = Chi : total:m1495_5, partial:m1496_4
# 1496| m1496_6(POD_Derived) = Store[#temp0:0] : &:r0_8, r1496_3
# 1496| m1496_7(unknown) = Chi : total:m1496_5, partial:m1496_6
#-----| r0_9(glval<POD_Middle>) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_8
#-----| r0_10(glval<POD_Base>) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_9
#-----| r0_11(glval<POD_Base>) = Convert : r0_10
# 1496| r1496_8(glval<unknown>) = FunctionAddress[f] :
# 1496| r1496_9(float) = Call[f] : func:r1496_8, this:r0_11
# 1496| m1496_10(unknown) = ^CallSideEffect : ~m1496_7
# 1496| m1496_11(unknown) = Chi : total:m1496_7, partial:m1496_10
#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m1496_11
# 1496| m1496_12(float) = Store[f] : &:r1496_1, r1496_9
# 1497| v1497_1(void) = NoOp :
# 1492| v1492_5(void) = ReturnVoid :
# 1492| v1492_6(void) = AliasedUse : ~m1496_11
# 1492| v1492_7(void) = ExitFunction :
# 1500| void Inheritance_Test_B::~Inheritance_Test_B()
# 1500| Block 0
# 1500| v1500_1(void) = EnterFunction :
# 1500| m1500_2(unknown) = AliasedDefinition :
# 1500| m1500_3(unknown) = InitializeNonLocal :
# 1500| m1500_4(unknown) = Chi : total:m1500_2, partial:m1500_3
# 1500| r1500_5(glval<unknown>) = VariableAddress[#this] :
# 1500| m1500_6(glval<Inheritance_Test_B>) = InitializeParameter[#this] : &:r1500_5
# 1500| r1500_7(glval<Inheritance_Test_B>) = Load[#this] : &:r1500_5, m1500_6
# 1500| m1500_8(Inheritance_Test_B) = InitializeIndirection[#this] : &:r1500_7
# 1500| v1500_9(void) = NoOp :
# 1500| v1500_10(void) = ReturnIndirection[#this] : &:r1500_7, m1500_8
# 1500| v1500_11(void) = ReturnVoid :
# 1500| v1500_12(void) = AliasedUse : m1500_3
# 1500| v1500_13(void) = ExitFunction :
# 1506| void Inheritance_Test_A::Inheritance_Test_A()
# 1506| Block 0
# 1506| v1506_1(void) = EnterFunction :
# 1506| m1506_2(unknown) = AliasedDefinition :
# 1506| m1506_3(unknown) = InitializeNonLocal :
# 1506| m1506_4(unknown) = Chi : total:m1506_2, partial:m1506_3
# 1506| r1506_5(glval<unknown>) = VariableAddress[#this] :
# 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_10(int) = Constant[42] :
# 1506| m1506_11(int) = Store[?] : &:r1506_9, r1506_10
# 1506| m1506_12(unknown) = Chi : total:m1506_8, partial:m1506_11
# 1507| r1507_1(int) = Constant[3] :
# 1507| r1507_2(glval<unknown>) = VariableAddress[#this] :
# 1507| r1507_3(Inheritance_Test_A *) = Load[#this] : &:r1507_2, m1506_6
# 1507| r1507_4(glval<int>) = FieldAddress[y] : r1507_3
# 1507| m1507_5(int) = Store[?] : &:r1507_4, r1507_1
# 1507| m1507_6(unknown) = Chi : total:m1506_12, partial:m1507_5
# 1508| v1508_1(void) = NoOp :
# 1506| v1506_13(void) = ReturnIndirection[#this] : &:r1506_7, m1507_6
# 1506| v1506_14(void) = ReturnVoid :
# 1506| v1506_15(void) = AliasedUse : m1506_3
# 1506| v1506_16(void) = ExitFunction :
# 1511| void array_structured_binding()
# 1511| Block 0
# 1511| v1511_1(void) = EnterFunction :
# 1511| m1511_2(unknown) = AliasedDefinition :
# 1511| m1511_3(unknown) = InitializeNonLocal :
# 1511| m1511_4(unknown) = Chi : total:m1511_2, partial:m1511_3
# 1512| r1512_1(glval<int[2]>) = VariableAddress[xs] :
# 1512| m1512_2(int[2]) = Uninitialized[xs] : &:r1512_1
# 1512| r1512_3(int) = Constant[0] :
# 1512| r1512_4(glval<int>) = PointerAdd[4] : r1512_1, r1512_3
# 1512| r1512_5(int) = Constant[1] :
# 1512| m1512_6(int) = Store[?] : &:r1512_4, r1512_5
# 1512| m1512_7(int[2]) = Chi : total:m1512_2, partial:m1512_6
# 1512| r1512_8(int) = Constant[1] :
# 1512| r1512_9(glval<int>) = PointerAdd[4] : r1512_1, r1512_8
# 1512| r1512_10(int) = Constant[2] :
# 1512| m1512_11(int) = Store[?] : &:r1512_9, r1512_10
# 1512| m1512_12(int[2]) = Chi : total:m1512_7, partial:m1512_11
# 1515| r1515_1(glval<int(&)[2]>) = VariableAddress[(unnamed local variable)] :
# 1515| r1515_2(glval<int[2]>) = VariableAddress[xs] :
# 1515| r1515_3(int(&)[2]) = CopyValue : r1515_2
# 1515| m1515_4(int(&)[2]) = Store[(unnamed local variable)] : &:r1515_1, r1515_3
# 1515| r1515_5(glval<int &>) = VariableAddress[x0] :
#-----| r0_1(glval<int(&)[2]>) = VariableAddress[(unnamed local variable)] :
#-----| r0_2(int(&)[2]) = Load[(unnamed local variable)] : &:r0_1, m1515_4
#-----| r0_3(glval<int[2]>) = CopyValue : r0_2
#-----| r0_4(int *) = Convert : r0_3
#-----| r0_5(unsigned long) = Constant[0] :
#-----| r0_6(glval<int>) = PointerAdd[4] : r0_4, r0_5
#-----| m0_7(int &) = Store[x0] : &:r1515_5, r0_6
# 1515| r1515_6(glval<int &>) = VariableAddress[x1] :
#-----| r0_8(glval<int(&)[2]>) = VariableAddress[(unnamed local variable)] :
#-----| r0_9(int(&)[2]) = Load[(unnamed local variable)] : &:r0_8, m1515_4
#-----| r0_10(glval<int[2]>) = CopyValue : r0_9
#-----| r0_11(int *) = Convert : r0_10
#-----| r0_12(unsigned long) = Constant[1] :
#-----| r0_13(glval<int>) = PointerAdd[4] : r0_11, r0_12
#-----| m0_14(int &) = Store[x1] : &:r1515_6, r0_13
# 1516| r1516_1(int) = Constant[3] :
# 1516| r1516_2(glval<int &>) = VariableAddress[x1] :
# 1516| r1516_3(int &) = Load[x1] : &:r1516_2, m0_14
# 1516| m1516_4(int) = Store[?] : &:r1516_3, r1516_1
# 1516| m1516_5(int[2]) = Chi : total:m1512_12, partial:m1516_4
# 1517| r1517_1(glval<int &>) = VariableAddress[rx1] :
# 1517| r1517_2(glval<int &>) = VariableAddress[x1] :
# 1517| r1517_3(int &) = Load[x1] : &:r1517_2, m0_14
# 1517| r1517_4(int &) = CopyValue : r1517_3
# 1517| m1517_5(int &) = Store[rx1] : &:r1517_1, r1517_4
# 1518| r1518_1(glval<int>) = VariableAddress[x] :
# 1518| r1518_2(glval<int &>) = VariableAddress[x1] :
# 1518| r1518_3(int &) = Load[x1] : &:r1518_2, m0_14
# 1518| r1518_4(int) = Load[?] : &:r1518_3, m1516_4
# 1518| m1518_5(int) = Store[x] : &:r1518_1, r1518_4
# 1522| r1522_1(glval<int(&)[2]>) = VariableAddress[unnamed_local_variable] :
# 1522| r1522_2(glval<int[2]>) = VariableAddress[xs] :
# 1522| r1522_3(int(&)[2]) = CopyValue : r1522_2
# 1522| m1522_4(int(&)[2]) = Store[unnamed_local_variable] : &:r1522_1, r1522_3
# 1523| r1523_1(glval<int &>) = VariableAddress[x0] :
# 1523| r1523_2(glval<int(&)[2]>) = VariableAddress[unnamed_local_variable] :
# 1523| r1523_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1523_2, m1522_4
# 1523| r1523_4(glval<int[2]>) = CopyValue : r1523_3
# 1523| r1523_5(int *) = Convert : r1523_4
# 1523| r1523_6(int) = Constant[0] :
# 1523| r1523_7(glval<int>) = PointerAdd[4] : r1523_5, r1523_6
# 1523| r1523_8(int &) = CopyValue : r1523_7
# 1523| m1523_9(int &) = Store[x0] : &:r1523_1, r1523_8
# 1524| r1524_1(glval<int &>) = VariableAddress[x1] :
# 1524| r1524_2(glval<int(&)[2]>) = VariableAddress[unnamed_local_variable] :
# 1524| r1524_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1524_2, m1522_4
# 1524| r1524_4(glval<int[2]>) = CopyValue : r1524_3
# 1524| r1524_5(int *) = Convert : r1524_4
# 1524| r1524_6(int) = Constant[1] :
# 1524| r1524_7(glval<int>) = PointerAdd[4] : r1524_5, r1524_6
# 1524| r1524_8(int &) = CopyValue : r1524_7
# 1524| m1524_9(int &) = Store[x1] : &:r1524_1, r1524_8
# 1525| r1525_1(int) = Constant[3] :
# 1525| r1525_2(glval<int &>) = VariableAddress[x1] :
# 1525| r1525_3(int &) = Load[x1] : &:r1525_2, m1524_9
# 1525| r1525_4(glval<int>) = CopyValue : r1525_3
# 1525| m1525_5(int) = Store[?] : &:r1525_4, r1525_1
# 1525| m1525_6(int[2]) = Chi : total:m1516_5, partial:m1525_5
# 1526| r1526_1(glval<int &>) = VariableAddress[rx1] :
# 1526| r1526_2(glval<int &>) = VariableAddress[x1] :
# 1526| r1526_3(int &) = Load[x1] : &:r1526_2, m1524_9
# 1526| r1526_4(glval<int>) = CopyValue : r1526_3
# 1526| r1526_5(int &) = CopyValue : r1526_4
# 1526| m1526_6(int &) = Store[rx1] : &:r1526_1, r1526_5
# 1527| r1527_1(glval<int>) = VariableAddress[x] :
# 1527| r1527_2(glval<int &>) = VariableAddress[x1] :
# 1527| r1527_3(int &) = Load[x1] : &:r1527_2, m1524_9
# 1527| r1527_4(int) = Load[?] : &:r1527_3, m1525_5
# 1527| m1527_5(int) = Store[x] : &:r1527_1, r1527_4
# 1529| v1529_1(void) = NoOp :
# 1511| v1511_5(void) = ReturnVoid :
# 1511| v1511_6(void) = AliasedUse : m1511_3
# 1511| v1511_7(void) = ExitFunction :
# 1531| void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct()
# 1531| Block 0
# 1531| v1531_1(void) = EnterFunction :
# 1531| m1531_2(unknown) = AliasedDefinition :
# 1531| m1531_3(unknown) = InitializeNonLocal :
# 1531| m1531_4(unknown) = Chi : total:m1531_2, partial:m1531_3
# 1531| r1531_5(glval<unknown>) = VariableAddress[#this] :
# 1531| m1531_6(glval<StructuredBindingDataMemberMemberStruct>) = InitializeParameter[#this] : &:r1531_5
# 1531| r1531_7(glval<StructuredBindingDataMemberMemberStruct>) = Load[#this] : &:r1531_5, m1531_6
# 1531| m1531_8(StructuredBindingDataMemberMemberStruct) = InitializeIndirection[#this] : &:r1531_7
# 1531| v1531_9(void) = NoOp :
# 1531| v1531_10(void) = ReturnIndirection[#this] : &:r1531_7, m1531_8
# 1531| v1531_11(void) = ReturnVoid :
# 1531| v1531_12(void) = AliasedUse : m1531_3
# 1531| v1531_13(void) = ExitFunction :
# 1535| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct()
# 1535| Block 0
# 1535| v1535_1(void) = EnterFunction :
# 1535| m1535_2(unknown) = AliasedDefinition :
# 1535| m1535_3(unknown) = InitializeNonLocal :
# 1535| m1535_4(unknown) = Chi : total:m1535_2, partial:m1535_3
# 1535| r1535_5(glval<unknown>) = VariableAddress[#this] :
# 1535| m1535_6(glval<StructuredBindingDataMemberStruct>) = InitializeParameter[#this] : &:r1535_5
# 1535| r1535_7(glval<StructuredBindingDataMemberStruct>) = Load[#this] : &:r1535_5, m1535_6
# 1535| m1535_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1535_7
# 1535| v1535_9(void) = NoOp :
# 1535| v1535_10(void) = ReturnIndirection[#this] : &:r1535_7, m1535_8
# 1535| v1535_11(void) = ReturnVoid :
# 1535| v1535_12(void) = AliasedUse : m1535_3
# 1535| v1535_13(void) = ExitFunction :
# 1535| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&)
# 1535| Block 0
# 1535| v1535_1(void) = EnterFunction :
# 1535| m1535_2(unknown) = AliasedDefinition :
# 1535| m1535_3(unknown) = InitializeNonLocal :
# 1535| m1535_4(unknown) = Chi : total:m1535_2, partial:m1535_3
# 1535| r1535_5(glval<unknown>) = VariableAddress[#this] :
# 1535| m1535_6(glval<StructuredBindingDataMemberStruct>) = InitializeParameter[#this] : &:r1535_5
# 1535| r1535_7(glval<StructuredBindingDataMemberStruct>) = Load[#this] : &:r1535_5, m1535_6
# 1535| m1535_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1535_7
#-----| r0_1(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
#-----| 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_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
# 1535| r1535_13(glval<int>) = FieldAddress[i] : r1535_12
# 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_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
# 1535| r1535_21(glval<double>) = FieldAddress[d] : r1535_20
# 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_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
# 1535| r1535_29(glval<unsigned int>) = FieldAddress[b] : r1535_28
# 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_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
# 1535| r1535_37(glval<int &>) = FieldAddress[r] : r1535_36
# 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_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
# 1535| r1535_45(glval<int *>) = FieldAddress[p] : r1535_44
# 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_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
# 1535| r1535_53(glval<int[2]>) = FieldAddress[xs] : r1535_52
# 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_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
# 1535| r1535_61(glval<int &>) = FieldAddress[r_alt] : r1535_60
# 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_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
# 1535| r1535_69(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : r1535_68
# 1535| r1535_70(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1535_69, ~m0_4
# 1535| m1535_71(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1535_65, r1535_70
# 1535| m1535_72(unknown) = Chi : total:m1535_64, partial:m1535_71
# 1535| v1535_73(void) = NoOp :
# 1535| v1535_74(void) = ReturnIndirection[#this] : &:r1535_7, m1535_72
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 1535| v1535_75(void) = ReturnVoid :
# 1535| v1535_76(void) = AliasedUse : m1535_3
# 1535| v1535_77(void) = ExitFunction :
# 1548| void data_member_structured_binding()
# 1548| Block 0
# 1548| v1548_1(void) = EnterFunction :
# 1548| m1548_2(unknown) = AliasedDefinition :
# 1548| m1548_3(unknown) = InitializeNonLocal :
# 1548| m1548_4(unknown) = Chi : total:m1548_2, partial:m1548_3
# 1549| r1549_1(glval<StructuredBindingDataMemberStruct>) = VariableAddress[s] :
# 1549| m1549_2(StructuredBindingDataMemberStruct) = Uninitialized[s] : &:r1549_1
# 1549| r1549_3(glval<unknown>) = FunctionAddress[StructuredBindingDataMemberStruct] :
# 1549| v1549_4(void) = Call[StructuredBindingDataMemberStruct] : func:r1549_3, this:r1549_1
# 1549| m1549_5(unknown) = ^CallSideEffect : ~m1548_4
# 1549| m1549_6(unknown) = Chi : total:m1548_4, partial:m1549_5
# 1549| m1549_7(StructuredBindingDataMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1549_1
# 1549| m1549_8(StructuredBindingDataMemberStruct) = Chi : total:m1549_2, partial:m1549_7
# 1552| r1552_1(glval<StructuredBindingDataMemberStruct>) = VariableAddress[(unnamed local variable)] :
# 1552| r1552_2(glval<StructuredBindingDataMemberStruct>) = VariableAddress[s] :
# 1552| r1552_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1552_2, m1549_8
# 1552| m1552_4(StructuredBindingDataMemberStruct) = Store[(unnamed local variable)] : &:r1552_1, r1552_3
# 1552| r1552_5(glval<int &>) = VariableAddress[i] :
# 1552| r1552_6(glval<StructuredBindingDataMemberStruct>) = VariableAddress[(unnamed local variable)] :
# 1552| r1552_7(glval<int>) = FieldAddress[i] : r1552_6
# 1552| m1552_8(int &) = Store[i] : &:r1552_5, r1552_7
# 1552| r1552_9(glval<double &>) = VariableAddress[d] :
# 1552| r1552_10(glval<StructuredBindingDataMemberStruct>) = VariableAddress[(unnamed local variable)] :
# 1552| r1552_11(glval<double>) = FieldAddress[d] : r1552_10
# 1552| m1552_12(double &) = Store[d] : &:r1552_9, r1552_11
# 1552| r1552_13(glval<unsigned int &>) = VariableAddress[b] :
# 1552| r1552_14(glval<StructuredBindingDataMemberStruct>) = VariableAddress[(unnamed local variable)] :
# 1552| r1552_15(glval<unsigned int>) = FieldAddress[b] : r1552_14
# 1552| m1552_16(unsigned int &) = Store[b] : &:r1552_13, r1552_15
# 1552| r1552_17(glval<int &>) = VariableAddress[r] :
# 1552| r1552_18(glval<StructuredBindingDataMemberStruct>) = VariableAddress[(unnamed local variable)] :
# 1552| r1552_19(glval<int &>) = FieldAddress[r] : r1552_18
# 1552| r1552_20(int &) = Load[?] : &:r1552_19, ~m1552_4
# 1552| r1552_21(glval<int>) = CopyValue : r1552_20
# 1552| m1552_22(int &) = Store[r] : &:r1552_17, r1552_21
# 1552| r1552_23(glval<int *&>) = VariableAddress[p] :
# 1552| r1552_24(glval<StructuredBindingDataMemberStruct>) = VariableAddress[(unnamed local variable)] :
# 1552| r1552_25(glval<int *>) = FieldAddress[p] : r1552_24
# 1552| m1552_26(int *&) = Store[p] : &:r1552_23, r1552_25
# 1552| r1552_27(glval<int(&)[2]>) = VariableAddress[xs] :
# 1552| r1552_28(glval<StructuredBindingDataMemberStruct>) = VariableAddress[(unnamed local variable)] :
# 1552| r1552_29(glval<int[2]>) = FieldAddress[xs] : r1552_28
# 1552| m1552_30(int(&)[2]) = Store[xs] : &:r1552_27, r1552_29
# 1552| r1552_31(glval<int &>) = VariableAddress[r_alt] :
# 1552| r1552_32(glval<StructuredBindingDataMemberStruct>) = VariableAddress[(unnamed local variable)] :
# 1552| r1552_33(glval<int &>) = FieldAddress[r_alt] : r1552_32
# 1552| r1552_34(int &) = Load[?] : &:r1552_33, ~m1552_4
# 1552| r1552_35(glval<int>) = CopyValue : r1552_34
# 1552| m1552_36(int &) = Store[r_alt] : &:r1552_31, r1552_35
# 1552| r1552_37(glval<StructuredBindingDataMemberMemberStruct &>) = VariableAddress[m] :
# 1552| r1552_38(glval<StructuredBindingDataMemberStruct>) = VariableAddress[(unnamed local variable)] :
# 1552| r1552_39(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : r1552_38
# 1552| m1552_40(StructuredBindingDataMemberMemberStruct &) = Store[m] : &:r1552_37, r1552_39
# 1553| r1553_1(double) = Constant[4.0] :
# 1553| r1553_2(glval<double &>) = VariableAddress[d] :
# 1553| r1553_3(double &) = Load[d] : &:r1553_2, m1552_12
# 1553| m1553_4(double) = Store[?] : &:r1553_3, r1553_1
# 1553| m1553_5(StructuredBindingDataMemberStruct) = Chi : total:m1552_4, partial:m1553_4
# 1554| r1554_1(glval<double &>) = VariableAddress[rd] :
# 1554| r1554_2(glval<double &>) = VariableAddress[d] :
# 1554| r1554_3(double &) = Load[d] : &:r1554_2, m1552_12
# 1554| r1554_4(double &) = CopyValue : r1554_3
# 1554| m1554_5(double &) = Store[rd] : &:r1554_1, r1554_4
# 1555| r1555_1(glval<int>) = VariableAddress[v] :
# 1555| r1555_2(glval<int &>) = VariableAddress[i] :
# 1555| r1555_3(int &) = Load[i] : &:r1555_2, m1552_8
# 1555| r1555_4(int) = Load[?] : &:r1555_3, ~m1552_4
# 1555| m1555_5(int) = Store[v] : &:r1555_1, r1555_4
# 1556| r1556_1(int) = Constant[5] :
# 1556| r1556_2(glval<int &>) = VariableAddress[r] :
# 1556| r1556_3(int &) = Load[r] : &:r1556_2, m1552_22
# 1556| m1556_4(int) = Store[?] : &:r1556_3, r1556_1
# 1556| m1556_5(unknown) = Chi : total:m1549_6, partial:m1556_4
# 1557| r1557_1(int) = Constant[6] :
# 1557| r1557_2(glval<int *&>) = VariableAddress[p] :
# 1557| r1557_3(int *&) = Load[p] : &:r1557_2, m1552_26
# 1557| r1557_4(int *) = Load[?] : &:r1557_3, ~m1552_4
# 1557| r1557_5(glval<int>) = CopyValue : r1557_4
# 1557| m1557_6(int) = Store[?] : &:r1557_5, r1557_1
# 1557| m1557_7(unknown) = Chi : total:m1556_5, partial:m1557_6
# 1558| r1558_1(glval<int &>) = VariableAddress[rr] :
# 1558| r1558_2(glval<int &>) = VariableAddress[r] :
# 1558| r1558_3(int &) = Load[r] : &:r1558_2, m1552_22
# 1558| r1558_4(int &) = CopyValue : r1558_3
# 1558| m1558_5(int &) = Store[rr] : &:r1558_1, r1558_4
# 1559| r1559_1(glval<int *>) = VariableAddress[pr] :
# 1559| r1559_2(glval<int &>) = VariableAddress[r] :
# 1559| r1559_3(int &) = Load[r] : &:r1559_2, m1552_22
# 1559| r1559_4(int *) = CopyValue : r1559_3
# 1559| m1559_5(int *) = Store[pr] : &:r1559_1, r1559_4
# 1560| r1560_1(glval<int>) = VariableAddress[w] :
# 1560| r1560_2(glval<int &>) = VariableAddress[r] :
# 1560| r1560_3(int &) = Load[r] : &:r1560_2, m1552_22
# 1560| r1560_4(int) = Load[?] : &:r1560_3, ~m1557_7
# 1560| m1560_5(int) = Store[w] : &:r1560_1, r1560_4
# 1564| r1564_1(glval<StructuredBindingDataMemberStruct>) = VariableAddress[unnamed_local_variable] :
# 1564| r1564_2(glval<StructuredBindingDataMemberStruct>) = VariableAddress[s] :
# 1564| r1564_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1564_2, m1549_8
# 1564| m1564_4(StructuredBindingDataMemberStruct) = Store[unnamed_local_variable] : &:r1564_1, r1564_3
# 1565| r1565_1(glval<int &>) = VariableAddress[i] :
# 1565| r1565_2(glval<StructuredBindingDataMemberStruct>) = VariableAddress[unnamed_local_variable] :
# 1565| r1565_3(glval<int>) = FieldAddress[i] : r1565_2
# 1565| r1565_4(int &) = CopyValue : r1565_3
# 1565| m1565_5(int &) = Store[i] : &:r1565_1, r1565_4
# 1566| r1566_1(glval<double &>) = VariableAddress[d] :
# 1566| r1566_2(glval<StructuredBindingDataMemberStruct>) = VariableAddress[unnamed_local_variable] :
# 1566| r1566_3(glval<double>) = FieldAddress[d] : r1566_2
# 1566| r1566_4(double &) = CopyValue : r1566_3
# 1566| m1566_5(double &) = Store[d] : &:r1566_1, r1566_4
# 1568| r1568_1(glval<int &>) = VariableAddress[r] :
# 1568| r1568_2(glval<StructuredBindingDataMemberStruct>) = VariableAddress[unnamed_local_variable] :
# 1568| r1568_3(glval<int &>) = FieldAddress[r] : r1568_2
# 1568| r1568_4(int &) = Load[?] : &:r1568_3, ~m1564_4
# 1568| r1568_5(glval<int>) = CopyValue : r1568_4
# 1568| r1568_6(int &) = CopyValue : r1568_5
# 1568| m1568_7(int &) = Store[r] : &:r1568_1, r1568_6
# 1569| r1569_1(glval<int *&>) = VariableAddress[p] :
# 1569| r1569_2(glval<StructuredBindingDataMemberStruct>) = VariableAddress[unnamed_local_variable] :
# 1569| r1569_3(glval<int *>) = FieldAddress[p] : r1569_2
# 1569| r1569_4(int *&) = CopyValue : r1569_3
# 1569| m1569_5(int *&) = Store[p] : &:r1569_1, r1569_4
# 1570| r1570_1(double) = Constant[4.0] :
# 1570| r1570_2(glval<double &>) = VariableAddress[d] :
# 1570| r1570_3(double &) = Load[d] : &:r1570_2, m1566_5
# 1570| r1570_4(glval<double>) = CopyValue : r1570_3
# 1570| m1570_5(double) = Store[?] : &:r1570_4, r1570_1
# 1570| m1570_6(StructuredBindingDataMemberStruct) = Chi : total:m1564_4, partial:m1570_5
# 1571| r1571_1(glval<double &>) = VariableAddress[rd] :
# 1571| r1571_2(glval<double &>) = VariableAddress[d] :
# 1571| r1571_3(double &) = Load[d] : &:r1571_2, m1566_5
# 1571| r1571_4(glval<double>) = CopyValue : r1571_3
# 1571| r1571_5(double &) = CopyValue : r1571_4
# 1571| m1571_6(double &) = Store[rd] : &:r1571_1, r1571_5
# 1572| r1572_1(glval<int>) = VariableAddress[v] :
# 1572| r1572_2(glval<int &>) = VariableAddress[i] :
# 1572| r1572_3(int &) = Load[i] : &:r1572_2, m1565_5
# 1572| r1572_4(int) = Load[?] : &:r1572_3, ~m1564_4
# 1572| m1572_5(int) = Store[v] : &:r1572_1, r1572_4
# 1573| r1573_1(int) = Constant[5] :
# 1573| r1573_2(glval<int &>) = VariableAddress[r] :
# 1573| r1573_3(int &) = Load[r] : &:r1573_2, m1568_7
# 1573| r1573_4(glval<int>) = CopyValue : r1573_3
# 1573| m1573_5(int) = Store[?] : &:r1573_4, r1573_1
# 1573| m1573_6(unknown) = Chi : total:m1557_7, partial:m1573_5
# 1574| r1574_1(int) = Constant[6] :
# 1574| r1574_2(glval<int *&>) = VariableAddress[p] :
# 1574| r1574_3(int *&) = Load[p] : &:r1574_2, m1569_5
# 1574| r1574_4(int *) = Load[?] : &:r1574_3, ~m1564_4
# 1574| r1574_5(glval<int>) = CopyValue : r1574_4
# 1574| m1574_6(int) = Store[?] : &:r1574_5, r1574_1
# 1574| m1574_7(unknown) = Chi : total:m1573_6, partial:m1574_6
# 1575| r1575_1(glval<int &>) = VariableAddress[rr] :
# 1575| r1575_2(glval<int &>) = VariableAddress[r] :
# 1575| r1575_3(int &) = Load[r] : &:r1575_2, m1568_7
# 1575| r1575_4(glval<int>) = CopyValue : r1575_3
# 1575| r1575_5(int &) = CopyValue : r1575_4
# 1575| m1575_6(int &) = Store[rr] : &:r1575_1, r1575_5
# 1576| r1576_1(glval<int *>) = VariableAddress[pr] :
# 1576| r1576_2(glval<int &>) = VariableAddress[r] :
# 1576| r1576_3(int &) = Load[r] : &:r1576_2, m1568_7
# 1576| r1576_4(glval<int>) = CopyValue : r1576_3
# 1576| r1576_5(int *) = CopyValue : r1576_4
# 1576| m1576_6(int *) = Store[pr] : &:r1576_1, r1576_5
# 1577| r1577_1(glval<int>) = VariableAddress[w] :
# 1577| r1577_2(glval<int &>) = VariableAddress[r] :
# 1577| r1577_3(int &) = Load[r] : &:r1577_2, m1568_7
# 1577| r1577_4(int) = Load[?] : &:r1577_3, ~m1574_7
# 1577| m1577_5(int) = Store[w] : &:r1577_1, r1577_4
# 1579| v1579_1(void) = NoOp :
# 1548| v1548_5(void) = ReturnVoid :
# 1548| v1548_6(void) = AliasedUse : ~m1574_7
# 1548| v1548_7(void) = ExitFunction :
# 1588| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet()
# 1588| Block 0
# 1588| v1588_1(void) = EnterFunction :
# 1588| m1588_2(unknown) = AliasedDefinition :
# 1588| m1588_3(unknown) = InitializeNonLocal :
# 1588| m1588_4(unknown) = Chi : total:m1588_2, partial:m1588_3
# 1588| r1588_5(glval<unknown>) = VariableAddress[#this] :
# 1588| m1588_6(glval<StructuredBindingTupleRefGet>) = InitializeParameter[#this] : &:r1588_5
# 1588| r1588_7(glval<StructuredBindingTupleRefGet>) = Load[#this] : &:r1588_5, m1588_6
# 1588| m1588_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1588_7
# 1588| v1588_9(void) = NoOp :
# 1588| v1588_10(void) = ReturnIndirection[#this] : &:r1588_7, m1588_8
# 1588| v1588_11(void) = ReturnVoid :
# 1588| v1588_12(void) = AliasedUse : m1588_3
# 1588| v1588_13(void) = ExitFunction :
# 1588| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&)
# 1588| Block 0
# 1588| v1588_1(void) = EnterFunction :
# 1588| m1588_2(unknown) = AliasedDefinition :
# 1588| m1588_3(unknown) = InitializeNonLocal :
# 1588| m1588_4(unknown) = Chi : total:m1588_2, partial:m1588_3
# 1588| r1588_5(glval<unknown>) = VariableAddress[#this] :
# 1588| m1588_6(glval<StructuredBindingTupleRefGet>) = InitializeParameter[#this] : &:r1588_5
# 1588| r1588_7(glval<StructuredBindingTupleRefGet>) = Load[#this] : &:r1588_5, m1588_6
# 1588| m1588_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1588_7
#-----| r0_1(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
#-----| 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_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
# 1588| r1588_13(glval<int>) = FieldAddress[i] : r1588_12
# 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_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
# 1588| r1588_21(glval<double>) = FieldAddress[d] : r1588_20
# 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_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
# 1588| r1588_29(glval<int &>) = FieldAddress[r] : r1588_28
# 1588| r1588_30(int &) = Load[?] : &:r1588_29, ~m0_4
# 1588| m1588_31(int &) = Store[?] : &:r1588_25, r1588_30
# 1588| m1588_32(unknown) = Chi : total:m1588_24, partial:m1588_31
# 1588| v1588_33(void) = NoOp :
# 1588| v1588_34(void) = ReturnIndirection[#this] : &:r1588_7, m1588_32
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 1588| v1588_35(void) = ReturnVoid :
# 1588| v1588_36(void) = AliasedUse : m1588_3
# 1588| v1588_37(void) = ExitFunction :
# 1616| std::tuple_element<int 0, StructuredBindingTupleRefGet>::type& StructuredBindingTupleRefGet::get<int 0>()
# 1616| Block 0
# 1616| v1616_1(void) = EnterFunction :
# 1616| m1616_2(unknown) = AliasedDefinition :
# 1616| m1616_3(unknown) = InitializeNonLocal :
# 1616| m1616_4(unknown) = Chi : total:m1616_2, partial:m1616_3
# 1616| r1616_5(glval<unknown>) = VariableAddress[#this] :
# 1616| m1616_6(glval<StructuredBindingTupleRefGet>) = InitializeParameter[#this] : &:r1616_5
# 1616| r1616_7(glval<StructuredBindingTupleRefGet>) = Load[#this] : &:r1616_5, m1616_6
# 1616| m1616_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1616_7
# 1617| r1617_1(glval<int &>) = VariableAddress[#return] :
# 1617| r1617_2(glval<unknown>) = VariableAddress[#this] :
# 1617| r1617_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1617_2, m1616_6
# 1617| r1617_4(glval<int>) = FieldAddress[i] : r1617_3
#-----| r0_1(int &) = CopyValue : r1617_4
#-----| m0_2(int &) = Store[#return] : &:r1617_1, r0_1
# 1616| v1616_9(void) = ReturnIndirection[#this] : &:r1616_7, m1616_8
# 1616| r1616_10(glval<int &>) = VariableAddress[#return] :
# 1616| v1616_11(void) = ReturnValue : &:r1616_10, m0_2
# 1616| v1616_12(void) = AliasedUse : m1616_3
# 1616| v1616_13(void) = ExitFunction :
# 1620| std::tuple_element<int 1, StructuredBindingTupleRefGet>::type& StructuredBindingTupleRefGet::get<int 1>()
# 1620| Block 0
# 1620| v1620_1(void) = EnterFunction :
# 1620| m1620_2(unknown) = AliasedDefinition :
# 1620| m1620_3(unknown) = InitializeNonLocal :
# 1620| m1620_4(unknown) = Chi : total:m1620_2, partial:m1620_3
# 1620| r1620_5(glval<unknown>) = VariableAddress[#this] :
# 1620| m1620_6(glval<StructuredBindingTupleRefGet>) = InitializeParameter[#this] : &:r1620_5
# 1620| r1620_7(glval<StructuredBindingTupleRefGet>) = Load[#this] : &:r1620_5, m1620_6
# 1620| m1620_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1620_7
# 1621| r1621_1(glval<double &>) = VariableAddress[#return] :
# 1621| r1621_2(glval<unknown>) = VariableAddress[#this] :
# 1621| r1621_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1621_2, m1620_6
# 1621| r1621_4(glval<double>) = FieldAddress[d] : r1621_3
#-----| r0_1(double &) = CopyValue : r1621_4
#-----| m0_2(double &) = Store[#return] : &:r1621_1, r0_1
# 1620| v1620_9(void) = ReturnIndirection[#this] : &:r1620_7, m1620_8
# 1620| r1620_10(glval<double &>) = VariableAddress[#return] :
# 1620| v1620_11(void) = ReturnValue : &:r1620_10, m0_2
# 1620| v1620_12(void) = AliasedUse : m1620_3
# 1620| v1620_13(void) = ExitFunction :
# 1624| std::tuple_element<int 2, StructuredBindingTupleRefGet>::type StructuredBindingTupleRefGet::get<int 2>()
# 1624| Block 0
# 1624| v1624_1(void) = EnterFunction :
# 1624| m1624_2(unknown) = AliasedDefinition :
# 1624| m1624_3(unknown) = InitializeNonLocal :
# 1624| m1624_4(unknown) = Chi : total:m1624_2, partial:m1624_3
# 1624| r1624_5(glval<unknown>) = VariableAddress[#this] :
# 1624| m1624_6(glval<StructuredBindingTupleRefGet>) = InitializeParameter[#this] : &:r1624_5
# 1624| r1624_7(glval<StructuredBindingTupleRefGet>) = Load[#this] : &:r1624_5, m1624_6
# 1624| m1624_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1624_7
# 1625| r1625_1(glval<int &>) = VariableAddress[#return] :
# 1625| r1625_2(glval<unknown>) = VariableAddress[#this] :
# 1625| r1625_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1625_2, m1624_6
# 1625| r1625_4(glval<int &>) = FieldAddress[r] : r1625_3
# 1625| r1625_5(int &) = Load[?] : &:r1625_4, ~m1624_8
# 1625| r1625_6(glval<int>) = CopyValue : r1625_5
# 1625| r1625_7(int &) = CopyValue : r1625_6
# 1625| m1625_8(int &) = Store[#return] : &:r1625_1, r1625_7
# 1624| v1624_9(void) = ReturnIndirection[#this] : &:r1624_7, m1624_8
# 1624| r1624_10(glval<int &>) = VariableAddress[#return] :
# 1624| v1624_11(void) = ReturnValue : &:r1624_10, m1625_8
# 1624| v1624_12(void) = AliasedUse : m1624_3
# 1624| v1624_13(void) = ExitFunction :
# 1628| void tuple_structured_binding_ref_get()
# 1628| Block 0
# 1628| v1628_1(void) = EnterFunction :
# 1628| m1628_2(unknown) = AliasedDefinition :
# 1628| m1628_3(unknown) = InitializeNonLocal :
# 1628| m1628_4(unknown) = Chi : total:m1628_2, partial:m1628_3
# 1629| r1629_1(glval<StructuredBindingTupleRefGet>) = VariableAddress[t] :
# 1629| m1629_2(StructuredBindingTupleRefGet) = Uninitialized[t] : &:r1629_1
# 1629| r1629_3(glval<unknown>) = FunctionAddress[StructuredBindingTupleRefGet] :
# 1629| v1629_4(void) = Call[StructuredBindingTupleRefGet] : func:r1629_3, this:r1629_1
# 1629| m1629_5(unknown) = ^CallSideEffect : ~m1628_4
# 1629| m1629_6(unknown) = Chi : total:m1628_4, partial:m1629_5
# 1629| m1629_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1629_1
# 1629| m1629_8(StructuredBindingTupleRefGet) = Chi : total:m1629_2, partial:m1629_7
# 1632| r1632_1(glval<StructuredBindingTupleRefGet>) = VariableAddress[(unnamed local variable)] :
# 1632| r1632_2(glval<StructuredBindingTupleRefGet>) = VariableAddress[t] :
# 1632| r1632_3(StructuredBindingTupleRefGet) = Load[t] : &:r1632_2, m1629_8
# 1632| m1632_4(StructuredBindingTupleRefGet) = Store[(unnamed local variable)] : &:r1632_1, r1632_3
# 1632| r1632_5(glval<int &>) = VariableAddress[i] :
# 1632| r1632_6(glval<StructuredBindingTupleRefGet>) = VariableAddress[(unnamed local variable)] :
# 1632| r1632_7(glval<unknown>) = FunctionAddress[get] :
# 1632| r1632_8(int &) = Call[get] : func:r1632_7, this:r1632_6
# 1632| m1632_9(unknown) = ^CallSideEffect : ~m1629_6
# 1632| m1632_10(unknown) = Chi : total:m1629_6, partial:m1632_9
# 1632| v1632_11(void) = ^IndirectReadSideEffect[-1] : &:r1632_6, m1632_4
# 1632| m1632_12(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_6
# 1632| m1632_13(StructuredBindingTupleRefGet) = Chi : total:m1632_4, partial:m1632_12
# 1632| r1632_14(glval<int>) = CopyValue : r1632_8
# 1632| r1632_15(int &) = CopyValue : r1632_14
# 1632| m1632_16(int &) = Store[i] : &:r1632_5, r1632_15
# 1632| r1632_17(glval<double &>) = VariableAddress[d] :
# 1632| r1632_18(glval<StructuredBindingTupleRefGet>) = VariableAddress[(unnamed local variable)] :
# 1632| r1632_19(glval<unknown>) = FunctionAddress[get] :
# 1632| r1632_20(double &) = Call[get] : func:r1632_19, this:r1632_18
# 1632| m1632_21(unknown) = ^CallSideEffect : ~m1632_10
# 1632| m1632_22(unknown) = Chi : total:m1632_10, partial:m1632_21
# 1632| v1632_23(void) = ^IndirectReadSideEffect[-1] : &:r1632_18, m1632_13
# 1632| m1632_24(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_18
# 1632| m1632_25(StructuredBindingTupleRefGet) = Chi : total:m1632_13, partial:m1632_24
# 1632| r1632_26(glval<double>) = CopyValue : r1632_20
# 1632| r1632_27(double &) = CopyValue : r1632_26
# 1632| m1632_28(double &) = Store[d] : &:r1632_17, r1632_27
# 1632| r1632_29(glval<int &>) = VariableAddress[r] :
# 1632| r1632_30(glval<StructuredBindingTupleRefGet>) = VariableAddress[(unnamed local variable)] :
# 1632| r1632_31(glval<unknown>) = FunctionAddress[get] :
# 1632| r1632_32(int &) = Call[get] : func:r1632_31, this:r1632_30
# 1632| m1632_33(unknown) = ^CallSideEffect : ~m1632_22
# 1632| m1632_34(unknown) = Chi : total:m1632_22, partial:m1632_33
# 1632| v1632_35(void) = ^IndirectReadSideEffect[-1] : &:r1632_30, m1632_25
# 1632| m1632_36(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_30
# 1632| m1632_37(StructuredBindingTupleRefGet) = Chi : total:m1632_25, partial:m1632_36
# 1632| r1632_38(glval<int>) = CopyValue : r1632_32
# 1632| r1632_39(int &) = CopyValue : r1632_38
# 1632| m1632_40(int &) = Store[r] : &:r1632_29, r1632_39
# 1633| r1633_1(double) = Constant[4.0] :
# 1633| r1633_2(glval<double &>) = VariableAddress[d] :
# 1633| r1633_3(double &) = Load[d] : &:r1633_2, m1632_28
# 1633| r1633_4(glval<double>) = CopyValue : r1633_3
# 1633| m1633_5(double) = Store[?] : &:r1633_4, r1633_1
# 1633| m1633_6(StructuredBindingTupleRefGet) = Chi : total:m1632_37, partial:m1633_5
# 1634| r1634_1(glval<double &>) = VariableAddress[rd] :
# 1634| r1634_2(glval<double &>) = VariableAddress[d] :
# 1634| r1634_3(double &) = Load[d] : &:r1634_2, m1632_28
# 1634| r1634_4(glval<double>) = CopyValue : r1634_3
# 1634| r1634_5(double &) = CopyValue : r1634_4
# 1634| m1634_6(double &) = Store[rd] : &:r1634_1, r1634_5
# 1635| r1635_1(glval<int>) = VariableAddress[v] :
# 1635| r1635_2(glval<int &>) = VariableAddress[i] :
# 1635| r1635_3(int &) = Load[i] : &:r1635_2, m1632_16
# 1635| r1635_4(int) = Load[?] : &:r1635_3, ~m1632_37
# 1635| m1635_5(int) = Store[v] : &:r1635_1, r1635_4
# 1636| r1636_1(int) = Constant[5] :
# 1636| r1636_2(glval<int &>) = VariableAddress[r] :
# 1636| r1636_3(int &) = Load[r] : &:r1636_2, m1632_40
# 1636| r1636_4(glval<int>) = CopyValue : r1636_3
# 1636| m1636_5(int) = Store[?] : &:r1636_4, r1636_1
# 1636| m1636_6(unknown) = Chi : total:m1632_34, partial:m1636_5
# 1637| r1637_1(glval<int &>) = VariableAddress[rr] :
# 1637| r1637_2(glval<int &>) = VariableAddress[r] :
# 1637| r1637_3(int &) = Load[r] : &:r1637_2, m1632_40
# 1637| r1637_4(glval<int>) = CopyValue : r1637_3
# 1637| r1637_5(int &) = CopyValue : r1637_4
# 1637| m1637_6(int &) = Store[rr] : &:r1637_1, r1637_5
# 1638| r1638_1(glval<int>) = VariableAddress[w] :
# 1638| r1638_2(glval<int &>) = VariableAddress[r] :
# 1638| r1638_3(int &) = Load[r] : &:r1638_2, m1632_40
# 1638| r1638_4(int) = Load[?] : &:r1638_3, ~m1636_6
# 1638| m1638_5(int) = Store[w] : &:r1638_1, r1638_4
# 1642| r1642_1(glval<StructuredBindingTupleRefGet>) = VariableAddress[unnamed_local_variable] :
# 1642| r1642_2(glval<StructuredBindingTupleRefGet>) = VariableAddress[t] :
# 1642| r1642_3(StructuredBindingTupleRefGet) = Load[t] : &:r1642_2, m1629_8
# 1642| m1642_4(StructuredBindingTupleRefGet) = Store[unnamed_local_variable] : &:r1642_1, r1642_3
# 1643| r1643_1(glval<int &>) = VariableAddress[i] :
# 1643| r1643_2(glval<StructuredBindingTupleRefGet>) = VariableAddress[unnamed_local_variable] :
# 1643| r1643_3(glval<unknown>) = FunctionAddress[get] :
# 1643| r1643_4(int &) = Call[get] : func:r1643_3, this:r1643_2
# 1643| m1643_5(unknown) = ^CallSideEffect : ~m1636_6
# 1643| m1643_6(unknown) = Chi : total:m1636_6, partial:m1643_5
# 1643| v1643_7(void) = ^IndirectReadSideEffect[-1] : &:r1643_2, m1642_4
# 1643| m1643_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1643_2
# 1643| m1643_9(StructuredBindingTupleRefGet) = Chi : total:m1642_4, partial:m1643_8
# 1643| r1643_10(glval<int>) = CopyValue : r1643_4
# 1643| r1643_11(int &) = CopyValue : r1643_10
# 1643| m1643_12(int &) = Store[i] : &:r1643_1, r1643_11
# 1644| r1644_1(glval<double &>) = VariableAddress[d] :
# 1644| r1644_2(glval<StructuredBindingTupleRefGet>) = VariableAddress[unnamed_local_variable] :
# 1644| r1644_3(glval<unknown>) = FunctionAddress[get] :
# 1644| r1644_4(double &) = Call[get] : func:r1644_3, this:r1644_2
# 1644| m1644_5(unknown) = ^CallSideEffect : ~m1643_6
# 1644| m1644_6(unknown) = Chi : total:m1643_6, partial:m1644_5
# 1644| v1644_7(void) = ^IndirectReadSideEffect[-1] : &:r1644_2, m1643_9
# 1644| m1644_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1644_2
# 1644| m1644_9(StructuredBindingTupleRefGet) = Chi : total:m1643_9, partial:m1644_8
# 1644| r1644_10(glval<double>) = CopyValue : r1644_4
# 1644| r1644_11(double &) = CopyValue : r1644_10
# 1644| m1644_12(double &) = Store[d] : &:r1644_1, r1644_11
# 1645| r1645_1(glval<int &>) = VariableAddress[r] :
# 1645| r1645_2(glval<StructuredBindingTupleRefGet>) = VariableAddress[unnamed_local_variable] :
# 1645| r1645_3(glval<unknown>) = FunctionAddress[get] :
# 1645| r1645_4(int &) = Call[get] : func:r1645_3, this:r1645_2
# 1645| m1645_5(unknown) = ^CallSideEffect : ~m1644_6
# 1645| m1645_6(unknown) = Chi : total:m1644_6, partial:m1645_5
# 1645| v1645_7(void) = ^IndirectReadSideEffect[-1] : &:r1645_2, m1644_9
# 1645| m1645_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1645_2
# 1645| m1645_9(StructuredBindingTupleRefGet) = Chi : total:m1644_9, partial:m1645_8
# 1645| r1645_10(glval<int>) = CopyValue : r1645_4
# 1645| r1645_11(int &) = CopyValue : r1645_10
# 1645| m1645_12(int &) = Store[r] : &:r1645_1, r1645_11
# 1646| r1646_1(double) = Constant[4.0] :
# 1646| r1646_2(glval<double &>) = VariableAddress[d] :
# 1646| r1646_3(double &) = Load[d] : &:r1646_2, m1644_12
# 1646| r1646_4(glval<double>) = CopyValue : r1646_3
# 1646| m1646_5(double) = Store[?] : &:r1646_4, r1646_1
# 1646| m1646_6(StructuredBindingTupleRefGet) = Chi : total:m1645_9, partial:m1646_5
# 1647| r1647_1(glval<double &>) = VariableAddress[rd] :
# 1647| r1647_2(glval<double &>) = VariableAddress[d] :
# 1647| r1647_3(double &) = Load[d] : &:r1647_2, m1644_12
# 1647| r1647_4(glval<double>) = CopyValue : r1647_3
# 1647| r1647_5(double &) = CopyValue : r1647_4
# 1647| m1647_6(double &) = Store[rd] : &:r1647_1, r1647_5
# 1648| r1648_1(glval<int>) = VariableAddress[v] :
# 1648| r1648_2(glval<int &>) = VariableAddress[i] :
# 1648| r1648_3(int &) = Load[i] : &:r1648_2, m1643_12
# 1648| r1648_4(int) = Load[?] : &:r1648_3, ~m1645_9
# 1648| m1648_5(int) = Store[v] : &:r1648_1, r1648_4
# 1649| r1649_1(int) = Constant[5] :
# 1649| r1649_2(glval<int &>) = VariableAddress[r] :
# 1649| r1649_3(int &) = Load[r] : &:r1649_2, m1645_12
# 1649| r1649_4(glval<int>) = CopyValue : r1649_3
# 1649| m1649_5(int) = Store[?] : &:r1649_4, r1649_1
# 1649| m1649_6(unknown) = Chi : total:m1645_6, partial:m1649_5
# 1650| r1650_1(glval<int &>) = VariableAddress[rr] :
# 1650| r1650_2(glval<int &>) = VariableAddress[r] :
# 1650| r1650_3(int &) = Load[r] : &:r1650_2, m1645_12
# 1650| r1650_4(glval<int>) = CopyValue : r1650_3
# 1650| r1650_5(int &) = CopyValue : r1650_4
# 1650| m1650_6(int &) = Store[rr] : &:r1650_1, r1650_5
# 1651| r1651_1(glval<int>) = VariableAddress[w] :
# 1651| r1651_2(glval<int &>) = VariableAddress[r] :
# 1651| r1651_3(int &) = Load[r] : &:r1651_2, m1645_12
# 1651| r1651_4(int) = Load[?] : &:r1651_3, ~m1649_6
# 1651| m1651_5(int) = Store[w] : &:r1651_1, r1651_4
# 1653| v1653_1(void) = NoOp :
# 1628| v1628_5(void) = ReturnVoid :
# 1628| v1628_6(void) = AliasedUse : ~m1649_6
# 1628| v1628_7(void) = ExitFunction :
# 1655| void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet()
# 1655| Block 0
# 1655| v1655_1(void) = EnterFunction :
# 1655| m1655_2(unknown) = AliasedDefinition :
# 1655| m1655_3(unknown) = InitializeNonLocal :
# 1655| m1655_4(unknown) = Chi : total:m1655_2, partial:m1655_3
# 1655| r1655_5(glval<unknown>) = VariableAddress[#this] :
# 1655| m1655_6(glval<StructuredBindingTupleNoRefGet>) = InitializeParameter[#this] : &:r1655_5
# 1655| r1655_7(glval<StructuredBindingTupleNoRefGet>) = Load[#this] : &:r1655_5, m1655_6
# 1655| m1655_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1655_7
# 1655| v1655_9(void) = NoOp :
# 1655| v1655_10(void) = ReturnIndirection[#this] : &:r1655_7, m1655_8
# 1655| v1655_11(void) = ReturnVoid :
# 1655| v1655_12(void) = AliasedUse : m1655_3
# 1655| v1655_13(void) = ExitFunction :
# 1682| std::tuple_element<int 0, StructuredBindingTupleNoRefGet>::type StructuredBindingTupleNoRefGet::get<int 0>()
# 1682| Block 0
# 1682| v1682_1(void) = EnterFunction :
# 1682| m1682_2(unknown) = AliasedDefinition :
# 1682| m1682_3(unknown) = InitializeNonLocal :
# 1682| m1682_4(unknown) = Chi : total:m1682_2, partial:m1682_3
# 1682| r1682_5(glval<unknown>) = VariableAddress[#this] :
# 1682| m1682_6(glval<StructuredBindingTupleNoRefGet>) = InitializeParameter[#this] : &:r1682_5
# 1682| r1682_7(glval<StructuredBindingTupleNoRefGet>) = Load[#this] : &:r1682_5, m1682_6
# 1682| m1682_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1682_7
# 1683| r1683_1(glval<int>) = VariableAddress[#return] :
# 1683| r1683_2(glval<unknown>) = VariableAddress[#this] :
# 1683| r1683_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1683_2, m1682_6
# 1683| r1683_4(glval<int>) = FieldAddress[i] : r1683_3
# 1683| r1683_5(int) = Load[?] : &:r1683_4, ~m1682_8
# 1683| m1683_6(int) = Store[#return] : &:r1683_1, r1683_5
# 1682| v1682_9(void) = ReturnIndirection[#this] : &:r1682_7, m1682_8
# 1682| r1682_10(glval<int>) = VariableAddress[#return] :
# 1682| v1682_11(void) = ReturnValue : &:r1682_10, m1683_6
# 1682| v1682_12(void) = AliasedUse : m1682_3
# 1682| v1682_13(void) = ExitFunction :
# 1686| std::tuple_element<int 1, StructuredBindingTupleNoRefGet>::type StructuredBindingTupleNoRefGet::get<int 1>()
# 1686| Block 0
# 1686| v1686_1(void) = EnterFunction :
# 1686| m1686_2(unknown) = AliasedDefinition :
# 1686| m1686_3(unknown) = InitializeNonLocal :
# 1686| m1686_4(unknown) = Chi : total:m1686_2, partial:m1686_3
# 1686| r1686_5(glval<unknown>) = VariableAddress[#this] :
# 1686| m1686_6(glval<StructuredBindingTupleNoRefGet>) = InitializeParameter[#this] : &:r1686_5
# 1686| r1686_7(glval<StructuredBindingTupleNoRefGet>) = Load[#this] : &:r1686_5, m1686_6
# 1686| m1686_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1686_7
# 1687| r1687_1(glval<int &>) = VariableAddress[#return] :
# 1687| r1687_2(glval<unknown>) = VariableAddress[#this] :
# 1687| r1687_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1687_2, m1686_6
# 1687| r1687_4(glval<int &>) = FieldAddress[r] : r1687_3
# 1687| r1687_5(int &) = Load[?] : &:r1687_4, ~m1686_8
# 1687| r1687_6(glval<int>) = CopyValue : r1687_5
# 1687| r1687_7(int &) = CopyValue : r1687_6
# 1687| m1687_8(int &) = Store[#return] : &:r1687_1, r1687_7
# 1686| v1686_9(void) = ReturnIndirection[#this] : &:r1686_7, m1686_8
# 1686| r1686_10(glval<int &>) = VariableAddress[#return] :
# 1686| v1686_11(void) = ReturnValue : &:r1686_10, m1687_8
# 1686| v1686_12(void) = AliasedUse : m1686_3
# 1686| v1686_13(void) = ExitFunction :
# 1690| std::tuple_element<int 2, StructuredBindingTupleNoRefGet>::type StructuredBindingTupleNoRefGet::get<int 2>()
# 1690| Block 0
# 1690| v1690_1(void) = EnterFunction :
# 1690| m1690_2(unknown) = AliasedDefinition :
# 1690| m1690_3(unknown) = InitializeNonLocal :
# 1690| m1690_4(unknown) = Chi : total:m1690_2, partial:m1690_3
# 1690| r1690_5(glval<unknown>) = VariableAddress[#this] :
# 1690| m1690_6(glval<StructuredBindingTupleNoRefGet>) = InitializeParameter[#this] : &:r1690_5
# 1690| r1690_7(glval<StructuredBindingTupleNoRefGet>) = Load[#this] : &:r1690_5, m1690_6
# 1690| m1690_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1690_7
# 1691| r1691_1(glval<int &&>) = VariableAddress[#return] :
# 1691| r1691_2(glval<int>) = VariableAddress[#temp1691:12] :
# 1691| r1691_3(int) = Constant[5] :
# 1691| m1691_4(int) = Store[#temp1691:12] : &:r1691_2, r1691_3
# 1691| r1691_5(int &) = CopyValue : r1691_2
# 1691| m1691_6(int &&) = Store[#return] : &:r1691_1, r1691_5
# 1690| v1690_9(void) = ReturnIndirection[#this] : &:r1690_7, m1690_8
# 1690| r1690_10(glval<int &&>) = VariableAddress[#return] :
# 1690| v1690_11(void) = ReturnValue : &:r1690_10, m1691_6
# 1690| v1690_12(void) = AliasedUse : m1690_3
# 1690| v1690_13(void) = ExitFunction :
# 1694| void tuple_structured_binding_no_ref_get()
# 1694| Block 0
# 1694| v1694_1(void) = EnterFunction :
# 1694| m1694_2(unknown) = AliasedDefinition :
# 1694| m1694_3(unknown) = InitializeNonLocal :
# 1694| m1694_4(unknown) = Chi : total:m1694_2, partial:m1694_3
# 1695| r1695_1(glval<StructuredBindingTupleNoRefGet>) = VariableAddress[t] :
# 1695| m1695_2(StructuredBindingTupleNoRefGet) = Uninitialized[t] : &:r1695_1
# 1695| r1695_3(glval<unknown>) = FunctionAddress[StructuredBindingTupleNoRefGet] :
# 1695| v1695_4(void) = Call[StructuredBindingTupleNoRefGet] : func:r1695_3, this:r1695_1
# 1695| m1695_5(unknown) = ^CallSideEffect : ~m1694_4
# 1695| m1695_6(unknown) = Chi : total:m1694_4, partial:m1695_5
# 1695| m1695_7(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1695_1
# 1695| m1695_8(StructuredBindingTupleNoRefGet) = Chi : total:m1695_2, partial:m1695_7
# 1698| r1698_1(glval<StructuredBindingTupleNoRefGet &>) = VariableAddress[(unnamed local variable)] :
# 1698| r1698_2(glval<StructuredBindingTupleNoRefGet>) = VariableAddress[t] :
# 1698| r1698_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1698_2
# 1698| m1698_4(StructuredBindingTupleNoRefGet &) = Store[(unnamed local variable)] : &:r1698_1, r1698_3
# 1698| r1698_5(glval<int &&>) = VariableAddress[i] :
# 1698| r1698_6(glval<int>) = VariableAddress[#temp1698:16] :
# 1698| r1698_7(glval<StructuredBindingTupleNoRefGet &>) = VariableAddress[(unnamed local variable)] :
# 1698| r1698_8(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_7, m1698_4
# 1698| r1698_9(glval<StructuredBindingTupleNoRefGet>) = CopyValue : r1698_8
# 1698| r1698_10(glval<unknown>) = FunctionAddress[get] :
# 1698| r1698_11(int) = Call[get] : func:r1698_10, this:r1698_9
# 1698| m1698_12(unknown) = ^CallSideEffect : ~m1695_6
# 1698| m1698_13(unknown) = Chi : total:m1695_6, partial:m1698_12
# 1698| v1698_14(void) = ^IndirectReadSideEffect[-1] : &:r1698_9, m1695_8
# 1698| m1698_15(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_9
# 1698| m1698_16(StructuredBindingTupleNoRefGet) = Chi : total:m1695_8, partial:m1698_15
# 1698| m1698_17(int) = Store[#temp1698:16] : &:r1698_6, r1698_11
# 1698| r1698_18(int &) = CopyValue : r1698_6
# 1698| m1698_19(int &&) = Store[i] : &:r1698_5, r1698_18
# 1698| r1698_20(glval<int &>) = VariableAddress[r] :
# 1698| r1698_21(glval<StructuredBindingTupleNoRefGet &>) = VariableAddress[(unnamed local variable)] :
# 1698| r1698_22(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_21, m1698_4
# 1698| r1698_23(glval<StructuredBindingTupleNoRefGet>) = CopyValue : r1698_22
# 1698| r1698_24(glval<unknown>) = FunctionAddress[get] :
# 1698| r1698_25(int &) = Call[get] : func:r1698_24, this:r1698_23
# 1698| m1698_26(unknown) = ^CallSideEffect : ~m1698_13
# 1698| m1698_27(unknown) = Chi : total:m1698_13, partial:m1698_26
# 1698| v1698_28(void) = ^IndirectReadSideEffect[-1] : &:r1698_23, m1698_16
# 1698| m1698_29(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_23
# 1698| m1698_30(StructuredBindingTupleNoRefGet) = Chi : total:m1698_16, partial:m1698_29
# 1698| r1698_31(glval<int>) = CopyValue : r1698_25
# 1698| r1698_32(int &) = CopyValue : r1698_31
# 1698| m1698_33(int &) = Store[r] : &:r1698_20, r1698_32
# 1698| r1698_34(glval<int &&>) = VariableAddress[rv] :
# 1698| r1698_35(glval<StructuredBindingTupleNoRefGet &>) = VariableAddress[(unnamed local variable)] :
# 1698| r1698_36(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_35, m1698_4
# 1698| r1698_37(glval<StructuredBindingTupleNoRefGet>) = CopyValue : r1698_36
# 1698| r1698_38(glval<unknown>) = FunctionAddress[get] :
# 1698| r1698_39(int &&) = Call[get] : func:r1698_38, this:r1698_37
# 1698| m1698_40(unknown) = ^CallSideEffect : ~m1698_27
# 1698| m1698_41(unknown) = Chi : total:m1698_27, partial:m1698_40
# 1698| v1698_42(void) = ^IndirectReadSideEffect[-1] : &:r1698_37, m1698_30
# 1698| m1698_43(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_37
# 1698| m1698_44(StructuredBindingTupleNoRefGet) = Chi : total:m1698_30, partial:m1698_43
# 1698| r1698_45(glval<int>) = CopyValue : r1698_39
# 1698| r1698_46(int &) = CopyValue : r1698_45
# 1698| m1698_47(int &&) = Store[rv] : &:r1698_34, r1698_46
# 1699| r1699_1(int) = Constant[4] :
# 1699| r1699_2(glval<int &&>) = VariableAddress[i] :
# 1699| r1699_3(int &&) = Load[i] : &:r1699_2, m1698_19
# 1699| r1699_4(glval<int>) = CopyValue : r1699_3
# 1699| m1699_5(int) = Store[?] : &:r1699_4, r1699_1
# 1700| r1700_1(glval<int &>) = VariableAddress[ri] :
# 1700| r1700_2(glval<int &&>) = VariableAddress[i] :
# 1700| r1700_3(int &&) = Load[i] : &:r1700_2, m1698_19
# 1700| r1700_4(glval<int>) = CopyValue : r1700_3
# 1700| r1700_5(int &) = CopyValue : r1700_4
# 1700| m1700_6(int &) = Store[ri] : &:r1700_1, r1700_5
# 1701| r1701_1(glval<int>) = VariableAddress[v] :
# 1701| r1701_2(glval<int &&>) = VariableAddress[i] :
# 1701| r1701_3(int &&) = Load[i] : &:r1701_2, m1698_19
# 1701| r1701_4(int) = Load[?] : &:r1701_3, m1699_5
# 1701| m1701_5(int) = Store[v] : &:r1701_1, r1701_4
# 1702| r1702_1(int) = Constant[5] :
# 1702| r1702_2(glval<int &>) = VariableAddress[r] :
# 1702| r1702_3(int &) = Load[r] : &:r1702_2, m1698_33
# 1702| r1702_4(glval<int>) = CopyValue : r1702_3
# 1702| m1702_5(int) = Store[?] : &:r1702_4, r1702_1
# 1702| m1702_6(unknown) = Chi : total:m1698_41, partial:m1702_5
# 1703| r1703_1(glval<int &>) = VariableAddress[rr] :
# 1703| r1703_2(glval<int &>) = VariableAddress[r] :
# 1703| r1703_3(int &) = Load[r] : &:r1703_2, m1698_33
# 1703| r1703_4(glval<int>) = CopyValue : r1703_3
# 1703| r1703_5(int &) = CopyValue : r1703_4
# 1703| m1703_6(int &) = Store[rr] : &:r1703_1, r1703_5
# 1704| r1704_1(glval<int>) = VariableAddress[w] :
# 1704| r1704_2(glval<int &>) = VariableAddress[r] :
# 1704| r1704_3(int &) = Load[r] : &:r1704_2, m1698_33
# 1704| r1704_4(int) = Load[?] : &:r1704_3, ~m1702_6
# 1704| m1704_5(int) = Store[w] : &:r1704_1, r1704_4
# 1708| r1708_1(glval<StructuredBindingTupleNoRefGet &>) = VariableAddress[unnamed_local_variable] :
# 1708| r1708_2(glval<StructuredBindingTupleNoRefGet>) = VariableAddress[t] :
# 1708| r1708_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1708_2
# 1708| m1708_4(StructuredBindingTupleNoRefGet &) = Store[unnamed_local_variable] : &:r1708_1, r1708_3
# 1709| r1709_1(glval<int &&>) = VariableAddress[i] :
# 1709| r1709_2(glval<int>) = VariableAddress[#temp1709:20] :
# 1709| r1709_3(glval<StructuredBindingTupleNoRefGet &>) = VariableAddress[unnamed_local_variable] :
# 1709| r1709_4(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1709_3, m1708_4
# 1709| r1709_5(glval<StructuredBindingTupleNoRefGet>) = CopyValue : r1709_4
# 1709| r1709_6(glval<unknown>) = FunctionAddress[get] :
# 1709| r1709_7(int) = Call[get] : func:r1709_6, this:r1709_5
# 1709| m1709_8(unknown) = ^CallSideEffect : ~m1702_6
# 1709| m1709_9(unknown) = Chi : total:m1702_6, partial:m1709_8
# 1709| v1709_10(void) = ^IndirectReadSideEffect[-1] : &:r1709_5, m1698_44
# 1709| m1709_11(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1709_5
# 1709| m1709_12(StructuredBindingTupleNoRefGet) = Chi : total:m1698_44, partial:m1709_11
# 1709| m1709_13(int) = Store[#temp1709:20] : &:r1709_2, r1709_7
# 1709| r1709_14(int &) = CopyValue : r1709_2
# 1709| m1709_15(int &&) = Store[i] : &:r1709_1, r1709_14
# 1710| r1710_1(glval<int &>) = VariableAddress[r] :
# 1710| r1710_2(glval<StructuredBindingTupleNoRefGet &>) = VariableAddress[unnamed_local_variable] :
# 1710| r1710_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1710_2, m1708_4
# 1710| r1710_4(glval<StructuredBindingTupleNoRefGet>) = CopyValue : r1710_3
# 1710| r1710_5(glval<unknown>) = FunctionAddress[get] :
# 1710| r1710_6(int &) = Call[get] : func:r1710_5, this:r1710_4
# 1710| m1710_7(unknown) = ^CallSideEffect : ~m1709_9
# 1710| m1710_8(unknown) = Chi : total:m1709_9, partial:m1710_7
# 1710| v1710_9(void) = ^IndirectReadSideEffect[-1] : &:r1710_4, m1709_12
# 1710| m1710_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1710_4
# 1710| m1710_11(StructuredBindingTupleNoRefGet) = Chi : total:m1709_12, partial:m1710_10
# 1710| r1710_12(glval<int>) = CopyValue : r1710_6
# 1710| r1710_13(int &) = CopyValue : r1710_12
# 1710| m1710_14(int &) = Store[r] : &:r1710_1, r1710_13
# 1711| r1711_1(glval<int &&>) = VariableAddress[rv] :
# 1711| r1711_2(glval<StructuredBindingTupleNoRefGet &>) = VariableAddress[unnamed_local_variable] :
# 1711| r1711_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1711_2, m1708_4
# 1711| r1711_4(glval<StructuredBindingTupleNoRefGet>) = CopyValue : r1711_3
# 1711| r1711_5(glval<unknown>) = FunctionAddress[get] :
# 1711| r1711_6(int &&) = Call[get] : func:r1711_5, this:r1711_4
# 1711| m1711_7(unknown) = ^CallSideEffect : ~m1710_8
# 1711| m1711_8(unknown) = Chi : total:m1710_8, partial:m1711_7
# 1711| v1711_9(void) = ^IndirectReadSideEffect[-1] : &:r1711_4, m1710_11
# 1711| m1711_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1711_4
# 1711| m1711_11(StructuredBindingTupleNoRefGet) = Chi : total:m1710_11, partial:m1711_10
# 1711| r1711_12(glval<int>) = CopyValue : r1711_6
# 1711| r1711_13(int &) = CopyValue : r1711_12
# 1711| m1711_14(int &&) = Store[rv] : &:r1711_1, r1711_13
# 1712| r1712_1(int) = Constant[4] :
# 1712| r1712_2(glval<int &&>) = VariableAddress[i] :
# 1712| r1712_3(int &&) = Load[i] : &:r1712_2, m1709_15
# 1712| r1712_4(glval<int>) = CopyValue : r1712_3
# 1712| m1712_5(int) = Store[?] : &:r1712_4, r1712_1
# 1713| r1713_1(glval<int &>) = VariableAddress[ri] :
# 1713| r1713_2(glval<int &&>) = VariableAddress[i] :
# 1713| r1713_3(int &&) = Load[i] : &:r1713_2, m1709_15
# 1713| r1713_4(glval<int>) = CopyValue : r1713_3
# 1713| r1713_5(int &) = CopyValue : r1713_4
# 1713| m1713_6(int &) = Store[ri] : &:r1713_1, r1713_5
# 1714| r1714_1(glval<int>) = VariableAddress[v] :
# 1714| r1714_2(glval<int &&>) = VariableAddress[i] :
# 1714| r1714_3(int &&) = Load[i] : &:r1714_2, m1709_15
# 1714| r1714_4(int) = Load[?] : &:r1714_3, m1712_5
# 1714| m1714_5(int) = Store[v] : &:r1714_1, r1714_4
# 1715| r1715_1(int) = Constant[5] :
# 1715| r1715_2(glval<int &>) = VariableAddress[r] :
# 1715| r1715_3(int &) = Load[r] : &:r1715_2, m1710_14
# 1715| r1715_4(glval<int>) = CopyValue : r1715_3
# 1715| m1715_5(int) = Store[?] : &:r1715_4, r1715_1
# 1715| m1715_6(unknown) = Chi : total:m1711_8, partial:m1715_5
# 1716| r1716_1(glval<int &>) = VariableAddress[rr] :
# 1716| r1716_2(glval<int &>) = VariableAddress[r] :
# 1716| r1716_3(int &) = Load[r] : &:r1716_2, m1710_14
# 1716| r1716_4(glval<int>) = CopyValue : r1716_3
# 1716| r1716_5(int &) = CopyValue : r1716_4
# 1716| m1716_6(int &) = Store[rr] : &:r1716_1, r1716_5
# 1717| r1717_1(glval<int>) = VariableAddress[w] :
# 1717| r1717_2(glval<int &>) = VariableAddress[r] :
# 1717| r1717_3(int &) = Load[r] : &:r1717_2, m1710_14
# 1717| r1717_4(int) = Load[?] : &:r1717_3, ~m1715_6
# 1717| m1717_5(int) = Store[w] : &:r1717_1, r1717_4
# 1719| v1719_1(void) = NoOp :
# 1694| v1694_5(void) = ReturnVoid :
# 1694| v1694_6(void) = AliasedUse : ~m1715_6
# 1694| v1694_7(void) = ExitFunction :
# 1721| void array_structured_binding_non_ref_init()
# 1721| Block 0
# 1721| v1721_1(void) = EnterFunction :
# 1721| m1721_2(unknown) = AliasedDefinition :
# 1721| m1721_3(unknown) = InitializeNonLocal :
# 1721| m1721_4(unknown) = Chi : total:m1721_2, partial:m1721_3
# 1722| r1722_1(glval<int[2]>) = VariableAddress[xs] :
# 1722| m1722_2(int[2]) = Uninitialized[xs] : &:r1722_1
# 1722| r1722_3(int) = Constant[0] :
# 1722| r1722_4(glval<int>) = PointerAdd[4] : r1722_1, r1722_3
# 1722| r1722_5(int) = Constant[1] :
# 1722| m1722_6(int) = Store[?] : &:r1722_4, r1722_5
# 1722| m1722_7(int[2]) = Chi : total:m1722_2, partial:m1722_6
# 1722| r1722_8(int) = Constant[1] :
# 1722| r1722_9(glval<int>) = PointerAdd[4] : r1722_1, r1722_8
# 1722| r1722_10(int) = Constant[2] :
# 1722| m1722_11(int) = Store[?] : &:r1722_9, r1722_10
# 1722| m1722_12(int[2]) = Chi : total:m1722_7, partial:m1722_11
# 1723| r1723_1(glval<int[2]>) = VariableAddress[(unnamed local variable)] :
# 1723| r1723_2(glval<int[2]>) = VariableAddress[xs] :
# 1723| r1723_3(int[2]) = Load[xs] : &:r1723_2, m1722_12
# 1723| m1723_4(int[2]) = Store[(unnamed local variable)] : &:r1723_1, r1723_3
# 1723| r1723_5(glval<int &>) = VariableAddress[x0] :
#-----| r0_1(glval<int[2]>) = VariableAddress[(unnamed local variable)] :
#-----| r0_2(int *) = Convert : r0_1
#-----| r0_3(unsigned long) = Constant[0] :
#-----| r0_4(glval<int>) = PointerAdd[4] : r0_2, r0_3
#-----| m0_5(int &) = Store[x0] : &:r1723_5, r0_4
# 1723| r1723_6(glval<int &>) = VariableAddress[x1] :
#-----| r0_6(glval<int[2]>) = VariableAddress[(unnamed local variable)] :
#-----| r0_7(int *) = Convert : r0_6
#-----| r0_8(unsigned long) = Constant[1] :
#-----| r0_9(glval<int>) = PointerAdd[4] : r0_7, r0_8
#-----| m0_10(int &) = Store[x1] : &:r1723_6, r0_9
# 1724| v1724_1(void) = NoOp :
# 1721| v1721_5(void) = ReturnVoid :
# 1721| v1721_6(void) = AliasedUse : m1721_3
# 1721| v1721_7(void) = ExitFunction :
# 1729| void CapturedLambdaMyObj::CapturedLambdaMyObj()
# 1729| Block 0
# 1729| v1729_1(void) = EnterFunction :
# 1729| m1729_2(unknown) = AliasedDefinition :
# 1729| m1729_3(unknown) = InitializeNonLocal :
# 1729| m1729_4(unknown) = Chi : total:m1729_2, partial:m1729_3
# 1729| r1729_5(glval<unknown>) = VariableAddress[#this] :
# 1729| m1729_6(glval<CapturedLambdaMyObj>) = InitializeParameter[#this] : &:r1729_5
# 1729| r1729_7(glval<CapturedLambdaMyObj>) = Load[#this] : &:r1729_5, m1729_6
# 1729| m1729_8(CapturedLambdaMyObj) = InitializeIndirection[#this] : &:r1729_7
# 1729| v1729_9(void) = NoOp :
# 1729| v1729_10(void) = ReturnIndirection[#this] : &:r1729_7, m1729_8
# 1729| v1729_11(void) = ReturnVoid :
# 1729| v1729_12(void) = AliasedUse : m1729_3
# 1729| v1729_13(void) = ExitFunction :
# 1732| void captured_lambda(int, int&, int&&)
# 1732| Block 0
# 1732| v1732_1(void) = EnterFunction :
# 1732| m1732_2(unknown) = AliasedDefinition :
# 1732| m1732_3(unknown) = InitializeNonLocal :
# 1732| m1732_4(unknown) = Chi : total:m1732_2, partial:m1732_3
# 1732| r1732_5(glval<int>) = VariableAddress[x] :
# 1732| m1732_6(int) = InitializeParameter[x] : &:r1732_5
# 1732| r1732_7(glval<int &>) = VariableAddress[y] :
# 1732| m1732_8(int &) = InitializeParameter[y] : &:r1732_7
# 1732| r1732_9(int &) = Load[y] : &:r1732_7, m1732_8
# 1732| m1732_10(unknown) = InitializeIndirection[y] : &:r1732_9
# 1732| r1732_11(glval<int &&>) = VariableAddress[z] :
# 1732| m1732_12(int &&) = InitializeParameter[z] : &:r1732_11
# 1732| r1732_13(int &&) = Load[z] : &:r1732_11, m1732_12
# 1732| m1732_14(unknown) = InitializeIndirection[z] : &:r1732_13
# 1734| r1734_1(glval<CapturedLambdaMyObj &>) = VariableAddress[obj1] :
# 1734| r1734_2(glval<CapturedLambdaMyObj>) = VariableAddress[#temp1734:24] :
# 1734| m1734_3(CapturedLambdaMyObj) = Uninitialized[#temp1734:24] : &:r1734_2
# 1734| r1734_4(glval<unknown>) = FunctionAddress[CapturedLambdaMyObj] :
# 1734| v1734_5(void) = Call[CapturedLambdaMyObj] : func:r1734_4, this:r1734_2
# 1734| m1734_6(unknown) = ^CallSideEffect : ~m1732_4
# 1734| m1734_7(unknown) = Chi : total:m1732_4, partial:m1734_6
# 1734| m1734_8(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1734_2
# 1734| m1734_9(CapturedLambdaMyObj) = Chi : total:m1734_3, partial:m1734_8
# 1734| r1734_10(glval<CapturedLambdaMyObj>) = Convert : r1734_2
# 1734| r1734_11(CapturedLambdaMyObj &) = CopyValue : r1734_10
# 1734| m1734_12(CapturedLambdaMyObj &) = Store[obj1] : &:r1734_1, r1734_11
# 1735| r1735_1(glval<CapturedLambdaMyObj>) = VariableAddress[obj2] :
# 1735| m1735_2(CapturedLambdaMyObj) = Uninitialized[obj2] : &:r1735_1
# 1735| r1735_3(glval<unknown>) = FunctionAddress[CapturedLambdaMyObj] :
# 1735| v1735_4(void) = Call[CapturedLambdaMyObj] : func:r1735_3, this:r1735_1
# 1735| m1735_5(unknown) = ^CallSideEffect : ~m1734_7
# 1735| m1735_6(unknown) = Chi : total:m1734_7, partial:m1735_5
# 1735| m1735_7(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1735_1
# 1735| m1735_8(CapturedLambdaMyObj) = Chi : total:m1735_2, partial:m1735_7
# 1737| r1737_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_outer] :
# 1737| r1737_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1737:24] :
# 1737| m1737_3(decltype([...](...){...})) = Uninitialized[#temp1737:24] : &:r1737_2
# 1737| r1737_4(glval<CapturedLambdaMyObj>) = FieldAddress[obj1] : r1737_2
# 1737| r1737_5(glval<CapturedLambdaMyObj &>) = VariableAddress[obj1] :
# 1737| r1737_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1737_5, m1734_12
#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1737_6, m1734_9
#-----| m0_2(CapturedLambdaMyObj) = Store[?] : &:r1737_4, r0_1
#-----| m0_3(decltype([...](...){...})) = Chi : total:m1737_3, partial:m0_2
# 1737| r1737_7(glval<CapturedLambdaMyObj>) = FieldAddress[obj2] : r1737_2
# 1737| r1737_8(glval<CapturedLambdaMyObj>) = VariableAddress[obj2] :
# 1737| r1737_9(CapturedLambdaMyObj) = Load[obj2] : &:r1737_8, m1735_8
# 1737| m1737_10(CapturedLambdaMyObj) = Store[?] : &:r1737_7, r1737_9
# 1737| m1737_11(decltype([...](...){...})) = Chi : total:m0_3, partial:m1737_10
# 1737| r1737_12(glval<int>) = FieldAddress[x] : r1737_2
# 1737| r1737_13(glval<int>) = VariableAddress[x] :
# 1737| r1737_14(int) = Load[x] : &:r1737_13, m1732_6
# 1737| m1737_15(int) = Store[?] : &:r1737_12, r1737_14
# 1737| m1737_16(decltype([...](...){...})) = Chi : total:m1737_11, partial:m1737_15
# 1737| r1737_17(glval<int>) = FieldAddress[y] : r1737_2
# 1737| r1737_18(glval<int &>) = VariableAddress[y] :
# 1737| r1737_19(int &) = Load[y] : &:r1737_18, m1732_8
# 1739| r1739_1(int) = Load[?] : &:r1737_19, ~m1732_10
# 1739| m1739_2(int) = Store[?] : &:r1737_17, r1739_1
# 1739| m1739_3(decltype([...](...){...})) = Chi : total:m1737_16, partial:m1739_2
# 1737| r1737_20(glval<int>) = FieldAddress[z] : r1737_2
# 1737| r1737_21(glval<int &&>) = VariableAddress[z] :
# 1737| r1737_22(int &&) = Load[z] : &:r1737_21, m1732_12
# 1739| r1739_4(int) = Load[?] : &:r1737_22, ~m1732_14
# 1739| m1739_5(int) = Store[?] : &:r1737_20, r1739_4
# 1739| m1739_6(decltype([...](...){...})) = Chi : total:m1739_3, partial:m1739_5
# 1737| r1737_23(decltype([...](...){...})) = Load[#temp1737:24] : &:r1737_2, m1739_6
# 1737| m1737_24(decltype([...](...){...})) = Store[lambda_outer] : &:r1737_1, r1737_23
# 1740| v1740_1(void) = NoOp :
# 1732| v1732_15(void) = ReturnIndirection[y] : &:r1732_9, m1732_10
# 1732| v1732_16(void) = ReturnIndirection[z] : &:r1732_13, m1732_14
# 1732| v1732_17(void) = ReturnVoid :
# 1732| v1732_18(void) = AliasedUse : ~m1735_6
# 1732| v1732_19(void) = ExitFunction :
# 1737| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const
# 1737| Block 0
# 1737| v1737_1(void) = EnterFunction :
# 1737| m1737_2(unknown) = AliasedDefinition :
# 1737| m1737_3(unknown) = InitializeNonLocal :
# 1737| m1737_4(unknown) = Chi : total:m1737_2, partial:m1737_3
# 1737| r1737_5(glval<unknown>) = VariableAddress[#this] :
# 1737| m1737_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1737_5
# 1737| r1737_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1737_5, m1737_6
# 1737| m1737_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1737_7
# 1738| r1738_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_inner] :
# 1738| r1738_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1738:28] :
# 1738| m1738_3(decltype([...](...){...})) = Uninitialized[#temp1738:28] : &:r1738_2
# 1738| r1738_4(glval<CapturedLambdaMyObj>) = FieldAddress[obj1] : r1738_2
# 1738| r1738_5(glval<unknown>) = VariableAddress[#this] :
# 1738| r1738_6(lambda [] type at line 1738, col. 29 *) = Load[#this] : &:r1738_5, m1737_6
# 1738| r1738_7(glval<CapturedLambdaMyObj>) = FieldAddress[obj1] : r1738_6
# 1738| r1738_8(CapturedLambdaMyObj) = Load[?] : &:r1738_7, ~m1737_8
# 1738| m1738_9(CapturedLambdaMyObj) = Store[?] : &:r1738_4, r1738_8
# 1738| m1738_10(decltype([...](...){...})) = Chi : total:m1738_3, partial:m1738_9
# 1738| r1738_11(glval<CapturedLambdaMyObj>) = FieldAddress[obj2] : r1738_2
# 1738| r1738_12(glval<unknown>) = VariableAddress[#this] :
# 1738| r1738_13(lambda [] type at line 1738, col. 29 *) = Load[#this] : &:r1738_12, m1737_6
# 1738| r1738_14(glval<CapturedLambdaMyObj>) = FieldAddress[obj2] : r1738_13
# 1738| r1738_15(CapturedLambdaMyObj) = Load[?] : &:r1738_14, ~m1737_8
# 1738| m1738_16(CapturedLambdaMyObj) = Store[?] : &:r1738_11, r1738_15
# 1738| m1738_17(decltype([...](...){...})) = Chi : total:m1738_10, partial:m1738_16
# 1738| r1738_18(glval<int>) = FieldAddress[x] : r1738_2
# 1738| r1738_19(glval<unknown>) = VariableAddress[#this] :
# 1738| r1738_20(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_19, m1737_6
# 1738| r1738_21(glval<int>) = FieldAddress[x] : r1738_20
# 1738| r1738_22(int) = Load[?] : &:r1738_21, ~m1737_8
# 1738| m1738_23(int) = Store[?] : &:r1738_18, r1738_22
# 1738| m1738_24(decltype([...](...){...})) = Chi : total:m1738_17, partial:m1738_23
# 1738| r1738_25(glval<int>) = FieldAddress[y] : r1738_2
# 1738| r1738_26(glval<unknown>) = VariableAddress[#this] :
# 1738| r1738_27(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_26, m1737_6
# 1738| r1738_28(glval<int>) = FieldAddress[y] : r1738_27
# 1738| r1738_29(int) = Load[?] : &:r1738_28, ~m1737_8
# 1738| m1738_30(int) = Store[?] : &:r1738_25, r1738_29
# 1738| m1738_31(decltype([...](...){...})) = Chi : total:m1738_24, partial:m1738_30
# 1738| r1738_32(glval<int>) = FieldAddress[z] : r1738_2
# 1738| r1738_33(glval<unknown>) = VariableAddress[#this] :
# 1738| r1738_34(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_33, m1737_6
# 1738| r1738_35(glval<int>) = FieldAddress[z] : r1738_34
# 1738| r1738_36(int) = Load[?] : &:r1738_35, ~m1737_8
# 1738| m1738_37(int) = Store[?] : &:r1738_32, r1738_36
# 1738| m1738_38(decltype([...](...){...})) = Chi : total:m1738_31, partial:m1738_37
# 1738| r1738_39(decltype([...](...){...})) = Load[#temp1738:28] : &:r1738_2, m1738_38
# 1738| m1738_40(decltype([...](...){...})) = Store[lambda_inner] : &:r1738_1, r1738_39
# 1739| v1739_1(void) = NoOp :
# 1737| v1737_9(void) = ReturnIndirection[#this] : &:r1737_7, m1737_8
# 1737| v1737_10(void) = ReturnVoid :
# 1737| v1737_11(void) = AliasedUse : m1737_3
# 1737| v1737_12(void) = ExitFunction :
# 1738| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::operator()() const
# 1738| Block 0
# 1738| v1738_1(void) = EnterFunction :
# 1738| m1738_2(unknown) = AliasedDefinition :
# 1738| m1738_3(unknown) = InitializeNonLocal :
# 1738| m1738_4(unknown) = Chi : total:m1738_2, partial:m1738_3
# 1738| r1738_5(glval<unknown>) = VariableAddress[#this] :
# 1738| m1738_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1738_5
# 1738| r1738_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1738_5, m1738_6
# 1738| m1738_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1738_7
# 1738| v1738_9(void) = NoOp :
# 1738| v1738_10(void) = NoOp :
# 1738| v1738_11(void) = ReturnIndirection[#this] : &:r1738_7, m1738_8
# 1738| v1738_12(void) = ReturnVoid :
# 1738| v1738_13(void) = AliasedUse : m1738_3
# 1738| v1738_14(void) = ExitFunction :
# 1742| int goto_on_same_line()
# 1742| Block 0
# 1742| v1742_1(void) = EnterFunction :
# 1742| m1742_2(unknown) = AliasedDefinition :
# 1742| m1742_3(unknown) = InitializeNonLocal :
# 1742| m1742_4(unknown) = Chi : total:m1742_2, partial:m1742_3
# 1743| r1743_1(glval<int>) = VariableAddress[x] :
# 1743| r1743_2(int) = Constant[42] :
# 1743| m1743_3(int) = Store[x] : &:r1743_1, r1743_2
# 1744| v1744_1(void) = NoOp :
# 1744| v1744_2(void) = NoOp :
# 1745| r1745_1(glval<int>) = VariableAddress[#return] :
# 1745| r1745_2(glval<int>) = VariableAddress[x] :
# 1745| r1745_3(int) = Load[x] : &:r1745_2, m1743_3
# 1745| m1745_4(int) = Store[#return] : &:r1745_1, r1745_3
# 1742| r1742_5(glval<int>) = VariableAddress[#return] :
# 1742| v1742_6(void) = ReturnValue : &:r1742_5, m1745_4
# 1742| v1742_7(void) = AliasedUse : m1742_3
# 1742| v1742_8(void) = ExitFunction :
# 1750| void TrivialLambdaClass::m() const
# 1750| Block 0
# 1750| v1750_1(void) = EnterFunction :
# 1750| m1750_2(unknown) = AliasedDefinition :
# 1750| m1750_3(unknown) = InitializeNonLocal :
# 1750| m1750_4(unknown) = Chi : total:m1750_2, partial:m1750_3
# 1750| r1750_5(glval<unknown>) = VariableAddress[#this] :
# 1750| m1750_6(glval<TrivialLambdaClass>) = InitializeParameter[#this] : &:r1750_5
# 1750| r1750_7(glval<TrivialLambdaClass>) = Load[#this] : &:r1750_5, m1750_6
# 1750| m1750_8(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1750_7
# 1751| r1751_1(glval<decltype([...](...){...})>) = VariableAddress[l_m_outer] :
# 1751| r1751_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1751:25] :
# 1751| m1751_3(decltype([...](...){...})) = Uninitialized[#temp1751:25] : &:r1751_2
# 1751| r1751_4(glval<TrivialLambdaClass>) = FieldAddress[(captured this)] : r1751_2
# 1751| r1751_5(glval<unknown>) = VariableAddress[#this] :
# 1751| r1751_6(TrivialLambdaClass *) = Load[#this] : &:r1751_5, m1750_6
# 1751| r1751_7(TrivialLambdaClass) = Load[?] : &:r1751_6, ~m1750_8
# 1751| m1751_8(TrivialLambdaClass) = Store[?] : &:r1751_4, r1751_7
# 1751| r1751_9(decltype([...](...){...})) = Load[#temp1751:25] : &:r1751_2, ~m1751_8
# 1751| m1751_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1751_1, r1751_9
# 1758| v1758_1(void) = NoOp :
# 1750| v1750_9(void) = ReturnIndirection[#this] : &:r1750_7, m1750_8
# 1750| v1750_10(void) = ReturnVoid :
# 1750| v1750_11(void) = AliasedUse : m1750_3
# 1750| v1750_12(void) = ExitFunction :
# 1751| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const
# 1751| Block 0
# 1751| v1751_1(void) = EnterFunction :
# 1751| m1751_2(unknown) = AliasedDefinition :
# 1751| m1751_3(unknown) = InitializeNonLocal :
# 1751| m1751_4(unknown) = Chi : total:m1751_2, partial:m1751_3
# 1751| r1751_5(glval<unknown>) = VariableAddress[#this] :
# 1751| m1751_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1751_5
# 1751| r1751_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1751_5, m1751_6
# 1751| m1751_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1751_7
# 1752| r1752_1(glval<unknown>) = VariableAddress[#this] :
# 1752| r1752_2(lambda [] type at line 1751, col. 26 *) = Load[#this] : &:r1752_1, m1751_6
# 1752| r1752_3(glval<TrivialLambdaClass>) = FieldAddress[(captured this)] : r1752_2
# 1752| r1752_4(TrivialLambdaClass *) = CopyValue : r1752_3
# 1752| r1752_5(glval<unknown>) = FunctionAddress[m] :
# 1752| v1752_6(void) = Call[m] : func:r1752_5, this:r1752_4
# 1752| m1752_7(unknown) = ^CallSideEffect : ~m1751_4
# 1752| m1752_8(unknown) = Chi : total:m1751_4, partial:m1752_7
# 1752| v1752_9(void) = ^IndirectReadSideEffect[-1] : &:r1752_4, ~m1751_8
# 1754| r1754_1(glval<decltype([...](...){...})>) = VariableAddress[l_m_inner] :
# 1754| r1754_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1754:29] :
# 1754| m1754_3(decltype([...](...){...})) = Uninitialized[#temp1754:29] : &:r1754_2
# 1754| r1754_4(glval<TrivialLambdaClass>) = FieldAddress[(captured this)] : r1754_2
# 1754| r1754_5(glval<unknown>) = VariableAddress[#this] :
# 1754| r1754_6(lambda [] type at line 1754, col. 30 *) = Load[#this] : &:r1754_5, m1751_6
# 1754| r1754_7(glval<TrivialLambdaClass>) = FieldAddress[(captured this)] : r1754_6
# 1754| r1754_8(TrivialLambdaClass) = Load[?] : &:r1754_7, ~m1751_8
# 1754| m1754_9(TrivialLambdaClass) = Store[?] : &:r1754_4, r1754_8
# 1754| r1754_10(decltype([...](...){...})) = Load[#temp1754:29] : &:r1754_2, ~m1754_9
# 1754| m1754_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1754_1, r1754_10
# 1757| v1757_1(void) = NoOp :
# 1751| v1751_9(void) = ReturnIndirection[#this] : &:r1751_7, m1751_8
# 1751| v1751_10(void) = ReturnVoid :
# 1751| v1751_11(void) = AliasedUse : ~m1752_8
# 1751| v1751_12(void) = ExitFunction :
# 1754| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::operator()() const
# 1754| Block 0
# 1754| v1754_1(void) = EnterFunction :
# 1754| m1754_2(unknown) = AliasedDefinition :
# 1754| m1754_3(unknown) = InitializeNonLocal :
# 1754| m1754_4(unknown) = Chi : total:m1754_2, partial:m1754_3
# 1754| r1754_5(glval<unknown>) = VariableAddress[#this] :
# 1754| m1754_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1754_5
# 1754| r1754_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1754_5, m1754_6
# 1754| m1754_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1754_7
# 1755| r1755_1(glval<unknown>) = VariableAddress[#this] :
# 1755| r1755_2(lambda [] type at line 1754, col. 30 *) = Load[#this] : &:r1755_1, m1754_6
# 1755| r1755_3(glval<TrivialLambdaClass>) = FieldAddress[(captured this)] : r1755_2
# 1755| r1755_4(TrivialLambdaClass *) = CopyValue : r1755_3
# 1755| r1755_5(glval<unknown>) = FunctionAddress[m] :
# 1755| v1755_6(void) = Call[m] : func:r1755_5, this:r1755_4
# 1755| m1755_7(unknown) = ^CallSideEffect : ~m1754_4
# 1755| m1755_8(unknown) = Chi : total:m1754_4, partial:m1755_7
# 1755| v1755_9(void) = ^IndirectReadSideEffect[-1] : &:r1755_4, ~m1754_8
# 1756| v1756_1(void) = NoOp :
# 1754| v1754_9(void) = ReturnIndirection[#this] : &:r1754_7, m1754_8
# 1754| v1754_10(void) = ReturnVoid :
# 1754| v1754_11(void) = AliasedUse : ~m1755_8
# 1754| v1754_12(void) = ExitFunction :
# 1761| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&)
# 1761| Block 0
# 1761| v1761_1(void) = EnterFunction :
# 1761| m1761_2(unknown) = AliasedDefinition :
# 1761| m1761_3(unknown) = InitializeNonLocal :
# 1761| m1761_4(unknown) = Chi : total:m1761_2, partial:m1761_3
# 1761| r1761_5(glval<TrivialLambdaClass>) = VariableAddress[p1] :
# 1761| m1761_6(TrivialLambdaClass) = InitializeParameter[p1] : &:r1761_5
# 1761| r1761_7(glval<TrivialLambdaClass &>) = VariableAddress[p2] :
# 1761| m1761_8(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1761_7
# 1761| r1761_9(TrivialLambdaClass &) = Load[p2] : &:r1761_7, m1761_8
# 1761| m1761_10(unknown) = InitializeIndirection[p2] : &:r1761_9
# 1761| r1761_11(glval<TrivialLambdaClass &&>) = VariableAddress[p3] :
# 1761| m1761_12(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1761_11
# 1761| r1761_13(TrivialLambdaClass &&) = Load[p3] : &:r1761_11, m1761_12
# 1761| m1761_14(unknown) = InitializeIndirection[p3] : &:r1761_13
# 1762| r1762_1(glval<TrivialLambdaClass>) = VariableAddress[l1] :
# 1762| m1762_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1762_1
# 1763| r1763_1(glval<TrivialLambdaClass &>) = VariableAddress[l2] :
# 1763| r1763_2(glval<TrivialLambdaClass>) = VariableAddress[#temp1763:36] :
# 1763| r1763_3(TrivialLambdaClass) = Constant[0] :
# 1763| m1763_4(TrivialLambdaClass) = Store[#temp1763:36] : &:r1763_2, r1763_3
# 1763| r1763_5(glval<TrivialLambdaClass>) = Convert : r1763_2
# 1763| r1763_6(TrivialLambdaClass &) = CopyValue : r1763_5
# 1763| m1763_7(TrivialLambdaClass &) = Store[l2] : &:r1763_1, r1763_6
# 1765| r1765_1(glval<decltype([...](...){...})>) = VariableAddress[l_outer1] :
# 1765| r1765_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1765:20] :
# 1765| m1765_3(decltype([...](...){...})) = Uninitialized[#temp1765:20] : &:r1765_2
# 1765| r1765_4(glval<TrivialLambdaClass>) = FieldAddress[p1] : r1765_2
# 1765| r1765_5(glval<TrivialLambdaClass>) = VariableAddress[p1] :
# 1765| r1765_6(TrivialLambdaClass) = Load[p1] : &:r1765_5, m1761_6
# 1765| m1765_7(TrivialLambdaClass) = Store[?] : &:r1765_4, r1765_6
# 1765| m1765_8(decltype([...](...){...})) = Chi : total:m1765_3, partial:m1765_7
# 1765| r1765_9(glval<TrivialLambdaClass>) = FieldAddress[p2] : r1765_2
# 1765| r1765_10(glval<TrivialLambdaClass &>) = VariableAddress[p2] :
# 1765| r1765_11(TrivialLambdaClass &) = Load[p2] : &:r1765_10, m1761_8
#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1765_11, ~m1761_10
#-----| m0_2(TrivialLambdaClass) = Store[?] : &:r1765_9, r0_1
#-----| m0_3(decltype([...](...){...})) = Chi : total:m1765_8, partial:m0_2
# 1765| r1765_12(glval<TrivialLambdaClass>) = FieldAddress[p3] : r1765_2
# 1765| r1765_13(glval<TrivialLambdaClass &&>) = VariableAddress[p3] :
# 1765| r1765_14(TrivialLambdaClass &&) = Load[p3] : &:r1765_13, m1761_12
#-----| r0_4(TrivialLambdaClass) = Load[?] : &:r1765_14, ~m1761_14
#-----| m0_5(TrivialLambdaClass) = Store[?] : &:r1765_12, r0_4
#-----| m0_6(decltype([...](...){...})) = Chi : total:m0_3, partial:m0_5
# 1765| r1765_15(glval<TrivialLambdaClass>) = FieldAddress[l1] : r1765_2
# 1765| r1765_16(glval<TrivialLambdaClass>) = VariableAddress[l1] :
# 1765| r1765_17(TrivialLambdaClass) = Load[l1] : &:r1765_16, m1762_2
# 1765| m1765_18(TrivialLambdaClass) = Store[?] : &:r1765_15, r1765_17
# 1765| m1765_19(decltype([...](...){...})) = Chi : total:m0_6, partial:m1765_18
# 1765| r1765_20(glval<TrivialLambdaClass>) = FieldAddress[l2] : r1765_2
# 1765| r1765_21(glval<TrivialLambdaClass &>) = VariableAddress[l2] :
# 1765| r1765_22(TrivialLambdaClass &) = Load[l2] : &:r1765_21, m1763_7
#-----| r0_7(TrivialLambdaClass) = Load[?] : &:r1765_22, m1763_4
#-----| m0_8(TrivialLambdaClass) = Store[?] : &:r1765_20, r0_7
#-----| m0_9(decltype([...](...){...})) = Chi : total:m1765_19, partial:m0_8
# 1765| r1765_23(decltype([...](...){...})) = Load[#temp1765:20] : &:r1765_2, m0_9
# 1765| m1765_24(decltype([...](...){...})) = Store[l_outer1] : &:r1765_1, r1765_23
# 1768| v1768_1(void) = NoOp :
# 1761| v1761_15(void) = ReturnIndirection[p2] : &:r1761_9, m1761_10
# 1761| v1761_16(void) = ReturnIndirection[p3] : &:r1761_13, m1761_14
# 1761| v1761_17(void) = ReturnVoid :
# 1761| v1761_18(void) = AliasedUse : m1761_3
# 1761| v1761_19(void) = ExitFunction :
# 1765| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const
# 1765| Block 0
# 1765| v1765_1(void) = EnterFunction :
# 1765| m1765_2(unknown) = AliasedDefinition :
# 1765| m1765_3(unknown) = InitializeNonLocal :
# 1765| m1765_4(unknown) = Chi : total:m1765_2, partial:m1765_3
# 1765| r1765_5(glval<unknown>) = VariableAddress[#this] :
# 1765| m1765_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1765_5
# 1765| r1765_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1765_5, m1765_6
# 1765| m1765_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1765_7
# 1766| r1766_1(glval<decltype([...](...){...})>) = VariableAddress[l_inner1] :
# 1766| r1766_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1766:24] :
# 1766| m1766_3(decltype([...](...){...})) = Uninitialized[#temp1766:24] : &:r1766_2
# 1766| r1766_4(glval<TrivialLambdaClass>) = FieldAddress[p1] : r1766_2
# 1766| r1766_5(glval<unknown>) = VariableAddress[#this] :
# 1766| r1766_6(lambda [] type at line 1766, col. 25 *) = Load[#this] : &:r1766_5, m1765_6
# 1766| r1766_7(glval<TrivialLambdaClass>) = FieldAddress[p1] : r1766_6
# 1766| r1766_8(TrivialLambdaClass) = Load[?] : &:r1766_7, ~m1765_8
# 1766| m1766_9(TrivialLambdaClass) = Store[?] : &:r1766_4, r1766_8
# 1766| r1766_10(decltype([...](...){...})) = Load[#temp1766:24] : &:r1766_2, ~m1766_9
# 1766| m1766_11(decltype([...](...){...})) = Store[l_inner1] : &:r1766_1, r1766_10
# 1767| v1767_1(void) = NoOp :
# 1765| v1765_9(void) = ReturnIndirection[#this] : &:r1765_7, m1765_8
# 1765| v1765_10(void) = ReturnVoid :
# 1765| v1765_11(void) = AliasedUse : m1765_3
# 1765| v1765_12(void) = ExitFunction :
# 1766| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::operator()() const
# 1766| Block 0
# 1766| v1766_1(void) = EnterFunction :
# 1766| m1766_2(unknown) = AliasedDefinition :
# 1766| m1766_3(unknown) = InitializeNonLocal :
# 1766| m1766_4(unknown) = Chi : total:m1766_2, partial:m1766_3
# 1766| r1766_5(glval<unknown>) = VariableAddress[#this] :
# 1766| m1766_6(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1766_5
# 1766| r1766_7(glval<decltype([...](...){...})>) = Load[#this] : &:r1766_5, m1766_6
# 1766| m1766_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1766_7
# 1766| v1766_9(void) = NoOp :
# 1766| v1766_10(void) = ReturnIndirection[#this] : &:r1766_7, m1766_8
# 1766| v1766_11(void) = ReturnVoid :
# 1766| v1766_12(void) = AliasedUse : m1766_3
# 1766| v1766_13(void) = ExitFunction :
# 1773| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass()
# 1773| Block 0
# 1773| v1773_1(void) = EnterFunction :
# 1773| m1773_2(unknown) = AliasedDefinition :
# 1773| m1773_3(unknown) = InitializeNonLocal :
# 1773| m1773_4(unknown) = Chi : total:m1773_2, partial:m1773_3
# 1773| r1773_5(glval<unknown>) = VariableAddress[#this] :
# 1773| m1773_6(glval<CopyConstructorWithImplicitArgumentClass>) = InitializeParameter[#this] : &:r1773_5
# 1773| r1773_7(glval<CopyConstructorWithImplicitArgumentClass>) = Load[#this] : &:r1773_5, m1773_6
# 1773| m1773_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1773_7
# 1773| v1773_9(void) = NoOp :
# 1773| v1773_10(void) = ReturnIndirection[#this] : &:r1773_7, m1773_8
# 1773| v1773_11(void) = ReturnVoid :
# 1773| v1773_12(void) = AliasedUse : m1773_3
# 1773| v1773_13(void) = ExitFunction :
# 1774| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&)
# 1774| Block 0
# 1774| v1774_1(void) = EnterFunction :
# 1774| m1774_2(unknown) = AliasedDefinition :
# 1774| m1774_3(unknown) = InitializeNonLocal :
# 1774| m1774_4(unknown) = Chi : total:m1774_2, partial:m1774_3
# 1774| r1774_5(glval<unknown>) = VariableAddress[#this] :
# 1774| m1774_6(glval<CopyConstructorWithImplicitArgumentClass>) = InitializeParameter[#this] : &:r1774_5
# 1774| r1774_7(glval<CopyConstructorWithImplicitArgumentClass>) = Load[#this] : &:r1774_5, m1774_6
# 1774| m1774_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1774_7
# 1774| r1774_9(glval<CopyConstructorWithImplicitArgumentClass &>) = VariableAddress[c] :
# 1774| m1774_10(CopyConstructorWithImplicitArgumentClass &) = InitializeParameter[c] : &:r1774_9
# 1774| r1774_11(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1774_9, m1774_10
# 1774| m1774_12(unknown) = InitializeIndirection[c] : &:r1774_11
# 1775| r1775_1(glval<CopyConstructorWithImplicitArgumentClass &>) = VariableAddress[c] :
# 1775| r1775_2(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1775_1, m1774_10
# 1775| r1775_3(glval<CopyConstructorWithImplicitArgumentClass>) = CopyValue : r1775_2
# 1775| r1775_4(glval<int>) = FieldAddress[x] : r1775_3
# 1775| r1775_5(int) = Load[?] : &:r1775_4, ~m1774_12
# 1775| r1775_6(glval<unknown>) = VariableAddress[#this] :
# 1775| r1775_7(CopyConstructorWithImplicitArgumentClass *) = Load[#this] : &:r1775_6, m1774_6
# 1775| r1775_8(glval<int>) = FieldAddress[x] : r1775_7
# 1775| m1775_9(int) = Store[?] : &:r1775_8, r1775_5
# 1775| m1775_10(unknown) = Chi : total:m1774_8, partial:m1775_9
# 1776| v1776_1(void) = NoOp :
# 1774| v1774_13(void) = ReturnIndirection[#this] : &:r1774_7, m1775_10
# 1774| v1774_14(void) = ReturnIndirection[c] : &:r1774_11, m1774_12
# 1774| v1774_15(void) = ReturnVoid :
# 1774| v1774_16(void) = AliasedUse : m1774_3
# 1774| v1774_17(void) = ExitFunction :
# 1782| void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass()
# 1782| Block 0
# 1782| v1782_1(void) = EnterFunction :
# 1782| m1782_2(unknown) = AliasedDefinition :
# 1782| m1782_3(unknown) = InitializeNonLocal :
# 1782| m1782_4(unknown) = Chi : total:m1782_2, partial:m1782_3
# 1782| r1782_5(glval<unknown>) = VariableAddress[#this] :
# 1782| m1782_6(glval<CopyConstructorWithBitwiseCopyClass>) = InitializeParameter[#this] : &:r1782_5
# 1782| r1782_7(glval<CopyConstructorWithBitwiseCopyClass>) = Load[#this] : &:r1782_5, m1782_6
# 1782| m1782_8(CopyConstructorWithBitwiseCopyClass) = InitializeIndirection[#this] : &:r1782_7
# 1782| v1782_9(void) = NoOp :
# 1782| v1782_10(void) = ReturnIndirection[#this] : &:r1782_7, m1782_8
# 1782| v1782_11(void) = ReturnVoid :
# 1782| v1782_12(void) = AliasedUse : m1782_3
# 1782| v1782_13(void) = ExitFunction :
# 1785| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&)
# 1785| Block 0
# 1785| v1785_1(void) = EnterFunction :
# 1785| m1785_2(unknown) = AliasedDefinition :
# 1785| m1785_3(unknown) = InitializeNonLocal :
# 1785| m1785_4(unknown) = Chi : total:m1785_2, partial:m1785_3
# 1785| r1785_5(glval<unknown>) = VariableAddress[#this] :
# 1785| m1785_6(glval<CopyConstructorTestNonVirtualClass>) = InitializeParameter[#this] : &:r1785_5
# 1785| r1785_7(glval<CopyConstructorTestNonVirtualClass>) = Load[#this] : &:r1785_5, m1785_6
# 1785| m1785_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1785_7
#-----| r0_1(glval<CopyConstructorTestNonVirtualClass &>) = VariableAddress[(unnamed parameter 0)] :
#-----| 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_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
# 1785| r1785_13(glval<CopyConstructorTestNonVirtualClass>) = CopyValue : r1785_12
# 1785| r1785_14(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1785_13
# 1785| r1785_15(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1785_14
# 1785| v1785_16(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1785_10, this:r1785_9, 0:r1785_15
# 1785| m1785_17(unknown) = ^CallSideEffect : ~m1785_4
# 1785| m1785_18(unknown) = Chi : total:m1785_4, partial:m1785_17
# 1785| v1785_19(void) = ^BufferReadSideEffect[0] : &:r1785_15, ~m0_4
# 1785| m1785_20(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1785_9
# 1785| m1785_21(unknown) = Chi : total:m1785_8, partial:m1785_20
# 1785| v1785_22(void) = NoOp :
# 1785| v1785_23(void) = ReturnIndirection[#this] : &:r1785_7, m1785_21
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 1785| v1785_24(void) = ReturnVoid :
# 1785| v1785_25(void) = AliasedUse : ~m1785_18
# 1785| v1785_26(void) = ExitFunction :
# 1789| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass()
# 1789| Block 0
# 1789| v1789_1(void) = EnterFunction :
# 1789| m1789_2(unknown) = AliasedDefinition :
# 1789| m1789_3(unknown) = InitializeNonLocal :
# 1789| m1789_4(unknown) = Chi : total:m1789_2, partial:m1789_3
# 1789| r1789_5(glval<unknown>) = VariableAddress[#this] :
# 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_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_17(glval<unknown>) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] :
# 1789| v1789_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1789_17, this:r1789_16
# 1789| m1789_19(unknown) = ^CallSideEffect : ~m1789_13
# 1789| m1789_20(unknown) = Chi : total:m1789_13, partial:m1789_19
# 1789| m1789_21(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1789_16
# 1789| m1789_22(unknown) = Chi : total:m1789_15, partial:m1789_21
# 1789| v1789_23(void) = NoOp :
# 1789| v1789_24(void) = ReturnIndirection[#this] : &:r1789_7, m1789_22
# 1789| v1789_25(void) = ReturnVoid :
# 1789| v1789_26(void) = AliasedUse : ~m1789_20
# 1789| v1789_27(void) = ExitFunction :
# 1792| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&)
# 1792| Block 0
# 1792| v1792_1(void) = EnterFunction :
# 1792| m1792_2(unknown) = AliasedDefinition :
# 1792| m1792_3(unknown) = InitializeNonLocal :
# 1792| m1792_4(unknown) = Chi : total:m1792_2, partial:m1792_3
# 1792| r1792_5(glval<unknown>) = VariableAddress[#this] :
# 1792| m1792_6(glval<CopyConstructorTestVirtualClass>) = InitializeParameter[#this] : &:r1792_5
# 1792| r1792_7(glval<CopyConstructorTestVirtualClass>) = Load[#this] : &:r1792_5, m1792_6
# 1792| m1792_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1792_7
# 1792| m1792_9(unknown) = Chi : total:m1792_4, partial:m1792_8
#-----| r0_1(glval<CopyConstructorTestVirtualClass &>) = VariableAddress[(unnamed parameter 0)] :
#-----| 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_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
# 1792| r1792_14(glval<CopyConstructorTestVirtualClass>) = CopyValue : r1792_13
# 1792| r1792_15(glval<CopyConstructorWithImplicitArgumentClass>) = ConvertToVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1792_14
# 1792| r1792_16(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1792_15
# 1792| v1792_17(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1792_11, this:r1792_10, 0:r1792_16
# 1792| m1792_18(unknown) = ^CallSideEffect : ~m1792_9
# 1792| m1792_19(unknown) = Chi : total:m1792_9, partial:m1792_18
# 1792| v1792_20(void) = ^BufferReadSideEffect[0] : &:r1792_16, ~m0_4
# 1792| m1792_21(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1792_10
# 1792| m1792_22(unknown) = Chi : total:m1792_19, partial:m1792_21
# 1792| v1792_23(void) = NoOp :
# 1792| v1792_24(void) = ReturnIndirection[#this] : &:r1792_7, ~m1792_22
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 1792| v1792_25(void) = ReturnVoid :
# 1792| v1792_26(void) = AliasedUse : ~m1792_22
# 1792| v1792_27(void) = ExitFunction :
# 1796| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass()
# 1796| Block 0
# 1796| v1796_1(void) = EnterFunction :
# 1796| m1796_2(unknown) = AliasedDefinition :
# 1796| m1796_3(unknown) = InitializeNonLocal :
# 1796| m1796_4(unknown) = Chi : total:m1796_2, partial:m1796_3
# 1796| r1796_5(glval<unknown>) = VariableAddress[#this] :
# 1796| m1796_6(glval<CopyConstructorTestVirtualClass>) = InitializeParameter[#this] : &:r1796_5
# 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_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_18(glval<unknown>) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] :
# 1796| v1796_19(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1796_18, this:r1796_17
# 1796| m1796_20(unknown) = ^CallSideEffect : ~m1796_16
# 1796| m1796_21(unknown) = Chi : total:m1796_16, partial:m1796_20
# 1796| m1796_22(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1796_17
# 1796| m1796_23(unknown) = Chi : total:m1796_21, partial:m1796_22
# 1796| v1796_24(void) = NoOp :
# 1796| v1796_25(void) = ReturnIndirection[#this] : &:r1796_7, ~m1796_23
# 1796| v1796_26(void) = ReturnVoid :
# 1796| v1796_27(void) = AliasedUse : ~m1796_23
# 1796| v1796_28(void) = ExitFunction :
# 1799| int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&)
# 1799| Block 0
# 1799| v1799_1(void) = EnterFunction :
# 1799| m1799_2(unknown) = AliasedDefinition :
# 1799| m1799_3(unknown) = InitializeNonLocal :
# 1799| m1799_4(unknown) = Chi : total:m1799_2, partial:m1799_3
# 1800| r1800_1(glval<CopyConstructorTestNonVirtualClass &>) = VariableAddress[x] :
# 1800| m1800_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[x] : &:r1800_1
# 1800| r1800_3(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1800_1, m1800_2
# 1800| m1800_4(unknown) = InitializeIndirection[x] : &:r1800_3
# 1801| r1801_1(glval<CopyConstructorTestVirtualClass &>) = VariableAddress[y] :
# 1801| m1801_2(CopyConstructorTestVirtualClass &) = InitializeParameter[y] : &:r1801_1
# 1801| r1801_3(CopyConstructorTestVirtualClass &) = Load[y] : &:r1801_1, m1801_2
# 1801| m1801_4(unknown) = InitializeIndirection[y] : &:r1801_3
# 1802| r1802_1(glval<CopyConstructorTestNonVirtualClass>) = VariableAddress[cx] :
# 1802| m1802_2(CopyConstructorTestNonVirtualClass) = Uninitialized[cx] : &:r1802_1
# 1802| r1802_3(glval<unknown>) = FunctionAddress[CopyConstructorTestNonVirtualClass] :
# 1802| r1802_4(glval<CopyConstructorTestNonVirtualClass &>) = VariableAddress[x] :
# 1802| r1802_5(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1802_4, m1800_2
# 1802| r1802_6(glval<CopyConstructorTestNonVirtualClass>) = CopyValue : r1802_5
# 1802| r1802_7(CopyConstructorTestNonVirtualClass &) = CopyValue : r1802_6
# 1802| v1802_8(void) = Call[CopyConstructorTestNonVirtualClass] : func:r1802_3, this:r1802_1, 0:r1802_7
# 1802| m1802_9(unknown) = ^CallSideEffect : ~m1799_4
# 1802| m1802_10(unknown) = Chi : total:m1799_4, partial:m1802_9
# 1802| v1802_11(void) = ^BufferReadSideEffect[0] : &:r1802_7, ~m1800_4
# 1802| m1802_12(CopyConstructorTestNonVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1802_1
# 1802| m1802_13(CopyConstructorTestNonVirtualClass) = Chi : total:m1802_2, partial:m1802_12
# 1803| r1803_1(glval<CopyConstructorTestVirtualClass>) = VariableAddress[cy] :
# 1803| m1803_2(CopyConstructorTestVirtualClass) = Uninitialized[cy] : &:r1803_1
# 1803| m1803_3(unknown) = Chi : total:m1802_10, partial:m1803_2
# 1803| r1803_4(glval<unknown>) = FunctionAddress[CopyConstructorTestVirtualClass] :
# 1803| r1803_5(glval<CopyConstructorTestVirtualClass &>) = VariableAddress[y] :
# 1803| r1803_6(CopyConstructorTestVirtualClass &) = Load[y] : &:r1803_5, m1801_2
# 1803| r1803_7(glval<CopyConstructorTestVirtualClass>) = CopyValue : r1803_6
# 1803| r1803_8(CopyConstructorTestVirtualClass &) = CopyValue : r1803_7
# 1803| v1803_9(void) = Call[CopyConstructorTestVirtualClass] : func:r1803_4, this:r1803_1, 0:r1803_8
# 1803| m1803_10(unknown) = ^CallSideEffect : ~m1803_3
# 1803| m1803_11(unknown) = Chi : total:m1803_3, partial:m1803_10
# 1803| v1803_12(void) = ^BufferReadSideEffect[0] : &:r1803_8, ~m1801_4
# 1803| m1803_13(CopyConstructorTestVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1803_1
# 1803| m1803_14(unknown) = Chi : total:m1803_11, partial:m1803_13
# 1804| r1804_1(glval<int>) = VariableAddress[#return] :
# 1804| m1804_2(int) = Uninitialized[#return] : &:r1804_1
# 1800| v1800_5(void) = ReturnIndirection[x] : &:r1800_3, m1800_4
# 1801| v1801_5(void) = ReturnIndirection[y] : &:r1801_3, m1801_4
# 1799| r1799_5(glval<int>) = VariableAddress[#return] :
# 1799| v1799_6(void) = ReturnValue : &:r1799_5, m1804_2
# 1799| v1799_7(void) = AliasedUse : ~m1803_11
# 1799| v1799_8(void) = ExitFunction :
# 1806| void if_initialization(int)
# 1806| Block 0
# 1806| v1806_1(void) = EnterFunction :
# 1806| m1806_2(unknown) = AliasedDefinition :
# 1806| m1806_3(unknown) = InitializeNonLocal :
# 1806| m1806_4(unknown) = Chi : total:m1806_2, partial:m1806_3
# 1806| r1806_5(glval<int>) = VariableAddress[x] :
# 1806| m1806_6(int) = InitializeParameter[x] : &:r1806_5
# 1807| r1807_1(glval<int>) = VariableAddress[y] :
# 1807| r1807_2(glval<int>) = VariableAddress[x] :
# 1807| r1807_3(int) = Load[x] : &:r1807_2, m1806_6
# 1807| m1807_4(int) = Store[y] : &:r1807_1, r1807_3
# 1807| r1807_5(glval<int>) = VariableAddress[x] :
# 1807| r1807_6(int) = Load[x] : &:r1807_5, m1806_6
# 1807| r1807_7(int) = Constant[1] :
# 1807| r1807_8(int) = Add : r1807_6, r1807_7
# 1807| r1807_9(int) = Constant[0] :
# 1807| r1807_10(bool) = CompareNE : r1807_8, r1807_9
# 1807| v1807_11(void) = ConditionalBranch : r1807_10
#-----| False -> Block 2
#-----| True -> Block 1
# 1808| Block 1
# 1808| r1808_1(glval<int>) = VariableAddress[x] :
# 1808| r1808_2(int) = Load[x] : &:r1808_1, m1806_6
# 1808| r1808_3(glval<int>) = VariableAddress[y] :
# 1808| r1808_4(int) = Load[y] : &:r1808_3, m1807_4
# 1808| r1808_5(int) = Add : r1808_2, r1808_4
# 1808| r1808_6(glval<int>) = VariableAddress[x] :
# 1808| m1808_7(int) = Store[x] : &:r1808_6, r1808_5
#-----| Goto -> Block 2
# 1811| Block 2
# 1811| m1811_1(int) = Phi : from 0:m1806_6, from 1:m1808_7
# 1811| r1811_2(glval<int>) = VariableAddress[w] :
# 1811| m1811_3(int) = Uninitialized[w] : &:r1811_2
# 1812| r1812_1(glval<int>) = VariableAddress[x] :
# 1812| r1812_2(int) = Load[x] : &:r1812_1, m1811_1
# 1812| r1812_3(glval<int>) = VariableAddress[w] :
# 1812| m1812_4(int) = Store[w] : &:r1812_3, r1812_2
# 1812| r1812_5(glval<int>) = VariableAddress[x] :
# 1812| r1812_6(int) = Load[x] : &:r1812_5, m1811_1
# 1812| r1812_7(int) = Constant[1] :
# 1812| r1812_8(int) = Add : r1812_6, r1812_7
# 1812| r1812_9(int) = Constant[0] :
# 1812| r1812_10(bool) = CompareNE : r1812_8, r1812_9
# 1812| v1812_11(void) = ConditionalBranch : r1812_10
#-----| False -> Block 4
#-----| True -> Block 3
# 1813| Block 3
# 1813| r1813_1(glval<int>) = VariableAddress[x] :
# 1813| r1813_2(int) = Load[x] : &:r1813_1, m1811_1
# 1813| r1813_3(glval<int>) = VariableAddress[w] :
# 1813| r1813_4(int) = Load[w] : &:r1813_3, m1812_4
# 1813| r1813_5(int) = Add : r1813_2, r1813_4
# 1813| r1813_6(glval<int>) = VariableAddress[x] :
# 1813| m1813_7(int) = Store[x] : &:r1813_6, r1813_5
#-----| Goto -> Block 4
# 1816| Block 4
# 1816| m1816_1(int) = Phi : from 2:m1811_1, from 3:m1813_7
# 1816| r1816_2(glval<int>) = VariableAddress[x] :
# 1816| r1816_3(int) = Load[x] : &:r1816_2, m1816_1
# 1816| r1816_4(glval<int>) = VariableAddress[w] :
# 1816| m1816_5(int) = Store[w] : &:r1816_4, r1816_3
# 1816| r1816_6(glval<int>) = VariableAddress[w2] :
# 1816| r1816_7(glval<int>) = VariableAddress[w] :
# 1816| r1816_8(int) = Load[w] : &:r1816_7, m1816_5
# 1816| m1816_9(int) = Store[w2] : &:r1816_6, r1816_8
# 1816| r1816_10(glval<int>) = VariableAddress[w2] :
# 1816| r1816_11(int) = Load[w2] : &:r1816_10, m1816_9
# 1816| r1816_12(int) = Constant[0] :
# 1816| r1816_13(bool) = CompareNE : r1816_11, r1816_12
# 1816| r1816_14(bool) = CopyValue : r1816_13
# 1816| v1816_15(void) = ConditionalBranch : r1816_14
#-----| False -> Block 6
#-----| True -> Block 5
# 1817| Block 5
# 1817| r1817_1(glval<int>) = VariableAddress[x] :
# 1817| r1817_2(int) = Load[x] : &:r1817_1, m1816_1
# 1817| r1817_3(glval<int>) = VariableAddress[w] :
# 1817| r1817_4(int) = Load[w] : &:r1817_3, m1816_5
# 1817| r1817_5(int) = Add : r1817_2, r1817_4
# 1817| r1817_6(glval<int>) = VariableAddress[x] :
# 1817| m1817_7(int) = Store[x] : &:r1817_6, r1817_5
#-----| Goto -> Block 6
# 1820| Block 6
# 1820| m1820_1(int) = Phi : from 4:m1816_1, from 5:m1817_7
# 1820| r1820_2(glval<int>) = VariableAddress[v] :
# 1820| r1820_3(glval<int>) = VariableAddress[x] :
# 1820| r1820_4(int) = Load[x] : &:r1820_3, m1820_1
# 1820| m1820_5(int) = Store[v] : &:r1820_2, r1820_4
# 1820| r1820_6(glval<int>) = VariableAddress[v2] :
# 1820| r1820_7(glval<int>) = VariableAddress[v] :
# 1820| r1820_8(int) = Load[v] : &:r1820_7, m1820_5
# 1820| m1820_9(int) = Store[v2] : &:r1820_6, r1820_8
# 1820| r1820_10(glval<int>) = VariableAddress[v2] :
# 1820| r1820_11(int) = Load[v2] : &:r1820_10, m1820_9
# 1820| r1820_12(int) = Constant[0] :
# 1820| r1820_13(bool) = CompareNE : r1820_11, r1820_12
# 1820| r1820_14(bool) = CopyValue : r1820_13
# 1820| v1820_15(void) = ConditionalBranch : r1820_14
#-----| False -> Block 8
#-----| True -> Block 7
# 1821| Block 7
# 1821| r1821_1(glval<int>) = VariableAddress[x] :
# 1821| r1821_2(int) = Load[x] : &:r1821_1, m1820_1
# 1821| r1821_3(glval<int>) = VariableAddress[v] :
# 1821| r1821_4(int) = Load[v] : &:r1821_3, m1820_5
# 1821| r1821_5(int) = Add : r1821_2, r1821_4
# 1821| r1821_6(glval<int>) = VariableAddress[x] :
# 1821| m1821_7(int) = Store[x] : &:r1821_6, r1821_5
#-----| Goto -> Block 8
# 1824| Block 8
# 1824| m1824_1(int) = Phi : from 6:m1820_1, from 7:m1821_7
# 1824| r1824_2(glval<int>) = VariableAddress[z] :
# 1824| r1824_3(glval<int>) = VariableAddress[x] :
# 1824| r1824_4(int) = Load[x] : &:r1824_3, m1824_1
# 1824| m1824_5(int) = Store[z] : &:r1824_2, r1824_4
# 1825| r1825_1(glval<int>) = VariableAddress[z] :
# 1825| r1825_2(int) = Load[z] : &:r1825_1, m1824_5
# 1825| r1825_3(int) = Constant[0] :
# 1825| r1825_4(bool) = CompareNE : r1825_2, r1825_3
# 1825| v1825_5(void) = ConditionalBranch : r1825_4
#-----| False -> Block 10
#-----| True -> Block 9
# 1826| Block 9
# 1826| r1826_1(glval<int>) = VariableAddress[x] :
# 1826| r1826_2(int) = Load[x] : &:r1826_1, m1824_1
# 1826| r1826_3(glval<int>) = VariableAddress[z] :
# 1826| r1826_4(int) = Load[z] : &:r1826_3, m1824_5
# 1826| r1826_5(int) = Add : r1826_2, r1826_4
# 1826| r1826_6(glval<int>) = VariableAddress[x] :
# 1826| m1826_7(int) = Store[x] : &:r1826_6, r1826_5
#-----| Goto -> Block 10
# 1829| Block 10
# 1829| m1829_1(int) = Phi : from 8:m1824_1, from 9:m1826_7
# 1829| r1829_2(glval<int>) = VariableAddress[z2] :
# 1829| r1829_3(glval<int>) = VariableAddress[z] :
# 1829| r1829_4(int) = Load[z] : &:r1829_3, m1824_5
# 1829| m1829_5(int) = Store[z2] : &:r1829_2, r1829_4
# 1829| r1829_6(glval<int>) = VariableAddress[z2] :
# 1829| r1829_7(int) = Load[z2] : &:r1829_6, m1829_5
# 1829| r1829_8(int) = Constant[0] :
# 1829| r1829_9(bool) = CompareNE : r1829_7, r1829_8
# 1829| r1829_10(bool) = CopyValue : r1829_9
# 1829| v1829_11(void) = ConditionalBranch : r1829_10
#-----| False -> Block 12
#-----| True -> Block 11
# 1830| Block 11
# 1830| r1830_1(glval<int>) = VariableAddress[z2] :
# 1830| r1830_2(int) = Load[z2] : &:r1830_1, m1829_5
# 1830| r1830_3(glval<int>) = VariableAddress[x] :
# 1830| r1830_4(int) = Load[x] : &:r1830_3, m1829_1
# 1830| r1830_5(int) = Add : r1830_4, r1830_2
# 1830| m1830_6(int) = Store[x] : &:r1830_3, r1830_5
#-----| Goto -> Block 12
# 1832| Block 12
# 1832| v1832_1(void) = NoOp :
# 1806| v1806_7(void) = ReturnVoid :
# 1806| v1806_8(void) = AliasedUse : m1806_3
# 1806| v1806_9(void) = ExitFunction :
# 1834| void switch_initialization(int)
# 1834| Block 0
# 1834| v1834_1(void) = EnterFunction :
# 1834| m1834_2(unknown) = AliasedDefinition :
# 1834| m1834_3(unknown) = InitializeNonLocal :
# 1834| m1834_4(unknown) = Chi : total:m1834_2, partial:m1834_3
# 1834| r1834_5(glval<int>) = VariableAddress[x] :
# 1834| m1834_6(int) = InitializeParameter[x] : &:r1834_5
# 1835| r1835_1(glval<int>) = VariableAddress[y] :
# 1835| r1835_2(glval<int>) = VariableAddress[x] :
# 1835| r1835_3(int) = Load[x] : &:r1835_2, m1834_6
# 1835| m1835_4(int) = Store[y] : &:r1835_1, r1835_3
# 1835| r1835_5(glval<int>) = VariableAddress[x] :
# 1835| r1835_6(int) = Load[x] : &:r1835_5, m1834_6
# 1835| r1835_7(int) = Constant[1] :
# 1835| r1835_8(int) = Add : r1835_6, r1835_7
# 1835| v1835_9(void) = Switch : r1835_8
#-----| Default -> Block 1
# 1836| Block 1
# 1836| v1836_1(void) = NoOp :
# 1837| r1837_1(glval<int>) = VariableAddress[x] :
# 1837| r1837_2(int) = Load[x] : &:r1837_1, m1834_6
# 1837| r1837_3(glval<int>) = VariableAddress[y] :
# 1837| r1837_4(int) = Load[y] : &:r1837_3, m1835_4
# 1837| r1837_5(int) = Add : r1837_2, r1837_4
# 1837| r1837_6(glval<int>) = VariableAddress[x] :
# 1837| m1837_7(int) = Store[x] : &:r1837_6, r1837_5
# 1840| r1840_1(glval<int>) = VariableAddress[w] :
# 1840| m1840_2(int) = Uninitialized[w] : &:r1840_1
# 1841| r1841_1(glval<int>) = VariableAddress[x] :
# 1841| r1841_2(int) = Load[x] : &:r1841_1, m1837_7
# 1841| r1841_3(glval<int>) = VariableAddress[w] :
# 1841| m1841_4(int) = Store[w] : &:r1841_3, r1841_2
# 1841| r1841_5(glval<int>) = VariableAddress[x] :
# 1841| r1841_6(int) = Load[x] : &:r1841_5, m1837_7
# 1841| r1841_7(int) = Constant[1] :
# 1841| r1841_8(int) = Add : r1841_6, r1841_7
# 1841| v1841_9(void) = Switch : r1841_8
#-----| Default -> Block 2
# 1842| Block 2
# 1842| v1842_1(void) = NoOp :
# 1843| r1843_1(glval<int>) = VariableAddress[x] :
# 1843| r1843_2(int) = Load[x] : &:r1843_1, m1837_7
# 1843| r1843_3(glval<int>) = VariableAddress[w] :
# 1843| r1843_4(int) = Load[w] : &:r1843_3, m1841_4
# 1843| r1843_5(int) = Add : r1843_2, r1843_4
# 1843| r1843_6(glval<int>) = VariableAddress[x] :
# 1843| m1843_7(int) = Store[x] : &:r1843_6, r1843_5
# 1846| r1846_1(glval<int>) = VariableAddress[x] :
# 1846| r1846_2(int) = Load[x] : &:r1846_1, m1843_7
# 1846| r1846_3(glval<int>) = VariableAddress[w] :
# 1846| m1846_4(int) = Store[w] : &:r1846_3, r1846_2
# 1846| r1846_5(glval<int>) = VariableAddress[w2] :
# 1846| r1846_6(glval<int>) = VariableAddress[w] :
# 1846| r1846_7(int) = Load[w] : &:r1846_6, m1846_4
# 1846| m1846_8(int) = Store[w2] : &:r1846_5, r1846_7
# 1846| r1846_9(glval<int>) = VariableAddress[w2] :
# 1846| r1846_10(int) = Load[w2] : &:r1846_9, m1846_8
# 1846| r1846_11(int) = CopyValue : r1846_10
# 1846| v1846_12(void) = Switch : r1846_11
#-----| Default -> Block 3
# 1847| Block 3
# 1847| v1847_1(void) = NoOp :
# 1848| r1848_1(glval<int>) = VariableAddress[x] :
# 1848| r1848_2(int) = Load[x] : &:r1848_1, m1843_7
# 1848| r1848_3(glval<int>) = VariableAddress[w] :
# 1848| r1848_4(int) = Load[w] : &:r1848_3, m1846_4
# 1848| r1848_5(int) = Add : r1848_2, r1848_4
# 1848| r1848_6(glval<int>) = VariableAddress[x] :
# 1848| m1848_7(int) = Store[x] : &:r1848_6, r1848_5
# 1851| r1851_1(glval<int>) = VariableAddress[v] :
# 1851| r1851_2(glval<int>) = VariableAddress[x] :
# 1851| r1851_3(int) = Load[x] : &:r1851_2, m1848_7
# 1851| m1851_4(int) = Store[v] : &:r1851_1, r1851_3
# 1851| r1851_5(glval<int>) = VariableAddress[v2] :
# 1851| r1851_6(glval<int>) = VariableAddress[v] :
# 1851| r1851_7(int) = Load[v] : &:r1851_6, m1851_4
# 1851| m1851_8(int) = Store[v2] : &:r1851_5, r1851_7
# 1851| r1851_9(glval<int>) = VariableAddress[v2] :
# 1851| r1851_10(int) = Load[v2] : &:r1851_9, m1851_8
# 1851| r1851_11(int) = CopyValue : r1851_10
# 1851| v1851_12(void) = Switch : r1851_11
#-----| Default -> Block 4
# 1852| Block 4
# 1852| v1852_1(void) = NoOp :
# 1853| r1853_1(glval<int>) = VariableAddress[x] :
# 1853| r1853_2(int) = Load[x] : &:r1853_1, m1848_7
# 1853| r1853_3(glval<int>) = VariableAddress[v] :
# 1853| r1853_4(int) = Load[v] : &:r1853_3, m1851_4
# 1853| r1853_5(int) = Add : r1853_2, r1853_4
# 1853| r1853_6(glval<int>) = VariableAddress[x] :
# 1853| m1853_7(int) = Store[x] : &:r1853_6, r1853_5
# 1856| r1856_1(glval<int>) = VariableAddress[z] :
# 1856| r1856_2(glval<int>) = VariableAddress[x] :
# 1856| r1856_3(int) = Load[x] : &:r1856_2, m1853_7
# 1856| m1856_4(int) = Store[z] : &:r1856_1, r1856_3
# 1857| r1857_1(glval<int>) = VariableAddress[z] :
# 1857| r1857_2(int) = Load[z] : &:r1857_1, m1856_4
# 1857| v1857_3(void) = Switch : r1857_2
#-----| Default -> Block 5
# 1858| Block 5
# 1858| v1858_1(void) = NoOp :
# 1859| r1859_1(glval<int>) = VariableAddress[x] :
# 1859| r1859_2(int) = Load[x] : &:r1859_1, m1853_7
# 1859| r1859_3(glval<int>) = VariableAddress[z] :
# 1859| r1859_4(int) = Load[z] : &:r1859_3, m1856_4
# 1859| r1859_5(int) = Add : r1859_2, r1859_4
# 1859| r1859_6(glval<int>) = VariableAddress[x] :
# 1859| m1859_7(int) = Store[x] : &:r1859_6, r1859_5
# 1862| r1862_1(glval<int>) = VariableAddress[z2] :
# 1862| r1862_2(glval<int>) = VariableAddress[z] :
# 1862| r1862_3(int) = Load[z] : &:r1862_2, m1856_4
# 1862| m1862_4(int) = Store[z2] : &:r1862_1, r1862_3
# 1862| r1862_5(glval<int>) = VariableAddress[z2] :
# 1862| r1862_6(int) = Load[z2] : &:r1862_5, m1862_4
# 1862| r1862_7(int) = CopyValue : r1862_6
# 1862| v1862_8(void) = Switch : r1862_7
#-----| Default -> Block 6
# 1863| Block 6
# 1863| v1863_1(void) = NoOp :
# 1864| r1864_1(glval<int>) = VariableAddress[z2] :
# 1864| r1864_2(int) = Load[z2] : &:r1864_1, m1862_4
# 1864| r1864_3(glval<int>) = VariableAddress[x] :
# 1864| r1864_4(int) = Load[x] : &:r1864_3, m1859_7
# 1864| r1864_5(int) = Add : r1864_4, r1864_2
# 1864| m1864_6(int) = Store[x] : &:r1864_3, r1864_5
# 1866| v1866_1(void) = NoOp :
# 1834| v1834_7(void) = ReturnVoid :
# 1834| v1834_8(void) = AliasedUse : m1834_3
# 1834| v1834_9(void) = ExitFunction :
# 1870| int global_2
# 1870| Block 0
# 1870| v1870_1(void) = EnterFunction :
# 1870| m1870_2(unknown) = AliasedDefinition :
# 1870| r1870_3(glval<int>) = VariableAddress[global_2] :
# 1870| r1870_4(int) = Constant[1] :
# 1870| m1870_5(int) = Store[global_2] : &:r1870_3, r1870_4
# 1870| m1870_6(unknown) = Chi : total:m1870_2, partial:m1870_5
# 1870| v1870_7(void) = ReturnVoid :
# 1870| v1870_8(void) = AliasedUse : ~m1870_6
# 1870| v1870_9(void) = ExitFunction :
# 1874| constructor_only global_4
# 1874| Block 0
# 1874| v1874_1(void) = EnterFunction :
# 1874| m1874_2(unknown) = AliasedDefinition :
# 1874| r1874_3(glval<constructor_only>) = VariableAddress[global_4] :
# 1874| r1874_4(glval<unknown>) = FunctionAddress[constructor_only] :
# 1874| r1874_5(int) = Constant[1] :
# 1874| v1874_6(void) = Call[constructor_only] : func:r1874_4, this:r1874_3, 0:r1874_5
# 1874| m1874_7(unknown) = ^CallSideEffect : ~m1874_2
# 1874| m1874_8(unknown) = Chi : total:m1874_2, partial:m1874_7
# 1874| m1874_9(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1874_3
# 1874| m1874_10(unknown) = Chi : total:m1874_8, partial:m1874_9
# 1874| v1874_11(void) = ReturnVoid :
# 1874| v1874_12(void) = AliasedUse : ~m1874_10
# 1874| v1874_13(void) = ExitFunction :
# 1876| constructor_only global_5
# 1876| Block 0
# 1876| v1876_1(void) = EnterFunction :
# 1876| m1876_2(unknown) = AliasedDefinition :
# 1876| r1876_3(glval<constructor_only>) = VariableAddress[global_5] :
# 1876| r1876_4(glval<unknown>) = FunctionAddress[constructor_only] :
# 1876| r1876_5(int) = Constant[2] :
# 1876| v1876_6(void) = Call[constructor_only] : func:r1876_4, this:r1876_3, 0:r1876_5
# 1876| m1876_7(unknown) = ^CallSideEffect : ~m1876_2
# 1876| m1876_8(unknown) = Chi : total:m1876_2, partial:m1876_7
# 1876| m1876_9(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1876_3
# 1876| m1876_10(unknown) = Chi : total:m1876_8, partial:m1876_9
# 1876| v1876_11(void) = ReturnVoid :
# 1876| v1876_12(void) = AliasedUse : ~m1876_10
# 1876| v1876_13(void) = ExitFunction :
# 1878| char* global_string
# 1878| Block 0
# 1878| v1878_1(void) = EnterFunction :
# 1878| m1878_2(unknown) = AliasedDefinition :
# 1878| r1878_3(glval<char *>) = VariableAddress[global_string] :
# 1878| r1878_4(glval<char[14]>) = StringConstant["global string"] :
# 1878| r1878_5(char *) = Convert : r1878_4
# 1878| r1878_6(char *) = Convert : r1878_5
# 1878| m1878_7(char *) = Store[global_string] : &:r1878_3, r1878_6
# 1878| m1878_8(unknown) = Chi : total:m1878_2, partial:m1878_7
# 1878| v1878_9(void) = ReturnVoid :
# 1878| v1878_10(void) = AliasedUse : ~m1878_8
# 1878| v1878_11(void) = ExitFunction :
# 1880| int global_6
# 1880| Block 0
# 1880| v1880_1(void) = EnterFunction :
# 1880| m1880_2(unknown) = AliasedDefinition :
# 1880| r1880_3(glval<int>) = VariableAddress[global_6] :
# 1880| r1880_4(glval<int>) = VariableAddress[global_2] :
# 1880| r1880_5(int) = Load[global_2] : &:r1880_4, ~m1880_2
# 1880| m1880_6(int) = Store[global_6] : &:r1880_3, r1880_5
# 1880| m1880_7(unknown) = Chi : total:m1880_2, partial:m1880_6
# 1880| v1880_8(void) = ReturnVoid :
# 1880| v1880_9(void) = AliasedUse : ~m1880_7
# 1880| v1880_10(void) = ExitFunction :
# 1883| block_assignment::A& block_assignment::A::operator=(block_assignment::A&&)
# 1883| Block 0
# 1883| v1883_1(void) = EnterFunction :
# 1883| m1883_2(unknown) = AliasedDefinition :
# 1883| m1883_3(unknown) = InitializeNonLocal :
# 1883| m1883_4(unknown) = Chi : total:m1883_2, partial:m1883_3
# 1883| r1883_5(glval<unknown>) = VariableAddress[#this] :
# 1883| m1883_6(glval<A>) = InitializeParameter[#this] : &:r1883_5
# 1883| r1883_7(glval<A>) = Load[#this] : &:r1883_5, m1883_6
# 1883| m1883_8(A) = InitializeIndirection[#this] : &:r1883_7
#-----| r0_1(glval<A &&>) = VariableAddress[(unnamed parameter 0)] :
#-----| m0_2(A &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(A &&) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
#-----| r0_5(glval<unknown>) = VariableAddress[#this] :
#-----| r0_6(A *) = Load[#this] : &:r0_5, m1883_6
#-----| r0_7(glval<enum <unnamed>[1]>) = FieldAddress[e] : r0_6
#-----| r0_8(glval<A &&>) = VariableAddress[(unnamed parameter 0)] :
#-----| r0_9(A &&) = Load[(unnamed parameter 0)] : &:r0_8, m0_2
#-----| r0_10(glval<A>) = CopyValue : r0_9
#-----| r0_11(glval<enum <unnamed>[1]>) = FieldAddress[e] : r0_10
#-----| r0_12(enum <unnamed>[1]) = Load[?] : &:r0_11, ~m0_4
#-----| m0_13(enum <unnamed>[1]) = Store[?] : &:r0_7, r0_12
#-----| m0_14(unknown) = Chi : total:m1883_8, partial:m0_13
#-----| r0_15(glval<A &>) = VariableAddress[#return] :
#-----| r0_16(glval<unknown>) = VariableAddress[#this] :
#-----| r0_17(A *) = Load[#this] : &:r0_16, m1883_6
#-----| r0_18(glval<A>) = CopyValue : r0_17
#-----| r0_19(A &) = CopyValue : r0_18
#-----| m0_20(A &) = Store[#return] : &:r0_15, r0_19
# 1883| v1883_9(void) = ReturnIndirection[#this] : &:r1883_7, m0_14
#-----| v0_21(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 1883| r1883_10(glval<A &>) = VariableAddress[#return] :
# 1883| v1883_11(void) = ReturnValue : &:r1883_10, m0_20
# 1883| v1883_12(void) = AliasedUse : m1883_3
# 1883| v1883_13(void) = ExitFunction :
# 1888| block_assignment::B& block_assignment::B::operator=(block_assignment::B&&)
# 1888| Block 0
# 1888| v1888_1(void) = EnterFunction :
# 1888| m1888_2(unknown) = AliasedDefinition :
# 1888| m1888_3(unknown) = InitializeNonLocal :
# 1888| m1888_4(unknown) = Chi : total:m1888_2, partial:m1888_3
# 1888| r1888_5(glval<unknown>) = VariableAddress[#this] :
# 1888| m1888_6(glval<B>) = InitializeParameter[#this] : &:r1888_5
# 1888| r1888_7(glval<B>) = Load[#this] : &:r1888_5, m1888_6
# 1888| m1888_8(B) = InitializeIndirection[#this] : &:r1888_7
#-----| r0_1(glval<B &&>) = VariableAddress[(unnamed parameter 0)] :
#-----| m0_2(B &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(B &&) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 1888| r1888_9(glval<unknown>) = VariableAddress[#this] :
# 1888| r1888_10(B *) = Load[#this] : &:r1888_9, m1888_6
#-----| r0_5(A *) = ConvertToNonVirtualBase[B : A] : r1888_10
# 1888| r1888_11(glval<unknown>) = FunctionAddress[operator=] :
# 1888| r1888_12(glval<B &&>) = VariableAddress[(unnamed parameter 0)] :
# 1888| r1888_13(B &&) = Load[(unnamed parameter 0)] : &:r1888_12, m0_2
#-----| r0_6(glval<B>) = CopyValue : r1888_13
# 1888| r1888_14(B *) = CopyValue : r0_6
#-----| r0_7(A *) = ConvertToNonVirtualBase[B : A] : r1888_14
# 1888| r1888_15(glval<A>) = CopyValue : r0_7
#-----| r0_8(A &) = CopyValue : r1888_15
# 1888| r1888_16(A &) = Call[operator=] : func:r1888_11, this:r0_5, 0:r0_8
# 1888| m1888_17(unknown) = ^CallSideEffect : ~m1888_4
# 1888| m1888_18(unknown) = Chi : total:m1888_4, partial:m1888_17
#-----| v0_9(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m1888_8
#-----| v0_10(void) = ^BufferReadSideEffect[0] : &:r0_8, ~m0_4
#-----| m0_11(A) = ^IndirectMayWriteSideEffect[-1] : &:r0_5
#-----| m0_12(unknown) = Chi : total:m1888_8, partial:m0_11
#-----| m0_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r0_8
#-----| m0_14(unknown) = Chi : total:m0_4, partial:m0_13
#-----| r0_15(glval<A>) = CopyValue : r1888_16
#-----| r0_16(glval<B &>) = VariableAddress[#return] :
#-----| r0_17(glval<unknown>) = VariableAddress[#this] :
#-----| r0_18(B *) = Load[#this] : &:r0_17, m1888_6
#-----| r0_19(glval<B>) = CopyValue : r0_18
#-----| r0_20(B &) = CopyValue : r0_19
#-----| m0_21(B &) = Store[#return] : &:r0_16, r0_20
# 1888| v1888_19(void) = ReturnIndirection[#this] : &:r1888_7, m0_12
#-----| v0_22(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_14
# 1888| r1888_20(glval<B &>) = VariableAddress[#return] :
# 1888| v1888_21(void) = ReturnValue : &:r1888_20, m0_21
# 1888| v1888_22(void) = AliasedUse : ~m1888_18
# 1888| v1888_23(void) = ExitFunction :
# 1892| void block_assignment::foo()
# 1892| Block 0
# 1892| v1892_1(void) = EnterFunction :
# 1892| m1892_2(unknown) = AliasedDefinition :
# 1892| m1892_3(unknown) = InitializeNonLocal :
# 1892| m1892_4(unknown) = Chi : total:m1892_2, partial:m1892_3
# 1893| r1893_1(glval<B>) = VariableAddress[v] :
# 1893| m1893_2(B) = Uninitialized[v] : &:r1893_1
# 1893| m1893_3(unknown) = Chi : total:m1892_4, partial:m1893_2
# 1893| r1893_4(glval<unknown>) = FunctionAddress[B] :
# 1893| r1893_5(A *) = Constant[0] :
# 1893| v1893_6(void) = Call[B] : func:r1893_4, this:r1893_1, 0:r1893_5
# 1893| m1893_7(unknown) = ^CallSideEffect : ~m1893_3
# 1893| m1893_8(unknown) = Chi : total:m1893_3, partial:m1893_7
# 1893| v1893_9(void) = ^BufferReadSideEffect[0] : &:r1893_5, ~m1893_8
# 1893| m1893_10(B) = ^IndirectMayWriteSideEffect[-1] : &:r1893_1
# 1893| m1893_11(unknown) = Chi : total:m1893_8, partial:m1893_10
# 1893| m1893_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r1893_5
# 1893| m1893_13(unknown) = Chi : total:m1893_11, partial:m1893_12
# 1894| r1894_1(glval<B>) = VariableAddress[v] :
# 1894| r1894_2(glval<unknown>) = FunctionAddress[operator=] :
# 1894| r1894_3(glval<B>) = VariableAddress[#temp1894:13] :
# 1894| m1894_4(B) = Uninitialized[#temp1894:13] : &:r1894_3
# 1894| m1894_5(unknown) = Chi : total:m1893_13, partial:m1894_4
# 1894| r1894_6(glval<unknown>) = FunctionAddress[B] :
# 1894| r1894_7(A *) = Constant[0] :
# 1894| v1894_8(void) = Call[B] : func:r1894_6, this:r1894_3, 0:r1894_7
# 1894| m1894_9(unknown) = ^CallSideEffect : ~m1894_5
# 1894| m1894_10(unknown) = Chi : total:m1894_5, partial:m1894_9
# 1894| v1894_11(void) = ^BufferReadSideEffect[0] : &:r1894_7, ~m1894_10
# 1894| m1894_12(B) = ^IndirectMayWriteSideEffect[-1] : &:r1894_3
# 1894| m1894_13(unknown) = Chi : total:m1894_10, partial:m1894_12
# 1894| m1894_14(unknown) = ^BufferMayWriteSideEffect[0] : &:r1894_7
# 1894| m1894_15(unknown) = Chi : total:m1894_13, partial:m1894_14
# 1894| r1894_16(B &) = CopyValue : r1894_3
# 1894| r1894_17(B &) = Call[operator=] : func:r1894_2, this:r1894_1, 0:r1894_16
# 1894| m1894_18(unknown) = ^CallSideEffect : ~m1894_15
# 1894| m1894_19(unknown) = Chi : total:m1894_15, partial:m1894_18
# 1894| v1894_20(void) = ^IndirectReadSideEffect[-1] : &:r1894_1, ~m1894_19
# 1894| v1894_21(void) = ^BufferReadSideEffect[0] : &:r1894_16, ~m1894_19
# 1894| m1894_22(B) = ^IndirectMayWriteSideEffect[-1] : &:r1894_1
# 1894| m1894_23(unknown) = Chi : total:m1894_19, partial:m1894_22
# 1894| m1894_24(unknown) = ^BufferMayWriteSideEffect[0] : &:r1894_16
# 1894| m1894_25(unknown) = Chi : total:m1894_23, partial:m1894_24
# 1894| r1894_26(glval<B>) = CopyValue : r1894_17
# 1895| v1895_1(void) = NoOp :
# 1892| v1892_5(void) = ReturnVoid :
# 1892| v1892_6(void) = AliasedUse : ~m1894_19
# 1892| v1892_7(void) = ExitFunction :
# 1898| void magicvars()
# 1898| Block 0
# 1898| v1898_1(void) = EnterFunction :
# 1898| m1898_2(unknown) = AliasedDefinition :
# 1898| m1898_3(unknown) = InitializeNonLocal :
# 1898| m1898_4(unknown) = Chi : total:m1898_2, partial:m1898_3
# 1899| r1899_1(glval<char *>) = VariableAddress[pf] :
# 1899| r1899_2(glval<char[17]>) = VariableAddress[__PRETTY_FUNCTION__] :
# 1899| r1899_3(char *) = Convert : r1899_2
# 1899| m1899_4(char *) = Store[pf] : &:r1899_1, r1899_3
# 1900| r1900_1(glval<char *>) = VariableAddress[strfunc] :
# 1900| r1900_2(glval<char[10]>) = VariableAddress[__func__] :
# 1900| r1900_3(char *) = Convert : r1900_2
# 1900| m1900_4(char *) = Store[strfunc] : &:r1900_1, r1900_3
# 1901| v1901_1(void) = NoOp :
# 1898| v1898_5(void) = ReturnVoid :
# 1898| v1898_6(void) = AliasedUse : m1898_3
# 1898| v1898_7(void) = ExitFunction :
# 1911| void* missing_declaration_entries::Bar1<int>::missing_type_decl_entry(missing_declaration_entries::Bar1<int>::pointer)
# 1911| Block 0
# 1911| v1911_1(void) = EnterFunction :
# 1911| m1911_2(unknown) = AliasedDefinition :
# 1911| m1911_3(unknown) = InitializeNonLocal :
# 1911| m1911_4(unknown) = Chi : total:m1911_2, partial:m1911_3
# 1911| r1911_5(glval<unknown>) = VariableAddress[#this] :
# 1911| m1911_6(glval<Bar1<int>>) = InitializeParameter[#this] : &:r1911_5
# 1911| r1911_7(glval<Bar1<int>>) = Load[#this] : &:r1911_5, m1911_6
# 1911| m1911_8(Bar1<int>) = InitializeIndirection[#this] : &:r1911_7
# 1911| r1911_9(glval<S *>) = VariableAddress[p] :
# 1911| m1911_10(S *) = InitializeParameter[p] : &:r1911_9
# 1911| r1911_11(S *) = Load[p] : &:r1911_9, m1911_10
# 1911| m1911_12(unknown) = InitializeIndirection[p] : &:r1911_11
# 1913| r1913_1(glval<void *>) = VariableAddress[#return] :
# 1913| r1913_2(glval<S *>) = VariableAddress[p] :
# 1913| r1913_3(S *) = Load[p] : &:r1913_2, m1911_10
# 1913| r1913_4(void *) = Convert : r1913_3
# 1913| m1913_5(void *) = Store[#return] : &:r1913_1, r1913_4
# 1911| v1911_13(void) = ReturnIndirection[#this] : &:r1911_7, m1911_8
# 1911| v1911_14(void) = ReturnIndirection[p] : &:r1911_11, m1911_12
# 1911| r1911_15(glval<void *>) = VariableAddress[#return] :
# 1911| v1911_16(void) = ReturnValue : &:r1911_15, m1913_5
# 1911| v1911_17(void) = AliasedUse : m1911_3
# 1911| v1911_18(void) = ExitFunction :
# 1917| void missing_declaration_entries::test1()
# 1917| Block 0
# 1917| v1917_1(void) = EnterFunction :
# 1917| m1917_2(unknown) = AliasedDefinition :
# 1917| m1917_3(unknown) = InitializeNonLocal :
# 1917| m1917_4(unknown) = Chi : total:m1917_2, partial:m1917_3
# 1918| r1918_1(glval<Bar1<int>>) = VariableAddress[b] :
# 1918| m1918_2(Bar1<int>) = Uninitialized[b] : &:r1918_1
# 1919| r1919_1(glval<Bar1<int>>) = VariableAddress[b] :
# 1919| r1919_2(glval<unknown>) = FunctionAddress[missing_type_decl_entry] :
# 1919| r1919_3(S *) = Constant[0] :
# 1919| r1919_4(void *) = Call[missing_type_decl_entry] : func:r1919_2, this:r1919_1, 0:r1919_3
# 1919| m1919_5(unknown) = ^CallSideEffect : ~m1917_4
# 1919| m1919_6(unknown) = Chi : total:m1917_4, partial:m1919_5
# 1919| v1919_7(void) = ^IndirectReadSideEffect[-1] : &:r1919_1, m1918_2
# 1919| v1919_8(void) = ^BufferReadSideEffect[0] : &:r1919_3, ~m1919_6
# 1919| m1919_9(Bar1<int>) = ^IndirectMayWriteSideEffect[-1] : &:r1919_1
# 1919| m1919_10(Bar1<int>) = Chi : total:m1918_2, partial:m1919_9
# 1919| m1919_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1919_3
# 1919| m1919_12(unknown) = Chi : total:m1919_6, partial:m1919_11
# 1920| v1920_1(void) = NoOp :
# 1917| v1917_5(void) = ReturnVoid :
# 1917| v1917_6(void) = AliasedUse : ~m1919_12
# 1917| v1917_7(void) = ExitFunction :
# 1924| int missing_declaration_entries::Bar2<int>::two_missing_variable_declaration_entries()
# 1924| Block 0
# 1924| v1924_1(void) = EnterFunction :
# 1924| m1924_2(unknown) = AliasedDefinition :
# 1924| m1924_3(unknown) = InitializeNonLocal :
# 1924| m1924_4(unknown) = Chi : total:m1924_2, partial:m1924_3
# 1924| r1924_5(glval<unknown>) = VariableAddress[#this] :
# 1924| m1924_6(glval<Bar2<int>>) = InitializeParameter[#this] : &:r1924_5
# 1924| r1924_7(glval<Bar2<int>>) = Load[#this] : &:r1924_5, m1924_6
# 1924| m1924_8(Bar2<int>) = InitializeIndirection[#this] : &:r1924_7
# 1925| r1925_1(glval<int[10]>) = VariableAddress[x] :
# 1925| m1925_2(int[10]) = Uninitialized[x] : &:r1925_1
# 1925| r1925_3(glval<int[10]>) = VariableAddress[y] :
# 1925| m1925_4(int[10]) = Uninitialized[y] : &:r1925_3
# 1926| r1926_1(int) = Constant[10] :
# 1926| r1926_2(glval<int[10]>) = VariableAddress[x] :
# 1926| r1926_3(int *) = Convert : r1926_2
# 1926| r1926_4(glval<int>) = CopyValue : r1926_3
# 1926| m1926_5(int) = Store[?] : &:r1926_4, r1926_1
# 1926| m1926_6(int[10]) = Chi : total:m1925_2, partial:m1926_5
# 1927| r1927_1(int) = Constant[10] :
# 1927| r1927_2(glval<int[10]>) = VariableAddress[y] :
# 1927| r1927_3(int *) = Convert : r1927_2
# 1927| r1927_4(glval<int>) = CopyValue : r1927_3
# 1927| m1927_5(int) = Store[?] : &:r1927_4, r1927_1
# 1927| m1927_6(int[10]) = Chi : total:m1925_4, partial:m1927_5
# 1928| r1928_1(glval<int>) = VariableAddress[#return] :
# 1928| r1928_2(glval<int[10]>) = VariableAddress[x] :
# 1928| r1928_3(int *) = Convert : r1928_2
# 1928| r1928_4(int) = Load[?] : &:r1928_3, m1926_5
# 1928| r1928_5(glval<int[10]>) = VariableAddress[y] :
# 1928| r1928_6(int *) = Convert : r1928_5
# 1928| r1928_7(int) = Load[?] : &:r1928_6, m1927_5
# 1928| r1928_8(int) = Add : r1928_4, r1928_7
# 1928| m1928_9(int) = Store[#return] : &:r1928_1, r1928_8
# 1924| v1924_9(void) = ReturnIndirection[#this] : &:r1924_7, m1924_8
# 1924| r1924_10(glval<int>) = VariableAddress[#return] :
# 1924| v1924_11(void) = ReturnValue : &:r1924_10, m1928_9
# 1924| v1924_12(void) = AliasedUse : m1924_3
# 1924| v1924_13(void) = ExitFunction :
# 1932| void missing_declaration_entries::test2()
# 1932| Block 0
# 1932| v1932_1(void) = EnterFunction :
# 1932| m1932_2(unknown) = AliasedDefinition :
# 1932| m1932_3(unknown) = InitializeNonLocal :
# 1932| m1932_4(unknown) = Chi : total:m1932_2, partial:m1932_3
# 1933| r1933_1(glval<Bar2<int>>) = VariableAddress[b] :
# 1933| m1933_2(Bar2<int>) = Uninitialized[b] : &:r1933_1
# 1934| r1934_1(glval<Bar2<int>>) = VariableAddress[b] :
# 1934| r1934_2(glval<unknown>) = FunctionAddress[two_missing_variable_declaration_entries] :
# 1934| r1934_3(int) = Call[two_missing_variable_declaration_entries] : func:r1934_2, this:r1934_1
# 1934| m1934_4(unknown) = ^CallSideEffect : ~m1932_4
# 1934| m1934_5(unknown) = Chi : total:m1932_4, partial:m1934_4
# 1934| v1934_6(void) = ^IndirectReadSideEffect[-1] : &:r1934_1, m1933_2
# 1934| m1934_7(Bar2<int>) = ^IndirectMayWriteSideEffect[-1] : &:r1934_1
# 1934| m1934_8(Bar2<int>) = Chi : total:m1933_2, partial:m1934_7
# 1935| v1935_1(void) = NoOp :
# 1932| v1932_5(void) = ReturnVoid :
# 1932| v1932_6(void) = AliasedUse : ~m1934_5
# 1932| v1932_7(void) = ExitFunction :
# 1939| int missing_declaration_entries::Bar3<int>::two_more_missing_variable_declaration_entries()
# 1939| Block 0
# 1939| v1939_1(void) = EnterFunction :
# 1939| m1939_2(unknown) = AliasedDefinition :
# 1939| m1939_3(unknown) = InitializeNonLocal :
# 1939| m1939_4(unknown) = Chi : total:m1939_2, partial:m1939_3
# 1939| r1939_5(glval<unknown>) = VariableAddress[#this] :
# 1939| m1939_6(glval<Bar3<int>>) = InitializeParameter[#this] : &:r1939_5
# 1939| r1939_7(glval<Bar3<int>>) = Load[#this] : &:r1939_5, m1939_6
# 1939| m1939_8(Bar3<int>) = InitializeIndirection[#this] : &:r1939_7
# 1942| r1942_1(glval<int>) = VariableAddress[#return] :
# 1942| r1942_2(glval<int>) = VariableAddress[g] :
# 1942| r1942_3(int) = Load[g] : &:r1942_2, ~m1939_3
# 1942| m1942_4(int) = Store[#return] : &:r1942_1, r1942_3
# 1939| v1939_9(void) = ReturnIndirection[#this] : &:r1939_7, m1939_8
# 1939| r1939_10(glval<int>) = VariableAddress[#return] :
# 1939| v1939_11(void) = ReturnValue : &:r1939_10, m1942_4
# 1939| v1939_12(void) = AliasedUse : m1939_3
# 1939| v1939_13(void) = ExitFunction :
# 1946| void missing_declaration_entries::test3()
# 1946| Block 0
# 1946| v1946_1(void) = EnterFunction :
# 1946| m1946_2(unknown) = AliasedDefinition :
# 1946| m1946_3(unknown) = InitializeNonLocal :
# 1946| m1946_4(unknown) = Chi : total:m1946_2, partial:m1946_3
# 1947| r1947_1(glval<Bar3<int>>) = VariableAddress[b] :
# 1947| m1947_2(Bar3<int>) = Uninitialized[b] : &:r1947_1
# 1948| r1948_1(glval<Bar3<int>>) = VariableAddress[b] :
# 1948| r1948_2(glval<unknown>) = FunctionAddress[two_more_missing_variable_declaration_entries] :
# 1948| r1948_3(int) = Call[two_more_missing_variable_declaration_entries] : func:r1948_2, this:r1948_1
# 1948| m1948_4(unknown) = ^CallSideEffect : ~m1946_4
# 1948| m1948_5(unknown) = Chi : total:m1946_4, partial:m1948_4
# 1948| v1948_6(void) = ^IndirectReadSideEffect[-1] : &:r1948_1, m1947_2
# 1948| m1948_7(Bar3<int>) = ^IndirectMayWriteSideEffect[-1] : &:r1948_1
# 1948| m1948_8(Bar3<int>) = Chi : total:m1947_2, partial:m1948_7
# 1949| v1949_1(void) = NoOp :
# 1946| v1946_5(void) = ReturnVoid :
# 1946| v1946_6(void) = AliasedUse : ~m1948_5
# 1946| v1946_7(void) = ExitFunction :
# 1952| char global_template<char>
# 1952| Block 0
# 1952| v1952_1(void) = EnterFunction :
# 1952| m1952_2(unknown) = AliasedDefinition :
# 1952| r1952_3(glval<char>) = VariableAddress[global_template] :
# 1952| r1952_4(char) = Constant[42] :
# 1952| m1952_5(char) = Store[global_template] : &:r1952_3, r1952_4
# 1952| m1952_6(unknown) = Chi : total:m1952_2, partial:m1952_5
# 1952| v1952_7(void) = ReturnVoid :
# 1952| v1952_8(void) = AliasedUse : ~m1952_6
# 1952| v1952_9(void) = ExitFunction :
# 1952| int global_template<int>
# 1952| Block 0
# 1952| v1952_1(void) = EnterFunction :
# 1952| m1952_2(unknown) = AliasedDefinition :
# 1952| r1952_3(glval<int>) = VariableAddress[global_template] :
# 1952| r1952_4(int) = Constant[42] :
# 1952| m1952_5(int) = Store[global_template] : &:r1952_3, r1952_4
# 1952| m1952_6(unknown) = Chi : total:m1952_2, partial:m1952_5
# 1952| v1952_7(void) = ReturnVoid :
# 1952| v1952_8(void) = AliasedUse : ~m1952_6
# 1952| v1952_9(void) = ExitFunction :
# 1954| int test_global_template_int()
# 1954| Block 0
# 1954| v1954_1(void) = EnterFunction :
# 1954| m1954_2(unknown) = AliasedDefinition :
# 1954| m1954_3(unknown) = InitializeNonLocal :
# 1954| m1954_4(unknown) = Chi : total:m1954_2, partial:m1954_3
# 1955| r1955_1(glval<int>) = VariableAddress[local_int] :
# 1955| r1955_2(glval<int>) = VariableAddress[global_template] :
# 1955| r1955_3(int) = Load[global_template] : &:r1955_2, ~m1954_3
# 1955| m1955_4(int) = Store[local_int] : &:r1955_1, r1955_3
# 1956| r1956_1(glval<char>) = VariableAddress[local_char] :
# 1956| r1956_2(glval<char>) = VariableAddress[global_template] :
# 1956| r1956_3(char) = Load[global_template] : &:r1956_2, ~m1954_3
# 1956| m1956_4(char) = Store[local_char] : &:r1956_1, r1956_3
# 1957| r1957_1(glval<int>) = VariableAddress[#return] :
# 1957| r1957_2(glval<int>) = VariableAddress[local_int] :
# 1957| r1957_3(int) = Load[local_int] : &:r1957_2, m1955_4
# 1957| r1957_4(glval<char>) = VariableAddress[local_char] :
# 1957| r1957_5(char) = Load[local_char] : &:r1957_4, m1956_4
# 1957| r1957_6(int) = Convert : r1957_5
# 1957| r1957_7(int) = Add : r1957_3, r1957_6
# 1957| m1957_8(int) = Store[#return] : &:r1957_1, r1957_7
# 1954| r1954_5(glval<int>) = VariableAddress[#return] :
# 1954| v1954_6(void) = ReturnValue : &:r1954_5, m1957_8
# 1954| v1954_7(void) = AliasedUse : m1954_3
# 1954| v1954_8(void) = ExitFunction :
# 1962| int noreturnTest(int)
# 1962| Block 0
# 1962| v1962_1(void) = EnterFunction :
# 1962| m1962_2(unknown) = AliasedDefinition :
# 1962| m1962_3(unknown) = InitializeNonLocal :
# 1962| m1962_4(unknown) = Chi : total:m1962_2, partial:m1962_3
# 1962| r1962_5(glval<int>) = VariableAddress[x] :
# 1962| m1962_6(int) = InitializeParameter[x] : &:r1962_5
# 1963| r1963_1(glval<int>) = VariableAddress[x] :
# 1963| r1963_2(int) = Load[x] : &:r1963_1, m1962_6
# 1963| r1963_3(int) = Constant[10] :
# 1963| r1963_4(bool) = CompareLT : r1963_2, r1963_3
# 1963| v1963_5(void) = ConditionalBranch : r1963_4
#-----| False -> Block 2
#-----| True -> Block 1
# 1964| Block 1
# 1964| r1964_1(glval<int>) = VariableAddress[#return] :
# 1964| r1964_2(glval<int>) = VariableAddress[x] :
# 1964| r1964_3(int) = Load[x] : &:r1964_2, m1962_6
# 1964| m1964_4(int) = Store[#return] : &:r1964_1, r1964_3
# 1962| r1962_7(glval<int>) = VariableAddress[#return] :
# 1962| v1962_8(void) = ReturnValue : &:r1962_7, m1964_4
# 1962| v1962_9(void) = AliasedUse : m1962_3
# 1962| v1962_10(void) = ExitFunction :
# 1966| Block 2
# 1966| r1966_1(glval<unknown>) = FunctionAddress[noreturnFunc] :
# 1966| v1966_2(void) = Call[noreturnFunc] : func:r1966_1
# 1966| m1966_3(unknown) = ^CallSideEffect : ~m1962_4
# 1966| m1966_4(unknown) = Chi : total:m1962_4, partial:m1966_3
# 1962| v1962_11(void) = Unreached :
# 1970| int noreturnTest2(int)
# 1970| Block 0
# 1970| v1970_1(void) = EnterFunction :
# 1970| m1970_2(unknown) = AliasedDefinition :
# 1970| m1970_3(unknown) = InitializeNonLocal :
# 1970| m1970_4(unknown) = Chi : total:m1970_2, partial:m1970_3
# 1970| r1970_5(glval<int>) = VariableAddress[x] :
# 1970| m1970_6(int) = InitializeParameter[x] : &:r1970_5
# 1971| r1971_1(glval<int>) = VariableAddress[x] :
# 1971| r1971_2(int) = Load[x] : &:r1971_1, m1970_6
# 1971| r1971_3(int) = Constant[10] :
# 1971| r1971_4(bool) = CompareLT : r1971_2, r1971_3
# 1971| v1971_5(void) = ConditionalBranch : r1971_4
#-----| False -> Block 2
#-----| True -> Block 1
# 1972| Block 1
# 1972| r1972_1(glval<unknown>) = FunctionAddress[noreturnFunc] :
# 1972| v1972_2(void) = Call[noreturnFunc] : func:r1972_1
# 1972| m1972_3(unknown) = ^CallSideEffect : ~m1970_4
# 1972| m1972_4(unknown) = Chi : total:m1970_4, partial:m1972_3
# 1970| v1970_7(void) = Unreached :
# 1974| Block 2
# 1974| r1974_1(glval<int>) = VariableAddress[#return] :
# 1974| r1974_2(glval<int>) = VariableAddress[x] :
# 1974| r1974_3(int) = Load[x] : &:r1974_2, m1970_6
# 1974| m1974_4(int) = Store[#return] : &:r1974_1, r1974_3
# 1970| r1970_8(glval<int>) = VariableAddress[#return] :
# 1970| v1970_9(void) = ReturnValue : &:r1970_8, m1974_4
# 1970| v1970_10(void) = AliasedUse : m1970_3
# 1970| v1970_11(void) = ExitFunction :
# 1977| int static_function(int)
# 1977| Block 0
# 1977| v1977_1(void) = EnterFunction :
# 1977| m1977_2(unknown) = AliasedDefinition :
# 1977| m1977_3(unknown) = InitializeNonLocal :
# 1977| m1977_4(unknown) = Chi : total:m1977_2, partial:m1977_3
# 1977| r1977_5(glval<int>) = VariableAddress[x] :
# 1977| m1977_6(int) = InitializeParameter[x] : &:r1977_5
# 1978| r1978_1(glval<int>) = VariableAddress[#return] :
# 1978| r1978_2(glval<int>) = VariableAddress[x] :
# 1978| r1978_3(int) = Load[x] : &:r1978_2, m1977_6
# 1978| m1978_4(int) = Store[#return] : &:r1978_1, r1978_3
# 1977| r1977_7(glval<int>) = VariableAddress[#return] :
# 1977| v1977_8(void) = ReturnValue : &:r1977_7, m1978_4
# 1977| v1977_9(void) = AliasedUse : m1977_3
# 1977| v1977_10(void) = ExitFunction :
# 1981| void test_static_functions_with_assignments()
# 1981| Block 0
# 1981| v1981_1(void) = EnterFunction :
# 1981| m1981_2(unknown) = AliasedDefinition :
# 1981| m1981_3(unknown) = InitializeNonLocal :
# 1981| m1981_4(unknown) = Chi : total:m1981_2, partial:m1981_3
# 1982| r1982_1(glval<C>) = VariableAddress[c] :
# 1982| m1982_2(C) = Uninitialized[c] : &:r1982_1
# 1982| m1982_3(unknown) = Chi : total:m1981_4, partial:m1982_2
# 1982| r1982_4(glval<unknown>) = FunctionAddress[C] :
# 1982| v1982_5(void) = Call[C] : func:r1982_4, this:r1982_1
# 1982| m1982_6(unknown) = ^CallSideEffect : ~m1982_3
# 1982| m1982_7(unknown) = Chi : total:m1982_3, partial:m1982_6
# 1982| m1982_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1982_1
# 1982| m1982_9(unknown) = Chi : total:m1982_7, partial:m1982_8
# 1983| r1983_1(glval<int>) = VariableAddress[x] :
# 1983| m1983_2(int) = Uninitialized[x] : &:r1983_1
# 1984| r1984_1(glval<C>) = VariableAddress[c] :
# 1984| r1984_2(glval<unknown>) = FunctionAddress[StaticMemberFunction] :
# 1984| r1984_3(int) = Constant[10] :
# 1984| r1984_4(int) = Call[StaticMemberFunction] : func:r1984_2, 0:r1984_3
# 1984| m1984_5(unknown) = ^CallSideEffect : ~m1982_9
# 1984| m1984_6(unknown) = Chi : total:m1982_9, partial:m1984_5
# 1984| r1984_7(glval<int>) = VariableAddress[x] :
# 1984| m1984_8(int) = Store[x] : &:r1984_7, r1984_4
# 1985| r1985_1(glval<int>) = VariableAddress[y] :
# 1985| m1985_2(int) = Uninitialized[y] : &:r1985_1
# 1986| r1986_1(glval<unknown>) = FunctionAddress[StaticMemberFunction] :
# 1986| r1986_2(int) = Constant[10] :
# 1986| r1986_3(int) = Call[StaticMemberFunction] : func:r1986_1, 0:r1986_2
# 1986| m1986_4(unknown) = ^CallSideEffect : ~m1984_6
# 1986| m1986_5(unknown) = Chi : total:m1984_6, partial:m1986_4
# 1986| r1986_6(glval<int>) = VariableAddress[y] :
# 1986| m1986_7(int) = Store[y] : &:r1986_6, r1986_3
# 1987| r1987_1(glval<int>) = VariableAddress[z] :
# 1987| m1987_2(int) = Uninitialized[z] : &:r1987_1
# 1988| r1988_1(glval<unknown>) = FunctionAddress[static_function] :
# 1988| r1988_2(int) = Constant[10] :
# 1988| r1988_3(int) = Call[static_function] : func:r1988_1, 0:r1988_2
# 1988| m1988_4(unknown) = ^CallSideEffect : ~m1986_5
# 1988| m1988_5(unknown) = Chi : total:m1986_5, partial:m1988_4
# 1988| r1988_6(glval<int>) = VariableAddress[z] :
# 1988| m1988_7(int) = Store[z] : &:r1988_6, r1988_3
# 1989| v1989_1(void) = NoOp :
# 1989| r1989_2(glval<C>) = VariableAddress[c] :
# 1989| r1989_3(glval<unknown>) = FunctionAddress[~C] :
# 1989| v1989_4(void) = Call[~C] : func:r1989_3, this:r1989_2
# 1989| m1989_5(unknown) = ^CallSideEffect : ~m1988_5
# 1989| m1989_6(unknown) = Chi : total:m1988_5, partial:m1989_5
# 1989| v1989_7(void) = ^IndirectReadSideEffect[-1] : &:r1989_2, ~m1989_6
# 1989| m1989_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1989_2
# 1989| m1989_9(unknown) = Chi : total:m1989_6, partial:m1989_8
# 1981| v1981_5(void) = ReturnVoid :
# 1981| v1981_6(void) = AliasedUse : ~m1989_6
# 1981| v1981_7(void) = ExitFunction :
# 1991| void test_double_assign()
# 1991| Block 0
# 1991| v1991_1(void) = EnterFunction :
# 1991| m1991_2(unknown) = AliasedDefinition :
# 1991| m1991_3(unknown) = InitializeNonLocal :
# 1991| m1991_4(unknown) = Chi : total:m1991_2, partial:m1991_3
# 1992| r1992_1(glval<int>) = VariableAddress[i] :
# 1992| m1992_2(int) = Uninitialized[i] : &:r1992_1
# 1992| r1992_3(glval<int>) = VariableAddress[j] :
# 1992| m1992_4(int) = Uninitialized[j] : &:r1992_3
# 1993| r1993_1(int) = Constant[40] :
# 1993| r1993_2(glval<int>) = VariableAddress[j] :
# 1993| m1993_3(int) = Store[j] : &:r1993_2, r1993_1
# 1993| r1993_4(int) = Load[j] : &:r1993_2, m1993_3
# 1993| r1993_5(glval<int>) = VariableAddress[i] :
# 1993| m1993_6(int) = Store[i] : &:r1993_5, r1993_4
# 1994| v1994_1(void) = NoOp :
# 1991| v1991_5(void) = ReturnVoid :
# 1991| v1991_6(void) = AliasedUse : m1991_3
# 1991| v1991_7(void) = ExitFunction :
# 1996| void test_assign_with_assign_operation()
# 1996| Block 0
# 1996| v1996_1(void) = EnterFunction :
# 1996| m1996_2(unknown) = AliasedDefinition :
# 1996| m1996_3(unknown) = InitializeNonLocal :
# 1996| m1996_4(unknown) = Chi : total:m1996_2, partial:m1996_3
# 1997| r1997_1(glval<int>) = VariableAddress[i] :
# 1997| m1997_2(int) = Uninitialized[i] : &:r1997_1
# 1997| r1997_3(glval<int>) = VariableAddress[j] :
# 1997| r1997_4(int) = Constant[0] :
# 1997| m1997_5(int) = Store[j] : &:r1997_3, r1997_4
# 1998| r1998_1(int) = Constant[40] :
# 1998| r1998_2(glval<int>) = VariableAddress[j] :
# 1998| r1998_3(int) = Load[j] : &:r1998_2, m1997_5
# 1998| r1998_4(int) = Add : r1998_3, r1998_1
# 1998| m1998_5(int) = Store[j] : &:r1998_2, r1998_4
# 1998| r1998_6(int) = Load[j] : &:r1998_2, m1998_5
# 1998| r1998_7(glval<int>) = VariableAddress[i] :
# 1998| m1998_8(int) = Store[i] : &:r1998_7, r1998_6
# 1999| v1999_1(void) = NoOp :
# 1996| v1996_5(void) = ReturnVoid :
# 1996| v1996_6(void) = AliasedUse : m1996_3
# 1996| v1996_7(void) = ExitFunction :
# 2005| D& D::ReferenceStaticMemberFunction()
# 2005| Block 0
# 2005| v2005_1(void) = EnterFunction :
# 2005| m2005_2(unknown) = AliasedDefinition :
# 2005| m2005_3(unknown) = InitializeNonLocal :
# 2005| m2005_4(unknown) = Chi : total:m2005_2, partial:m2005_3
# 2006| r2006_1(glval<D &>) = VariableAddress[#return] :
# 2006| r2006_2(glval<D>) = VariableAddress[x] :
# 2006| r2006_3(D &) = CopyValue : r2006_2
# 2006| m2006_4(D &) = Store[#return] : &:r2006_1, r2006_3
# 2005| r2005_5(glval<D &>) = VariableAddress[#return] :
# 2005| v2005_6(void) = ReturnValue : &:r2005_5, m2006_4
# 2005| v2005_7(void) = AliasedUse : m2005_3
# 2005| v2005_8(void) = ExitFunction :
# 2008| D D::ObjectStaticMemberFunction()
# 2008| Block 0
# 2008| v2008_1(void) = EnterFunction :
# 2008| m2008_2(unknown) = AliasedDefinition :
# 2008| m2008_3(unknown) = InitializeNonLocal :
# 2008| m2008_4(unknown) = Chi : total:m2008_2, partial:m2008_3
# 2009| r2009_1(glval<D>) = VariableAddress[#return] :
# 2009| r2009_2(glval<D>) = VariableAddress[x] :
# 2009| r2009_3(D) = Load[x] : &:r2009_2, ~m2008_3
# 2009| m2009_4(D) = Store[#return] : &:r2009_1, r2009_3
# 2008| r2008_5(glval<D>) = VariableAddress[#return] :
# 2008| v2008_6(void) = ReturnValue : &:r2008_5, m2009_4
# 2008| v2008_7(void) = AliasedUse : m2008_3
# 2008| v2008_8(void) = ExitFunction :
# 2013| void test_static_member_functions_with_reference_return()
# 2013| Block 0
# 2013| v2013_1(void) = EnterFunction :
# 2013| m2013_2(unknown) = AliasedDefinition :
# 2013| m2013_3(unknown) = InitializeNonLocal :
# 2013| m2013_4(unknown) = Chi : total:m2013_2, partial:m2013_3
# 2014| r2014_1(glval<D>) = VariableAddress[d] :
# 2014| m2014_2(D) = Uninitialized[d] : &:r2014_1
# 2016| r2016_1(glval<D>) = VariableAddress[d] :
# 2016| r2016_2(glval<unknown>) = FunctionAddress[ReferenceStaticMemberFunction] :
# 2016| r2016_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2016_2
# 2016| m2016_4(unknown) = ^CallSideEffect : ~m2013_4
# 2016| m2016_5(unknown) = Chi : total:m2013_4, partial:m2016_4
# 2016| r2016_6(glval<D>) = CopyValue : r2016_3
# 2017| r2017_1(glval<unknown>) = FunctionAddress[ReferenceStaticMemberFunction] :
# 2017| r2017_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2017_1
# 2017| m2017_3(unknown) = ^CallSideEffect : ~m2016_5
# 2017| m2017_4(unknown) = Chi : total:m2016_5, partial:m2017_3
# 2017| r2017_5(glval<D>) = CopyValue : r2017_2
# 2018| r2018_1(glval<D>) = VariableAddress[d] :
# 2018| r2018_2(glval<unknown>) = FunctionAddress[ObjectStaticMemberFunction] :
# 2018| r2018_3(D) = Call[ObjectStaticMemberFunction] : func:r2018_2
# 2018| m2018_4(unknown) = ^CallSideEffect : ~m2017_4
# 2018| m2018_5(unknown) = Chi : total:m2017_4, partial:m2018_4
# 2019| r2019_1(glval<unknown>) = FunctionAddress[ObjectStaticMemberFunction] :
# 2019| r2019_2(D) = Call[ObjectStaticMemberFunction] : func:r2019_1
# 2019| m2019_3(unknown) = ^CallSideEffect : ~m2018_5
# 2019| m2019_4(unknown) = Chi : total:m2018_5, partial:m2019_3
# 2021| r2021_1(glval<D>) = VariableAddress[x] :
# 2021| m2021_2(D) = Uninitialized[x] : &:r2021_1
# 2022| r2022_1(glval<D>) = VariableAddress[d] :
# 2022| r2022_2(glval<unknown>) = FunctionAddress[ReferenceStaticMemberFunction] :
# 2022| r2022_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2022_2
# 2022| m2022_4(unknown) = ^CallSideEffect : ~m2019_4
# 2022| m2022_5(unknown) = Chi : total:m2019_4, partial:m2022_4
# 2022| r2022_6(D) = Load[?] : &:r2022_3, ~m2022_5
# 2022| r2022_7(glval<D>) = VariableAddress[x] :
# 2022| m2022_8(D) = Store[x] : &:r2022_7, r2022_6
# 2023| r2023_1(glval<D>) = VariableAddress[y] :
# 2023| m2023_2(D) = Uninitialized[y] : &:r2023_1
# 2024| r2024_1(glval<unknown>) = FunctionAddress[ReferenceStaticMemberFunction] :
# 2024| r2024_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2024_1
# 2024| m2024_3(unknown) = ^CallSideEffect : ~m2022_5
# 2024| m2024_4(unknown) = Chi : total:m2022_5, partial:m2024_3
# 2024| r2024_5(D) = Load[?] : &:r2024_2, ~m2024_4
# 2024| r2024_6(glval<D>) = VariableAddress[y] :
# 2024| m2024_7(D) = Store[y] : &:r2024_6, r2024_5
# 2025| r2025_1(glval<D>) = VariableAddress[j] :
# 2025| m2025_2(D) = Uninitialized[j] : &:r2025_1
# 2026| r2026_1(glval<D>) = VariableAddress[d] :
# 2026| r2026_2(glval<unknown>) = FunctionAddress[ObjectStaticMemberFunction] :
# 2026| r2026_3(D) = Call[ObjectStaticMemberFunction] : func:r2026_2
# 2026| m2026_4(unknown) = ^CallSideEffect : ~m2024_4
# 2026| m2026_5(unknown) = Chi : total:m2024_4, partial:m2026_4
# 2026| r2026_6(glval<D>) = VariableAddress[j] :
# 2026| m2026_7(D) = Store[j] : &:r2026_6, r2026_3
# 2027| r2027_1(glval<D>) = VariableAddress[k] :
# 2027| m2027_2(D) = Uninitialized[k] : &:r2027_1
# 2028| r2028_1(glval<unknown>) = FunctionAddress[ObjectStaticMemberFunction] :
# 2028| r2028_2(D) = Call[ObjectStaticMemberFunction] : func:r2028_1
# 2028| m2028_3(unknown) = ^CallSideEffect : ~m2026_5
# 2028| m2028_4(unknown) = Chi : total:m2026_5, partial:m2028_3
# 2028| r2028_5(glval<D>) = VariableAddress[k] :
# 2028| m2028_6(D) = Store[k] : &:r2028_5, r2028_2
# 2029| v2029_1(void) = NoOp :
# 2013| v2013_5(void) = ReturnVoid :
# 2013| v2013_6(void) = AliasedUse : ~m2028_4
# 2013| v2013_7(void) = ExitFunction :
# 2031| void test_volatile()
# 2031| Block 0
# 2031| v2031_1(void) = EnterFunction :
# 2031| m2031_2(unknown) = AliasedDefinition :
# 2031| m2031_3(unknown) = InitializeNonLocal :
# 2031| m2031_4(unknown) = Chi : total:m2031_2, partial:m2031_3
# 2032| r2032_1(glval<int>) = VariableAddress[x] :
# 2032| m2032_2(int) = Uninitialized[x] : &:r2032_1
# 2033| r2033_1(glval<int>) = VariableAddress[x] :
# 2033| r2033_2(int) = Load[x] : &:r2033_1, m2032_2
# 2034| v2034_1(void) = NoOp :
# 2031| v2031_5(void) = ReturnVoid :
# 2031| v2031_6(void) = AliasedUse : m2031_3
# 2031| v2031_7(void) = ExitFunction :
# 2042| void value_category_test()
# 2042| Block 0
# 2042| v2042_1(void) = EnterFunction :
# 2042| m2042_2(unknown) = AliasedDefinition :
# 2042| m2042_3(unknown) = InitializeNonLocal :
# 2042| m2042_4(unknown) = Chi : total:m2042_2, partial:m2042_3
# 2043| r2043_1(glval<ValCat>) = VariableAddress[c] :
# 2043| m2043_2(ValCat) = Uninitialized[c] : &:r2043_1
#-----| r0_1(glval<ValCat>) = VariableAddress[#temp0:0] :
#-----| m0_2(ValCat) = Uninitialized[#temp0:0] : &:r0_1
#-----| r0_3(ValCat) = Load[#temp0:0] : &:r0_1, m0_2
# 2045| r2045_1(glval<ValCat>) = VariableAddress[c] :
# 2045| r2045_2(glval<unknown>) = FunctionAddress[lvalue] :
# 2045| r2045_3(ValCat &) = Call[lvalue] : func:r2045_2
# 2045| m2045_4(unknown) = ^CallSideEffect : ~m2042_4
# 2045| m2045_5(unknown) = Chi : total:m2042_4, partial:m2045_4
# 2045| r2045_6(glval<ValCat>) = CopyValue : r2045_3
# 2045| m2045_7(ValCat) = Store[?] : &:r2045_6, r0_3
# 2045| m2045_8(unknown) = Chi : total:m2045_5, partial:m2045_7
#-----| r0_4(glval<ValCat>) = VariableAddress[#temp0:0] :
#-----| m0_5(ValCat) = Uninitialized[#temp0:0] : &:r0_4
#-----| r0_6(ValCat) = Load[#temp0:0] : &:r0_4, m0_5
# 2046| r2046_1(glval<ValCat>) = VariableAddress[c] :
# 2046| r2046_2(glval<unknown>) = FunctionAddress[xvalue] :
# 2046| r2046_3(ValCat &&) = Call[xvalue] : func:r2046_2
# 2046| m2046_4(unknown) = ^CallSideEffect : ~m2045_8
# 2046| m2046_5(unknown) = Chi : total:m2045_8, partial:m2046_4
# 2046| r2046_6(glval<ValCat>) = CopyValue : r2046_3
# 2046| m2046_7(ValCat) = Store[?] : &:r2046_6, r0_6
# 2046| m2046_8(unknown) = Chi : total:m2046_5, partial:m2046_7
#-----| r0_7(glval<ValCat>) = VariableAddress[#temp0:0] :
#-----| m0_8(ValCat) = Uninitialized[#temp0:0] : &:r0_7
#-----| r0_9(ValCat) = Load[#temp0:0] : &:r0_7, m0_8
# 2047| r2047_1(glval<ValCat>) = VariableAddress[#temp2047:5] :
# 2047| r2047_2(glval<ValCat>) = VariableAddress[c] :
# 2047| r2047_3(glval<unknown>) = FunctionAddress[prvalue] :
# 2047| r2047_4(ValCat) = Call[prvalue] : func:r2047_3
# 2047| m2047_5(unknown) = ^CallSideEffect : ~m2046_8
# 2047| m2047_6(unknown) = Chi : total:m2046_8, partial:m2047_5
# 2047| m2047_7(ValCat) = Store[#temp2047:5] : &:r2047_1, r2047_4
# 2047| m2047_8(ValCat) = Store[#temp2047:5] : &:r2047_1, r0_9
#-----| r0_10(glval<ValCat>) = VariableAddress[#temp0:0] :
#-----| m0_11(ValCat) = Uninitialized[#temp0:0] : &:r0_10
#-----| r0_12(ValCat) = Load[#temp0:0] : &:r0_10, m0_11
# 2048| r2048_1(glval<unknown>) = FunctionAddress[lvalue] :
# 2048| r2048_2(ValCat &) = Call[lvalue] : func:r2048_1
# 2048| m2048_3(unknown) = ^CallSideEffect : ~m2047_6
# 2048| m2048_4(unknown) = Chi : total:m2047_6, partial:m2048_3
# 2048| r2048_5(glval<ValCat>) = CopyValue : r2048_2
# 2048| m2048_6(ValCat) = Store[?] : &:r2048_5, r0_12
# 2048| m2048_7(unknown) = Chi : total:m2048_4, partial:m2048_6
#-----| r0_13(glval<ValCat>) = VariableAddress[#temp0:0] :
#-----| m0_14(ValCat) = Uninitialized[#temp0:0] : &:r0_13
#-----| r0_15(ValCat) = Load[#temp0:0] : &:r0_13, m0_14
# 2049| r2049_1(glval<unknown>) = FunctionAddress[xvalue] :
# 2049| r2049_2(ValCat &&) = Call[xvalue] : func:r2049_1
# 2049| m2049_3(unknown) = ^CallSideEffect : ~m2048_7
# 2049| m2049_4(unknown) = Chi : total:m2048_7, partial:m2049_3
# 2049| r2049_5(glval<ValCat>) = CopyValue : r2049_2
# 2049| m2049_6(ValCat) = Store[?] : &:r2049_5, r0_15
# 2049| m2049_7(unknown) = Chi : total:m2049_4, partial:m2049_6
#-----| r0_16(glval<ValCat>) = VariableAddress[#temp0:0] :
#-----| m0_17(ValCat) = Uninitialized[#temp0:0] : &:r0_16
#-----| r0_18(ValCat) = Load[#temp0:0] : &:r0_16, m0_17
# 2050| r2050_1(glval<ValCat>) = VariableAddress[#temp2050:5] :
# 2050| r2050_2(glval<unknown>) = FunctionAddress[prvalue] :
# 2050| r2050_3(ValCat) = Call[prvalue] : func:r2050_2
# 2050| m2050_4(unknown) = ^CallSideEffect : ~m2049_7
# 2050| m2050_5(unknown) = Chi : total:m2049_7, partial:m2050_4
# 2050| m2050_6(ValCat) = Store[#temp2050:5] : &:r2050_1, r2050_3
# 2050| m2050_7(ValCat) = Store[#temp2050:5] : &:r2050_1, r0_18
# 2051| v2051_1(void) = NoOp :
# 2042| v2042_5(void) = ReturnVoid :
# 2042| v2042_6(void) = AliasedUse : ~m2050_5
# 2042| v2042_7(void) = ExitFunction :
# 2053| void SetStaticFuncPtr()
# 2053| Block 0
# 2053| v2053_1(void) = EnterFunction :
# 2053| m2053_2(unknown) = AliasedDefinition :
# 2053| m2053_3(unknown) = InitializeNonLocal :
# 2053| m2053_4(unknown) = Chi : total:m2053_2, partial:m2053_3
# 2054| r2054_1(glval<C>) = VariableAddress[c] :
# 2054| m2054_2(C) = Uninitialized[c] : &:r2054_1
# 2054| m2054_3(unknown) = Chi : total:m2053_4, partial:m2054_2
# 2054| r2054_4(glval<unknown>) = FunctionAddress[C] :
# 2054| v2054_5(void) = Call[C] : func:r2054_4, this:r2054_1
# 2054| m2054_6(unknown) = ^CallSideEffect : ~m2054_3
# 2054| m2054_7(unknown) = Chi : total:m2054_3, partial:m2054_6
# 2054| m2054_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r2054_1
# 2054| m2054_9(unknown) = Chi : total:m2054_7, partial:m2054_8
# 2055| r2055_1(glval<..(*)(..)>) = VariableAddress[pfn] :
# 2055| r2055_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] :
# 2055| m2055_3(..(*)(..)) = Store[pfn] : &:r2055_1, r2055_2
# 2056| r2056_1(glval<C>) = VariableAddress[c] :
# 2056| r2056_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] :
# 2056| r2056_3(glval<..(*)(..)>) = VariableAddress[pfn] :
# 2056| m2056_4(..(*)(..)) = Store[pfn] : &:r2056_3, r2056_2
# 2057| v2057_1(void) = NoOp :
# 2057| r2057_2(glval<C>) = VariableAddress[c] :
# 2057| r2057_3(glval<unknown>) = FunctionAddress[~C] :
# 2057| v2057_4(void) = Call[~C] : func:r2057_3, this:r2057_2
# 2057| m2057_5(unknown) = ^CallSideEffect : ~m2054_9
# 2057| m2057_6(unknown) = Chi : total:m2054_9, partial:m2057_5
# 2057| v2057_7(void) = ^IndirectReadSideEffect[-1] : &:r2057_2, ~m2057_6
# 2057| m2057_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r2057_2
# 2057| m2057_9(unknown) = Chi : total:m2057_6, partial:m2057_8
# 2053| v2053_5(void) = ReturnVoid :
# 2053| v2053_6(void) = AliasedUse : ~m2057_6
# 2053| v2053_7(void) = ExitFunction :
# 2059| void TernaryTestInt(bool, int, int, int)
# 2059| Block 0
# 2059| v2059_1(void) = EnterFunction :
# 2059| m2059_2(unknown) = AliasedDefinition :
# 2059| m2059_3(unknown) = InitializeNonLocal :
# 2059| m2059_4(unknown) = Chi : total:m2059_2, partial:m2059_3
# 2059| r2059_5(glval<bool>) = VariableAddress[a] :
# 2059| m2059_6(bool) = InitializeParameter[a] : &:r2059_5
# 2059| r2059_7(glval<int>) = VariableAddress[x] :
# 2059| m2059_8(int) = InitializeParameter[x] : &:r2059_7
# 2059| r2059_9(glval<int>) = VariableAddress[y] :
# 2059| m2059_10(int) = InitializeParameter[y] : &:r2059_9
# 2059| r2059_11(glval<int>) = VariableAddress[z] :
# 2059| m2059_12(int) = InitializeParameter[z] : &:r2059_11
# 2060| r2060_1(glval<bool>) = VariableAddress[a] :
# 2060| r2060_2(bool) = Load[a] : &:r2060_1, m2059_6
# 2060| v2060_3(void) = ConditionalBranch : r2060_2
#-----| False -> Block 3
#-----| True -> Block 2
# 2060| Block 1
# 2060| m2060_4(int) = Phi : from 2:m2060_12, from 3:m2060_16
# 2060| r2060_5(glval<int>) = VariableAddress[#temp2060:9] :
# 2060| r2060_6(int) = Load[#temp2060:9] : &:r2060_5, m2060_4
# 2060| r2060_7(glval<int>) = VariableAddress[z] :
# 2060| m2060_8(int) = Store[z] : &:r2060_7, r2060_6
# 2061| r2061_1(glval<bool>) = VariableAddress[a] :
# 2061| r2061_2(bool) = Load[a] : &:r2061_1, m2059_6
# 2061| v2061_3(void) = ConditionalBranch : r2061_2
#-----| False -> Block 6
#-----| True -> Block 5
# 2060| Block 2
# 2060| r2060_9(glval<int>) = VariableAddress[x] :
# 2060| r2060_10(int) = Load[x] : &:r2060_9, m2059_8
# 2060| r2060_11(glval<int>) = VariableAddress[#temp2060:9] :
# 2060| m2060_12(int) = Store[#temp2060:9] : &:r2060_11, r2060_10
#-----| Goto -> Block 1
# 2060| Block 3
# 2060| r2060_13(glval<int>) = VariableAddress[y] :
# 2060| r2060_14(int) = Load[y] : &:r2060_13, m2059_10
# 2060| r2060_15(glval<int>) = VariableAddress[#temp2060:9] :
# 2060| m2060_16(int) = Store[#temp2060:9] : &:r2060_15, r2060_14
#-----| Goto -> Block 1
# 2061| Block 4
# 2061| m2061_4(int) = Phi : from 5:m2061_12, from 6:m2061_15
# 2061| r2061_5(glval<int>) = VariableAddress[#temp2061:9] :
# 2061| r2061_6(int) = Load[#temp2061:9] : &:r2061_5, m2061_4
# 2061| r2061_7(glval<int>) = VariableAddress[z] :
# 2061| m2061_8(int) = Store[z] : &:r2061_7, r2061_6
# 2062| r2062_1(glval<bool>) = VariableAddress[a] :
# 2062| r2062_2(bool) = Load[a] : &:r2062_1, m2059_6
# 2062| v2062_3(void) = ConditionalBranch : r2062_2
#-----| False -> Block 9
#-----| True -> Block 8
# 2061| Block 5
# 2061| r2061_9(glval<int>) = VariableAddress[x] :
# 2061| r2061_10(int) = Load[x] : &:r2061_9, m2059_8
# 2061| r2061_11(glval<int>) = VariableAddress[#temp2061:9] :
# 2061| m2061_12(int) = Store[#temp2061:9] : &:r2061_11, r2061_10
#-----| Goto -> Block 4
# 2061| Block 6
# 2061| r2061_13(int) = Constant[5] :
# 2061| r2061_14(glval<int>) = VariableAddress[#temp2061:9] :
# 2061| m2061_15(int) = Store[#temp2061:9] : &:r2061_14, r2061_13
#-----| Goto -> Block 4
# 2062| Block 7
# 2062| m2062_4(int) = Phi : from 8:m2062_11, from 9:m2062_14
# 2062| r2062_5(glval<int>) = VariableAddress[#temp2062:9] :
# 2062| r2062_6(int) = Load[#temp2062:9] : &:r2062_5, m2062_4
# 2062| r2062_7(glval<int>) = VariableAddress[z] :
# 2062| m2062_8(int) = Store[z] : &:r2062_7, r2062_6
# 2063| r2063_1(int) = Constant[7] :
# 2063| r2063_2(glval<bool>) = VariableAddress[a] :
# 2063| r2063_3(bool) = Load[a] : &:r2063_2, m2059_6
# 2063| v2063_4(void) = ConditionalBranch : r2063_3
#-----| False -> Block 12
#-----| True -> Block 11
# 2062| Block 8
# 2062| r2062_9(int) = Constant[3] :
# 2062| r2062_10(glval<int>) = VariableAddress[#temp2062:9] :
# 2062| m2062_11(int) = Store[#temp2062:9] : &:r2062_10, r2062_9
#-----| Goto -> Block 7
# 2062| Block 9
# 2062| r2062_12(int) = Constant[5] :
# 2062| r2062_13(glval<int>) = VariableAddress[#temp2062:9] :
# 2062| m2062_14(int) = Store[#temp2062:9] : &:r2062_13, r2062_12
#-----| Goto -> Block 7
# 2063| Block 10
# 2063| m2063_5(glval<int>) = Phi : from 11:m2063_12, from 12:m2063_15
# 2063| r2063_6(glval<unknown>) = VariableAddress[#temp2063:6] :
# 2063| r2063_7(glval<int>) = Load[#temp2063:6] : &:r2063_6, m2063_5
# 2063| m2063_8(int) = Store[?] : &:r2063_7, r2063_1
# 2063| m2063_9(unknown) = Chi : total:m2059_4, partial:m2063_8
# 2064| v2064_1(void) = NoOp :
# 2059| v2059_13(void) = ReturnVoid :
# 2059| v2059_14(void) = AliasedUse : ~m2063_9
# 2059| v2059_15(void) = ExitFunction :
# 2063| Block 11
# 2063| r2063_10(glval<int>) = VariableAddress[x] :
# 2063| r2063_11(glval<unknown>) = VariableAddress[#temp2063:6] :
# 2063| m2063_12(glval<int>) = Store[#temp2063:6] : &:r2063_11, r2063_10
#-----| Goto -> Block 10
# 2063| Block 12
# 2063| r2063_13(glval<int>) = VariableAddress[y] :
# 2063| r2063_14(glval<unknown>) = VariableAddress[#temp2063:6] :
# 2063| m2063_15(glval<int>) = Store[#temp2063:6] : &:r2063_14, r2063_13
#-----| Goto -> Block 10
# 2069| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj)
# 2069| Block 0
# 2069| v2069_1(void) = EnterFunction :
# 2069| m2069_2(unknown) = AliasedDefinition :
# 2069| m2069_3(unknown) = InitializeNonLocal :
# 2069| m2069_4(unknown) = Chi : total:m2069_2, partial:m2069_3
# 2069| r2069_5(glval<bool>) = VariableAddress[a] :
# 2069| m2069_6(bool) = InitializeParameter[a] : &:r2069_5
# 2069| r2069_7(glval<TernaryPodObj>) = VariableAddress[x] :
# 2069| m2069_8(TernaryPodObj) = InitializeParameter[x] : &:r2069_7
# 2069| r2069_9(glval<TernaryPodObj>) = VariableAddress[y] :
# 2069| m2069_10(TernaryPodObj) = InitializeParameter[y] : &:r2069_9
# 2069| r2069_11(glval<TernaryPodObj>) = VariableAddress[z] :
# 2069| m2069_12(TernaryPodObj) = InitializeParameter[z] : &:r2069_11
# 2070| r2070_1(glval<bool>) = VariableAddress[a] :
# 2070| r2070_2(bool) = Load[a] : &:r2070_1, m2069_6
# 2070| v2070_3(void) = ConditionalBranch : r2070_2
#-----| False -> Block 3
#-----| True -> Block 2
# 2070| Block 1
# 2070| m2070_4(TernaryPodObj) = Phi : from 2:m2070_12, from 3:m2070_16
# 2070| r2070_5(glval<TernaryPodObj>) = VariableAddress[#temp2070:9] :
# 2070| r2070_6(TernaryPodObj) = Load[#temp2070:9] : &:r2070_5, m2070_4
# 2070| r2070_7(glval<TernaryPodObj>) = VariableAddress[z] :
# 2070| m2070_8(TernaryPodObj) = Store[z] : &:r2070_7, r2070_6
# 2071| r2071_1(glval<TernaryPodObj>) = VariableAddress[#temp2071:9] :
# 2071| r2071_2(glval<bool>) = VariableAddress[a] :
# 2071| r2071_3(bool) = Load[a] : &:r2071_2, m2069_6
# 2071| v2071_4(void) = ConditionalBranch : r2071_3
#-----| False -> Block 6
#-----| True -> Block 5
# 2070| Block 2
# 2070| r2070_9(glval<TernaryPodObj>) = VariableAddress[x] :
# 2070| r2070_10(TernaryPodObj) = Load[x] : &:r2070_9, m2069_8
# 2070| r2070_11(glval<TernaryPodObj>) = VariableAddress[#temp2070:9] :
# 2070| m2070_12(TernaryPodObj) = Store[#temp2070:9] : &:r2070_11, r2070_10
#-----| Goto -> Block 1
# 2070| Block 3
# 2070| r2070_13(glval<TernaryPodObj>) = VariableAddress[y] :
# 2070| r2070_14(TernaryPodObj) = Load[y] : &:r2070_13, m2069_10
# 2070| r2070_15(glval<TernaryPodObj>) = VariableAddress[#temp2070:9] :
# 2070| m2070_16(TernaryPodObj) = Store[#temp2070:9] : &:r2070_15, r2070_14
#-----| Goto -> Block 1
# 2071| Block 4
# 2071| m2071_5(TernaryPodObj) = Phi : from 5:m2071_18, from 6:m2071_24
# 2071| r2071_6(glval<TernaryPodObj>) = VariableAddress[#temp2071:9] :
# 2071| r2071_7(TernaryPodObj) = Load[#temp2071:9] : &:r2071_6, m2071_5
# 2071| m2071_8(TernaryPodObj) = Store[#temp2071:9] : &:r2071_1, r2071_7
# 2071| r2071_9(TernaryPodObj) = Load[#temp2071:9] : &:r2071_1, m2071_8
# 2071| r2071_10(glval<TernaryPodObj>) = VariableAddress[z] :
# 2071| m2071_11(TernaryPodObj) = Store[z] : &:r2071_10, r2071_9
# 2072| r2072_1(glval<TernaryPodObj>) = VariableAddress[#temp2072:9] :
# 2072| r2072_2(glval<bool>) = VariableAddress[a] :
# 2072| r2072_3(bool) = Load[a] : &:r2072_2, m2069_6
# 2072| v2072_4(void) = ConditionalBranch : r2072_3
#-----| False -> Block 9
#-----| True -> Block 8
# 2071| Block 5
# 2071| r2071_12(glval<TernaryPodObj>) = VariableAddress[#temp2071:13] :
# 2071| r2071_13(glval<TernaryPodObj>) = VariableAddress[x] :
# 2071| r2071_14(TernaryPodObj) = Load[x] : &:r2071_13, m2069_8
# 2071| m2071_15(TernaryPodObj) = Store[#temp2071:13] : &:r2071_12, r2071_14
# 2071| r2071_16(TernaryPodObj) = Load[#temp2071:13] : &:r2071_12, m2071_15
# 2071| r2071_17(glval<TernaryPodObj>) = VariableAddress[#temp2071:9] :
# 2071| m2071_18(TernaryPodObj) = Store[#temp2071:9] : &:r2071_17, r2071_16
#-----| Goto -> Block 4
# 2071| Block 6
# 2071| r2071_19(glval<TernaryPodObj>) = VariableAddress[#temp2071:17] :
# 2071| r2071_20(TernaryPodObj) = Constant[0] :
# 2071| m2071_21(TernaryPodObj) = Store[#temp2071:17] : &:r2071_19, r2071_20
# 2071| r2071_22(TernaryPodObj) = Load[#temp2071:17] : &:r2071_19, m2071_21
# 2071| r2071_23(glval<TernaryPodObj>) = VariableAddress[#temp2071:9] :
# 2071| m2071_24(TernaryPodObj) = Store[#temp2071:9] : &:r2071_23, r2071_22
#-----| Goto -> Block 4
# 2072| Block 7
# 2072| m2072_5(TernaryPodObj) = Phi : from 8:m2072_17, from 9:m2072_23
# 2072| r2072_6(glval<TernaryPodObj>) = VariableAddress[#temp2072:9] :
# 2072| r2072_7(TernaryPodObj) = Load[#temp2072:9] : &:r2072_6, m2072_5
# 2072| m2072_8(TernaryPodObj) = Store[#temp2072:9] : &:r2072_1, r2072_7
# 2072| r2072_9(TernaryPodObj) = Load[#temp2072:9] : &:r2072_1, m2072_8
# 2072| r2072_10(glval<TernaryPodObj>) = VariableAddress[z] :
# 2072| m2072_11(TernaryPodObj) = Store[z] : &:r2072_10, r2072_9
# 2073| r2073_1(glval<TernaryPodObj>) = VariableAddress[#temp2073:23] :
# 2073| r2073_2(TernaryPodObj) = Constant[0] :
# 2073| m2073_3(TernaryPodObj) = Store[#temp2073:23] : &:r2073_1, r2073_2
# 2073| r2073_4(TernaryPodObj) = Load[#temp2073:23] : &:r2073_1, m2073_3
# 2073| r2073_5(glval<bool>) = VariableAddress[a] :
# 2073| r2073_6(bool) = Load[a] : &:r2073_5, m2069_6
# 2073| v2073_7(void) = ConditionalBranch : r2073_6
#-----| False -> Block 12
#-----| True -> Block 11
# 2072| Block 8
# 2072| r2072_12(glval<TernaryPodObj>) = VariableAddress[#temp2072:13] :
# 2072| r2072_13(TernaryPodObj) = Constant[0] :
# 2072| m2072_14(TernaryPodObj) = Store[#temp2072:13] : &:r2072_12, r2072_13
# 2072| r2072_15(TernaryPodObj) = Load[#temp2072:13] : &:r2072_12, m2072_14
# 2072| r2072_16(glval<TernaryPodObj>) = VariableAddress[#temp2072:9] :
# 2072| m2072_17(TernaryPodObj) = Store[#temp2072:9] : &:r2072_16, r2072_15
#-----| Goto -> Block 7
# 2072| Block 9
# 2072| r2072_18(glval<TernaryPodObj>) = VariableAddress[#temp2072:31] :
# 2072| r2072_19(TernaryPodObj) = Constant[0] :
# 2072| m2072_20(TernaryPodObj) = Store[#temp2072:31] : &:r2072_18, r2072_19
# 2072| r2072_21(TernaryPodObj) = Load[#temp2072:31] : &:r2072_18, m2072_20
# 2072| r2072_22(glval<TernaryPodObj>) = VariableAddress[#temp2072:9] :
# 2072| m2072_23(TernaryPodObj) = Store[#temp2072:9] : &:r2072_22, r2072_21
#-----| Goto -> Block 7
# 2073| Block 10
# 2073| m2073_8(TernaryPodObj) = Phi : from 11:m2073_18, from 12:m2073_22
# 2073| r2073_9(glval<TernaryPodObj>) = VariableAddress[#temp2073:10] :
# 2073| r2073_10(TernaryPodObj) = Load[#temp2073:10] : &:r2073_9, m2073_8
# 2073| r2073_11(glval<TernaryPodObj>) = VariableAddress[z] :
# 2073| m2073_12(TernaryPodObj) = Store[z] : &:r2073_11, r2073_10
# 2073| r2073_13(glval<TernaryPodObj>) = CopyValue : r2073_11
# 2073| m2073_14(TernaryPodObj) = Store[?] : &:r2073_13, r2073_4
# 2074| v2074_1(void) = NoOp :
# 2069| v2069_13(void) = ReturnVoid :
# 2069| v2069_14(void) = AliasedUse : m2069_3
# 2069| v2069_15(void) = ExitFunction :
# 2073| Block 11
# 2073| r2073_15(glval<TernaryPodObj>) = VariableAddress[x] :
# 2073| r2073_16(TernaryPodObj) = Load[x] : &:r2073_15, m2069_8
# 2073| r2073_17(glval<TernaryPodObj>) = VariableAddress[#temp2073:10] :
# 2073| m2073_18(TernaryPodObj) = Store[#temp2073:10] : &:r2073_17, r2073_16
#-----| Goto -> Block 10
# 2073| Block 12
# 2073| r2073_19(glval<TernaryPodObj>) = VariableAddress[y] :
# 2073| r2073_20(TernaryPodObj) = Load[y] : &:r2073_19, m2069_10
# 2073| r2073_21(glval<TernaryPodObj>) = VariableAddress[#temp2073:10] :
# 2073| m2073_22(TernaryPodObj) = Store[#temp2073:10] : &:r2073_21, r2073_20
#-----| Goto -> Block 10
# 2076| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&)
# 2076| Block 0
# 2076| v2076_1(void) = EnterFunction :
# 2076| m2076_2(unknown) = AliasedDefinition :
# 2076| m2076_3(unknown) = InitializeNonLocal :
# 2076| m2076_4(unknown) = Chi : total:m2076_2, partial:m2076_3
# 2076| r2076_5(glval<unknown>) = VariableAddress[#this] :
# 2076| m2076_6(glval<TernaryNonPodObj>) = InitializeParameter[#this] : &:r2076_5
# 2076| r2076_7(glval<TernaryNonPodObj>) = Load[#this] : &:r2076_5, m2076_6
# 2076| m2076_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2076_7
#-----| r0_1(glval<TernaryNonPodObj &>) = VariableAddress[(unnamed parameter 0)] :
#-----| m0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
#-----| r0_5(glval<TernaryNonPodObj &>) = VariableAddress[#return] :
#-----| r0_6(glval<unknown>) = VariableAddress[#this] :
#-----| r0_7(TernaryNonPodObj *) = Load[#this] : &:r0_6, m2076_6
#-----| r0_8(glval<TernaryNonPodObj>) = CopyValue : r0_7
#-----| r0_9(TernaryNonPodObj &) = CopyValue : r0_8
#-----| m0_10(TernaryNonPodObj &) = Store[#return] : &:r0_5, r0_9
# 2076| v2076_9(void) = ReturnIndirection[#this] : &:r2076_7, m2076_8
#-----| v0_11(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 2076| r2076_10(glval<TernaryNonPodObj &>) = VariableAddress[#return] :
# 2076| v2076_11(void) = ReturnValue : &:r2076_10, m0_10
# 2076| v2076_12(void) = AliasedUse : m2076_3
# 2076| v2076_13(void) = ExitFunction :
# 2076| void TernaryNonPodObj::TernaryNonPodObj()
# 2076| Block 0
# 2076| v2076_1(void) = EnterFunction :
# 2076| m2076_2(unknown) = AliasedDefinition :
# 2076| m2076_3(unknown) = InitializeNonLocal :
# 2076| m2076_4(unknown) = Chi : total:m2076_2, partial:m2076_3
# 2076| r2076_5(glval<unknown>) = VariableAddress[#this] :
# 2076| m2076_6(glval<TernaryNonPodObj>) = InitializeParameter[#this] : &:r2076_5
# 2076| r2076_7(glval<TernaryNonPodObj>) = Load[#this] : &:r2076_5, m2076_6
# 2076| m2076_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2076_7
# 2076| v2076_9(void) = NoOp :
# 2076| v2076_10(void) = ReturnIndirection[#this] : &:r2076_7, m2076_8
# 2076| v2076_11(void) = ReturnVoid :
# 2076| v2076_12(void) = AliasedUse : m2076_3
# 2076| v2076_13(void) = ExitFunction :
# 2076| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&)
# 2076| Block 0
# 2076| v2076_1(void) = EnterFunction :
# 2076| m2076_2(unknown) = AliasedDefinition :
# 2076| m2076_3(unknown) = InitializeNonLocal :
# 2076| m2076_4(unknown) = Chi : total:m2076_2, partial:m2076_3
# 2076| r2076_5(glval<unknown>) = VariableAddress[#this] :
# 2076| m2076_6(glval<TernaryNonPodObj>) = InitializeParameter[#this] : &:r2076_5
# 2076| r2076_7(glval<TernaryNonPodObj>) = Load[#this] : &:r2076_5, m2076_6
# 2076| m2076_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2076_7
#-----| r0_1(glval<TernaryNonPodObj &>) = VariableAddress[(unnamed parameter 0)] :
#-----| m0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
#-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2
#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
# 2076| v2076_9(void) = NoOp :
# 2076| v2076_10(void) = ReturnIndirection[#this] : &:r2076_7, m2076_8
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 2076| v2076_11(void) = ReturnVoid :
# 2076| v2076_12(void) = AliasedUse : m2076_3
# 2076| v2076_13(void) = ExitFunction :
# 2077| void TernaryNonPodObj::~TernaryNonPodObj()
# 2077| Block 0
# 2077| v2077_1(void) = EnterFunction :
# 2077| m2077_2(unknown) = AliasedDefinition :
# 2077| m2077_3(unknown) = InitializeNonLocal :
# 2077| m2077_4(unknown) = Chi : total:m2077_2, partial:m2077_3
# 2077| r2077_5(glval<unknown>) = VariableAddress[#this] :
# 2077| m2077_6(glval<TernaryNonPodObj>) = InitializeParameter[#this] : &:r2077_5
# 2077| r2077_7(glval<TernaryNonPodObj>) = Load[#this] : &:r2077_5, m2077_6
# 2077| m2077_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2077_7
# 2077| v2077_9(void) = NoOp :
# 2077| v2077_10(void) = ReturnIndirection[#this] : &:r2077_7, m2077_8
# 2077| v2077_11(void) = ReturnVoid :
# 2077| v2077_12(void) = AliasedUse : m2077_3
# 2077| v2077_13(void) = ExitFunction :
# 2080| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj)
# 2080| Block 0
# 2080| v2080_1(void) = EnterFunction :
# 2080| m2080_2(unknown) = AliasedDefinition :
# 2080| m2080_3(unknown) = InitializeNonLocal :
# 2080| m2080_4(unknown) = Chi : total:m2080_2, partial:m2080_3
# 2080| r2080_5(glval<bool>) = VariableAddress[a] :
# 2080| m2080_6(bool) = InitializeParameter[a] : &:r2080_5
# 2080| r2080_7(glval<TernaryNonPodObj>) = VariableAddress[x] :
# 2080| m2080_8(TernaryNonPodObj) = InitializeParameter[x] : &:r2080_7
# 2080| r2080_9(glval<TernaryNonPodObj>) = VariableAddress[y] :
# 2080| m2080_10(TernaryNonPodObj) = InitializeParameter[y] : &:r2080_9
# 2080| r2080_11(glval<TernaryNonPodObj>) = VariableAddress[z] :
# 2080| m2080_12(TernaryNonPodObj) = InitializeParameter[z] : &:r2080_11
# 2081| r2081_1(glval<TernaryNonPodObj>) = VariableAddress[z] :
# 2081| r2081_2(glval<unknown>) = FunctionAddress[operator=] :
# 2081| r2081_3(glval<bool>) = VariableAddress[a] :
# 2081| r2081_4(bool) = Load[a] : &:r2081_3, m2080_6
# 2081| v2081_5(void) = ConditionalBranch : r2081_4
#-----| False -> Block 3
#-----| True -> Block 2
# 2081| Block 1
# 2081| m2081_6(glval<TernaryNonPodObj>) = Phi : from 2:m2081_21, from 3:m2081_24
# 2081| r2081_7(glval<unknown>) = VariableAddress[#temp2081:9] :
# 2081| r2081_8(glval<TernaryNonPodObj>) = Load[#temp2081:9] : &:r2081_7, m2081_6
# 2081| r2081_9(glval<TernaryNonPodObj>) = Convert : r2081_8
# 2081| r2081_10(TernaryNonPodObj &) = CopyValue : r2081_9
# 2081| r2081_11(TernaryNonPodObj &) = Call[operator=] : func:r2081_2, this:r2081_1, 0:r2081_10
# 2081| m2081_12(unknown) = ^CallSideEffect : ~m2080_4
# 2081| m2081_13(unknown) = Chi : total:m2080_4, partial:m2081_12
# 2081| v2081_14(void) = ^IndirectReadSideEffect[-1] : &:r2081_1, m2080_12
# 2081| v2081_15(void) = ^BufferReadSideEffect[0] : &:r2081_10, ~m2081_13
# 2081| m2081_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2081_1
# 2081| m2081_17(TernaryNonPodObj) = Chi : total:m2080_12, partial:m2081_16
# 2081| r2081_18(glval<TernaryNonPodObj>) = CopyValue : r2081_11
# 2082| r2082_1(glval<TernaryNonPodObj>) = VariableAddress[z] :
# 2082| r2082_2(glval<unknown>) = FunctionAddress[operator=] :
# 2082| r2082_3(glval<TernaryNonPodObj>) = VariableAddress[#temp2082:9] :
# 2082| r2082_4(glval<bool>) = VariableAddress[a] :
# 2082| r2082_5(bool) = Load[a] : &:r2082_4, m2080_6
# 2082| v2082_6(void) = ConditionalBranch : r2082_5
#-----| False -> Block 6
#-----| True -> Block 5
# 2081| Block 2
# 2081| r2081_19(glval<TernaryNonPodObj>) = VariableAddress[x] :
# 2081| r2081_20(glval<unknown>) = VariableAddress[#temp2081:9] :
# 2081| m2081_21(glval<TernaryNonPodObj>) = Store[#temp2081:9] : &:r2081_20, r2081_19
#-----| Goto -> Block 1
# 2081| Block 3
# 2081| r2081_22(glval<TernaryNonPodObj>) = VariableAddress[y] :
# 2081| r2081_23(glval<unknown>) = VariableAddress[#temp2081:9] :
# 2081| m2081_24(glval<TernaryNonPodObj>) = Store[#temp2081:9] : &:r2081_23, r2081_22
#-----| Goto -> Block 1
# 2082| Block 4
# 2082| m2082_7(unknown) = Phi : from 5:~m2082_39, from 6:~m2082_51
# 2082| m2082_8(TernaryNonPodObj) = Phi : from 5:m2082_45, from 6:m2082_56
# 2082| r2082_9(glval<TernaryNonPodObj>) = VariableAddress[#temp2082:9] :
# 2082| r2082_10(TernaryNonPodObj) = Load[#temp2082:9] : &:r2082_9, m2082_8
# 2082| m2082_11(TernaryNonPodObj) = Store[#temp2082:9] : &:r2082_3, r2082_10
# 2082| m2082_12(unknown) = Chi : total:m2082_7, partial:m2082_11
# 2082| r2082_13(glval<TernaryNonPodObj>) = Convert : r2082_3
# 2082| r2082_14(TernaryNonPodObj &) = CopyValue : r2082_13
# 2082| r2082_15(TernaryNonPodObj &) = Call[operator=] : func:r2082_2, this:r2082_1, 0:r2082_14
# 2082| m2082_16(unknown) = ^CallSideEffect : ~m2082_12
# 2082| m2082_17(unknown) = Chi : total:m2082_12, partial:m2082_16
# 2082| v2082_18(void) = ^IndirectReadSideEffect[-1] : &:r2082_1, m2081_17
# 2082| v2082_19(void) = ^BufferReadSideEffect[0] : &:r2082_14, ~m2082_17
# 2082| m2082_20(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2082_1
# 2082| m2082_21(TernaryNonPodObj) = Chi : total:m2081_17, partial:m2082_20
# 2082| r2082_22(glval<TernaryNonPodObj>) = CopyValue : r2082_3
# 2082| r2082_23(glval<unknown>) = FunctionAddress[~TernaryNonPodObj] :
# 2082| v2082_24(void) = Call[~TernaryNonPodObj] : func:r2082_23, this:r2082_22
# 2082| m2082_25(unknown) = ^CallSideEffect : ~m2082_17
# 2082| m2082_26(unknown) = Chi : total:m2082_17, partial:m2082_25
# 2082| v2082_27(void) = ^IndirectReadSideEffect[-1] : &:r2082_22, ~m2082_26
# 2082| m2082_28(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2082_22
# 2082| m2082_29(unknown) = Chi : total:m2082_26, partial:m2082_28
# 2082| r2082_30(glval<TernaryNonPodObj>) = CopyValue : r2082_15
# 2083| r2083_1(glval<TernaryNonPodObj>) = VariableAddress[z] :
# 2083| r2083_2(glval<unknown>) = FunctionAddress[operator=] :
# 2083| r2083_3(glval<TernaryNonPodObj>) = VariableAddress[#temp2083:9] :
# 2083| r2083_4(glval<bool>) = VariableAddress[a] :
# 2083| r2083_5(bool) = Load[a] : &:r2083_4, m2080_6
# 2083| v2083_6(void) = ConditionalBranch : r2083_5
#-----| False -> Block 9
#-----| True -> Block 8
# 2082| Block 5
# 2082| r2082_31(glval<TernaryNonPodObj>) = VariableAddress[#temp2082:13] :
# 2082| m2082_32(TernaryNonPodObj) = Uninitialized[#temp2082:13] : &:r2082_31
# 2082| r2082_33(glval<unknown>) = FunctionAddress[TernaryNonPodObj] :
# 2082| r2082_34(glval<TernaryNonPodObj>) = VariableAddress[x] :
# 2082| r2082_35(glval<TernaryNonPodObj>) = Convert : r2082_34
# 2082| r2082_36(TernaryNonPodObj &) = CopyValue : r2082_35
# 2082| v2082_37(void) = Call[TernaryNonPodObj] : func:r2082_33, this:r2082_31, 0:r2082_36
# 2082| m2082_38(unknown) = ^CallSideEffect : ~m2081_13
# 2082| m2082_39(unknown) = Chi : total:m2081_13, partial:m2082_38
# 2082| v2082_40(void) = ^BufferReadSideEffect[0] : &:r2082_36, ~m2080_8
# 2082| m2082_41(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2082_31
# 2082| m2082_42(TernaryNonPodObj) = Chi : total:m2082_32, partial:m2082_41
# 2082| r2082_43(TernaryNonPodObj) = Load[#temp2082:13] : &:r2082_31, m2082_42
# 2082| r2082_44(glval<TernaryNonPodObj>) = VariableAddress[#temp2082:9] :
# 2082| m2082_45(TernaryNonPodObj) = Store[#temp2082:9] : &:r2082_44, r2082_43
#-----| Goto -> Block 4
# 2082| Block 6
# 2082| r2082_46(glval<TernaryNonPodObj>) = VariableAddress[#temp2082:17] :
# 2082| m2082_47(TernaryNonPodObj) = Uninitialized[#temp2082:17] : &:r2082_46
# 2082| r2082_48(glval<unknown>) = FunctionAddress[TernaryNonPodObj] :
# 2082| v2082_49(void) = Call[TernaryNonPodObj] : func:r2082_48, this:r2082_46
# 2082| m2082_50(unknown) = ^CallSideEffect : ~m2081_13
# 2082| m2082_51(unknown) = Chi : total:m2081_13, partial:m2082_50
# 2082| m2082_52(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2082_46
# 2082| m2082_53(TernaryNonPodObj) = Chi : total:m2082_47, partial:m2082_52
# 2082| r2082_54(TernaryNonPodObj) = Load[#temp2082:17] : &:r2082_46, m2082_53
# 2082| r2082_55(glval<TernaryNonPodObj>) = VariableAddress[#temp2082:9] :
# 2082| m2082_56(TernaryNonPodObj) = Store[#temp2082:9] : &:r2082_55, r2082_54
#-----| Goto -> Block 4
# 2083| Block 7
# 2083| m2083_7(unknown) = Phi : from 8:~m2083_36, from 9:~m2083_47
# 2083| m2083_8(TernaryNonPodObj) = Phi : from 8:m2083_41, from 9:m2083_52
# 2083| r2083_9(glval<TernaryNonPodObj>) = VariableAddress[#temp2083:9] :
# 2083| r2083_10(TernaryNonPodObj) = Load[#temp2083:9] : &:r2083_9, m2083_8
# 2083| m2083_11(TernaryNonPodObj) = Store[#temp2083:9] : &:r2083_3, r2083_10
# 2083| m2083_12(unknown) = Chi : total:m2083_7, partial:m2083_11
# 2083| r2083_13(glval<TernaryNonPodObj>) = Convert : r2083_3
# 2083| r2083_14(TernaryNonPodObj &) = CopyValue : r2083_13
# 2083| r2083_15(TernaryNonPodObj &) = Call[operator=] : func:r2083_2, this:r2083_1, 0:r2083_14
# 2083| m2083_16(unknown) = ^CallSideEffect : ~m2083_12
# 2083| m2083_17(unknown) = Chi : total:m2083_12, partial:m2083_16
# 2083| v2083_18(void) = ^IndirectReadSideEffect[-1] : &:r2083_1, m2082_21
# 2083| v2083_19(void) = ^BufferReadSideEffect[0] : &:r2083_14, ~m2083_17
# 2083| m2083_20(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2083_1
# 2083| m2083_21(TernaryNonPodObj) = Chi : total:m2082_21, partial:m2083_20
# 2083| r2083_22(glval<TernaryNonPodObj>) = CopyValue : r2083_3
# 2083| r2083_23(glval<unknown>) = FunctionAddress[~TernaryNonPodObj] :
# 2083| v2083_24(void) = Call[~TernaryNonPodObj] : func:r2083_23, this:r2083_22
# 2083| m2083_25(unknown) = ^CallSideEffect : ~m2083_17
# 2083| m2083_26(unknown) = Chi : total:m2083_17, partial:m2083_25
# 2083| v2083_27(void) = ^IndirectReadSideEffect[-1] : &:r2083_22, ~m2083_26
# 2083| m2083_28(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2083_22
# 2083| m2083_29(unknown) = Chi : total:m2083_26, partial:m2083_28
# 2083| r2083_30(glval<TernaryNonPodObj>) = CopyValue : r2083_15
# 2084| r2084_1(glval<TernaryNonPodObj>) = VariableAddress[z] :
# 2084| r2084_2(glval<unknown>) = FunctionAddress[operator=] :
# 2084| r2084_3(glval<bool>) = VariableAddress[a] :
# 2084| r2084_4(bool) = Load[a] : &:r2084_3, m2080_6
# 2084| v2084_5(void) = ConditionalBranch : r2084_4
#-----| False -> Block 12
#-----| True -> Block 11
# 2083| Block 8
# 2083| r2083_31(glval<TernaryNonPodObj>) = VariableAddress[#temp2083:13] :
# 2083| m2083_32(TernaryNonPodObj) = Uninitialized[#temp2083:13] : &:r2083_31
# 2083| r2083_33(glval<unknown>) = FunctionAddress[TernaryNonPodObj] :
# 2083| v2083_34(void) = Call[TernaryNonPodObj] : func:r2083_33, this:r2083_31
# 2083| m2083_35(unknown) = ^CallSideEffect : ~m2082_29
# 2083| m2083_36(unknown) = Chi : total:m2082_29, partial:m2083_35
# 2083| m2083_37(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2083_31
# 2083| m2083_38(TernaryNonPodObj) = Chi : total:m2083_32, partial:m2083_37
# 2083| r2083_39(TernaryNonPodObj) = Load[#temp2083:13] : &:r2083_31, m2083_38
# 2083| r2083_40(glval<TernaryNonPodObj>) = VariableAddress[#temp2083:9] :
# 2083| m2083_41(TernaryNonPodObj) = Store[#temp2083:9] : &:r2083_40, r2083_39
#-----| Goto -> Block 7
# 2083| Block 9
# 2083| r2083_42(glval<TernaryNonPodObj>) = VariableAddress[#temp2083:34] :
# 2083| m2083_43(TernaryNonPodObj) = Uninitialized[#temp2083:34] : &:r2083_42
# 2083| r2083_44(glval<unknown>) = FunctionAddress[TernaryNonPodObj] :
# 2083| v2083_45(void) = Call[TernaryNonPodObj] : func:r2083_44, this:r2083_42
# 2083| m2083_46(unknown) = ^CallSideEffect : ~m2082_29
# 2083| m2083_47(unknown) = Chi : total:m2082_29, partial:m2083_46
# 2083| m2083_48(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2083_42
# 2083| m2083_49(TernaryNonPodObj) = Chi : total:m2083_43, partial:m2083_48
# 2083| r2083_50(TernaryNonPodObj) = Load[#temp2083:34] : &:r2083_42, m2083_49
# 2083| r2083_51(glval<TernaryNonPodObj>) = VariableAddress[#temp2083:9] :
# 2083| m2083_52(TernaryNonPodObj) = Store[#temp2083:9] : &:r2083_51, r2083_50
#-----| Goto -> Block 7
# 2084| Block 10
# 2084| m2084_6(glval<TernaryNonPodObj>) = Phi : from 11:m2084_49, from 12:m2084_52
# 2084| r2084_7(glval<unknown>) = VariableAddress[#temp2084:10] :
# 2084| r2084_8(glval<TernaryNonPodObj>) = Load[#temp2084:10] : &:r2084_7, m2084_6
# 2084| r2084_9(glval<TernaryNonPodObj>) = Convert : r2084_8
# 2084| r2084_10(TernaryNonPodObj &) = CopyValue : r2084_9
# 2084| r2084_11(TernaryNonPodObj &) = Call[operator=] : func:r2084_2, this:r2084_1, 0:r2084_10
# 2084| m2084_12(unknown) = ^CallSideEffect : ~m2083_29
# 2084| m2084_13(unknown) = Chi : total:m2083_29, partial:m2084_12
# 2084| v2084_14(void) = ^IndirectReadSideEffect[-1] : &:r2084_1, m2083_21
# 2084| v2084_15(void) = ^BufferReadSideEffect[0] : &:r2084_10, ~m2084_13
# 2084| m2084_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2084_1
# 2084| m2084_17(TernaryNonPodObj) = Chi : total:m2083_21, partial:m2084_16
# 2084| r2084_18(glval<TernaryNonPodObj>) = CopyValue : r2084_11
# 2084| r2084_19(glval<unknown>) = FunctionAddress[operator=] :
# 2084| r2084_20(glval<TernaryNonPodObj>) = VariableAddress[#temp2084:23] :
# 2084| m2084_21(TernaryNonPodObj) = Uninitialized[#temp2084:23] : &:r2084_20
# 2084| m2084_22(unknown) = Chi : total:m2084_13, partial:m2084_21
# 2084| r2084_23(glval<unknown>) = FunctionAddress[TernaryNonPodObj] :
# 2084| v2084_24(void) = Call[TernaryNonPodObj] : func:r2084_23, this:r2084_20
# 2084| m2084_25(unknown) = ^CallSideEffect : ~m2084_22
# 2084| m2084_26(unknown) = Chi : total:m2084_22, partial:m2084_25
# 2084| m2084_27(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2084_20
# 2084| m2084_28(unknown) = Chi : total:m2084_26, partial:m2084_27
# 2084| r2084_29(glval<TernaryNonPodObj>) = Convert : r2084_20
# 2084| r2084_30(TernaryNonPodObj &) = CopyValue : r2084_29
# 2084| r2084_31(TernaryNonPodObj &) = Call[operator=] : func:r2084_19, this:r2084_18, 0:r2084_30
# 2084| m2084_32(unknown) = ^CallSideEffect : ~m2084_28
# 2084| m2084_33(unknown) = Chi : total:m2084_28, partial:m2084_32
# 2084| v2084_34(void) = ^IndirectReadSideEffect[-1] : &:r2084_18, m2084_17
# 2084| v2084_35(void) = ^BufferReadSideEffect[0] : &:r2084_30, ~m2084_33
# 2084| m2084_36(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2084_18
# 2084| m2084_37(TernaryNonPodObj) = Chi : total:m2084_17, partial:m2084_36
# 2084| r2084_38(glval<TernaryNonPodObj>) = CopyValue : r2084_20
# 2084| r2084_39(glval<unknown>) = FunctionAddress[~TernaryNonPodObj] :
# 2084| v2084_40(void) = Call[~TernaryNonPodObj] : func:r2084_39, this:r2084_38
# 2084| m2084_41(unknown) = ^CallSideEffect : ~m2084_33
# 2084| m2084_42(unknown) = Chi : total:m2084_33, partial:m2084_41
# 2084| v2084_43(void) = ^IndirectReadSideEffect[-1] : &:r2084_38, ~m2084_42
# 2084| m2084_44(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2084_38
# 2084| m2084_45(unknown) = Chi : total:m2084_42, partial:m2084_44
# 2084| r2084_46(glval<TernaryNonPodObj>) = CopyValue : r2084_31
# 2085| v2085_1(void) = NoOp :
# 2080| v2080_13(void) = ReturnVoid :
# 2080| v2080_14(void) = AliasedUse : ~m2084_42
# 2080| v2080_15(void) = ExitFunction :
# 2084| Block 11
# 2084| r2084_47(glval<TernaryNonPodObj>) = VariableAddress[x] :
# 2084| r2084_48(glval<unknown>) = VariableAddress[#temp2084:10] :
# 2084| m2084_49(glval<TernaryNonPodObj>) = Store[#temp2084:10] : &:r2084_48, r2084_47
#-----| Goto -> Block 10
# 2084| Block 12
# 2084| r2084_50(glval<TernaryNonPodObj>) = VariableAddress[y] :
# 2084| r2084_51(glval<unknown>) = VariableAddress[#temp2084:10] :
# 2084| m2084_52(glval<TernaryNonPodObj>) = Store[#temp2084:10] : &:r2084_51, r2084_50
#-----| Goto -> Block 10
# 2089| unsigned int CommaTest(unsigned int)
# 2089| Block 0
# 2089| v2089_1(void) = EnterFunction :
# 2089| m2089_2(unknown) = AliasedDefinition :
# 2089| m2089_3(unknown) = InitializeNonLocal :
# 2089| m2089_4(unknown) = Chi : total:m2089_2, partial:m2089_3
# 2089| r2089_5(glval<unsigned int>) = VariableAddress[x] :
# 2089| m2089_6(unsigned int) = InitializeParameter[x] : &:r2089_5
# 2090| r2090_1(glval<unsigned int>) = VariableAddress[y] :
# 2090| m2090_2(unsigned int) = Uninitialized[y] : &:r2090_1
# 2091| r2091_1(glval<unsigned int>) = VariableAddress[x] :
# 2091| r2091_2(unsigned int) = Load[x] : &:r2091_1, m2089_6
# 2091| r2091_3(unsigned int) = Constant[100] :
# 2091| r2091_4(bool) = CompareLT : r2091_2, r2091_3
# 2091| v2091_5(void) = ConditionalBranch : r2091_4
#-----| False -> Block 3
#-----| True -> Block 2
# 2091| Block 1
# 2091| m2091_6(unknown) = Phi : from 2:~m2092_6, from 3:~m2093_6
# 2091| m2091_7(unsigned int) = Phi : from 2:m2091_13, from 3:m2091_15
# 2091| r2091_8(glval<unsigned int>) = VariableAddress[#temp2091:7] :
# 2091| r2091_9(unsigned int) = Load[#temp2091:7] : &:r2091_8, m2091_7
# 2091| r2091_10(glval<unsigned int>) = VariableAddress[y] :
# 2091| m2091_11(unsigned int) = Store[y] : &:r2091_10, r2091_9
# 2094| r2094_1(glval<unsigned int>) = VariableAddress[#return] :
# 2094| m2094_2(unsigned int) = Uninitialized[#return] : &:r2094_1
# 2089| r2089_7(glval<unsigned int>) = VariableAddress[#return] :
# 2089| v2089_8(void) = ReturnValue : &:r2089_7, m2094_2
# 2089| v2089_9(void) = AliasedUse : ~m2091_6
# 2089| v2089_10(void) = ExitFunction :
# 2092| Block 2
# 2092| r2092_1(glval<unknown>) = FunctionAddress[CommaTestHelper] :
# 2092| r2092_2(glval<unsigned int>) = VariableAddress[x] :
# 2092| r2092_3(unsigned int) = Load[x] : &:r2092_2, m2089_6
# 2092| v2092_4(void) = Call[CommaTestHelper] : func:r2092_1, 0:r2092_3
# 2092| m2092_5(unknown) = ^CallSideEffect : ~m2089_4
# 2092| m2092_6(unknown) = Chi : total:m2089_4, partial:m2092_5
# 2092| r2092_7(glval<unsigned int>) = VariableAddress[x] :
# 2092| r2092_8(unsigned int) = Load[x] : &:r2092_7, m2089_6
# 2092| r2092_9(unsigned int) = CopyValue : r2092_8
# 2091| r2091_12(glval<unsigned int>) = VariableAddress[#temp2091:7] :
# 2091| m2091_13(unsigned int) = Store[#temp2091:7] : &:r2091_12, r2092_9
#-----| Goto -> Block 1
# 2093| Block 3
# 2093| r2093_1(glval<unknown>) = FunctionAddress[CommaTestHelper] :
# 2093| r2093_2(glval<unsigned int>) = VariableAddress[x] :
# 2093| r2093_3(unsigned int) = Load[x] : &:r2093_2, m2089_6
# 2093| v2093_4(void) = Call[CommaTestHelper] : func:r2093_1, 0:r2093_3
# 2093| m2093_5(unknown) = ^CallSideEffect : ~m2089_4
# 2093| m2093_6(unknown) = Chi : total:m2089_4, partial:m2093_5
# 2093| r2093_7(int) = Constant[10] :
# 2093| r2093_8(int) = CopyValue : r2093_7
# 2093| r2093_9(unsigned int) = Convert : r2093_8
# 2091| r2091_14(glval<unsigned int>) = VariableAddress[#temp2091:7] :
# 2091| m2091_15(unsigned int) = Store[#temp2091:7] : &:r2091_14, r2093_9
#-----| Goto -> Block 1
# 2096| void NewDeleteMem()
# 2096| Block 0
# 2096| v2096_1(void) = EnterFunction :
# 2096| m2096_2(unknown) = AliasedDefinition :
# 2096| m2096_3(unknown) = InitializeNonLocal :
# 2096| m2096_4(unknown) = Chi : total:m2096_2, partial:m2096_3
# 2097| r2097_1(glval<int *>) = VariableAddress[x] :
# 2097| r2097_2(glval<unknown>) = FunctionAddress[operator new] :
# 2097| r2097_3(unsigned long) = Constant[4] :
# 2097| r2097_4(void *) = Call[operator new] : func:r2097_2, 0:r2097_3
# 2097| m2097_5(unknown) = ^CallSideEffect : ~m2096_4
# 2097| m2097_6(unknown) = Chi : total:m2096_4, partial:m2097_5
# 2097| m2097_7(unknown) = ^InitializeDynamicAllocation : &:r2097_4
# 2097| m2097_8(unknown) = Chi : total:m2097_6, partial:m2097_7
# 2097| r2097_9(int *) = Convert : r2097_4
# 2097| m2097_10(int *) = Store[x] : &:r2097_1, r2097_9
# 2098| r2098_1(int) = Constant[6] :
# 2098| r2098_2(glval<int *>) = VariableAddress[x] :
# 2098| r2098_3(int *) = Load[x] : &:r2098_2, m2097_10
# 2098| r2098_4(glval<int>) = CopyValue : r2098_3
# 2098| m2098_5(int) = Store[?] : &:r2098_4, r2098_1
# 2098| m2098_6(unknown) = Chi : total:m2097_8, partial:m2098_5
# 2099| r2099_1(glval<unknown>) = FunctionAddress[operator delete] :
# 2099| r2099_2(glval<int *>) = VariableAddress[x] :
# 2099| r2099_3(int *) = Load[x] : &:r2099_2, m2097_10
# 2099| v2099_4(void) = Call[operator delete] : func:r2099_1, 0:r2099_3
# 2099| m2099_5(unknown) = ^CallSideEffect : ~m2098_6
# 2099| m2099_6(unknown) = Chi : total:m2098_6, partial:m2099_5
# 2100| v2100_1(void) = NoOp :
# 2096| v2096_5(void) = ReturnVoid :
# 2096| v2096_6(void) = AliasedUse : ~m2099_6
# 2096| v2096_7(void) = ExitFunction :
# 2102| void Base2::Base2()
# 2102| Block 0
# 2102| v2102_1(void) = EnterFunction :
# 2102| m2102_2(unknown) = AliasedDefinition :
# 2102| m2102_3(unknown) = InitializeNonLocal :
# 2102| m2102_4(unknown) = Chi : total:m2102_2, partial:m2102_3
# 2102| r2102_5(glval<unknown>) = VariableAddress[#this] :
# 2102| m2102_6(glval<Base2>) = InitializeParameter[#this] : &:r2102_5
# 2102| r2102_7(glval<Base2>) = Load[#this] : &:r2102_5, m2102_6
# 2102| m2102_8(Base2) = InitializeIndirection[#this] : &:r2102_7
# 2102| v2102_9(void) = NoOp :
# 2102| v2102_10(void) = ReturnIndirection[#this] : &:r2102_7, m2102_8
# 2102| v2102_11(void) = ReturnVoid :
# 2102| v2102_12(void) = AliasedUse : m2102_3
# 2102| v2102_13(void) = ExitFunction :
# 2104| void Base2::operator delete(void*)
# 2104| Block 0
# 2104| v2104_1(void) = EnterFunction :
# 2104| m2104_2(unknown) = AliasedDefinition :
# 2104| m2104_3(unknown) = InitializeNonLocal :
# 2104| m2104_4(unknown) = Chi : total:m2104_2, partial:m2104_3
# 2104| r2104_5(glval<void *>) = VariableAddress[p] :
# 2104| m2104_6(void *) = InitializeParameter[p] : &:r2104_5
# 2104| r2104_7(void *) = Load[p] : &:r2104_5, m2104_6
# 2104| m2104_8(unknown) = InitializeIndirection[p] : &:r2104_7
# 2105| v2105_1(void) = NoOp :
# 2104| v2104_9(void) = ReturnIndirection[p] : &:r2104_7, m2104_8
# 2104| v2104_10(void) = ReturnVoid :
# 2104| v2104_11(void) = AliasedUse : m2104_3
# 2104| v2104_12(void) = ExitFunction :
# 2106| void Base2::~Base2()
# 2106| Block 0
# 2106| v2106_1(void) = EnterFunction :
# 2106| m2106_2(unknown) = AliasedDefinition :
# 2106| m2106_3(unknown) = InitializeNonLocal :
# 2106| m2106_4(unknown) = Chi : total:m2106_2, partial:m2106_3
# 2106| r2106_5(glval<unknown>) = VariableAddress[#this] :
# 2106| m2106_6(glval<Base2>) = InitializeParameter[#this] : &:r2106_5
# 2106| r2106_7(glval<Base2>) = Load[#this] : &:r2106_5, m2106_6
# 2106| m2106_8(Base2) = InitializeIndirection[#this] : &:r2106_7
# 2106| v2106_9(void) = NoOp :
# 2106| v2106_10(void) = ReturnIndirection[#this] : &:r2106_7, m2106_8
# 2106| v2106_11(void) = ReturnVoid :
# 2106| v2106_12(void) = AliasedUse : m2106_3
# 2106| v2106_13(void) = ExitFunction :
# 2109| void Derived2::Derived2()
# 2109| Block 0
# 2109| v2109_1(void) = EnterFunction :
# 2109| m2109_2(unknown) = AliasedDefinition :
# 2109| m2109_3(unknown) = InitializeNonLocal :
# 2109| m2109_4(unknown) = Chi : total:m2109_2, partial:m2109_3
# 2109| r2109_5(glval<unknown>) = VariableAddress[#this] :
# 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_10(glval<unknown>) = FunctionAddress[Base2] :
# 2109| v2109_11(void) = Call[Base2] : func:r2109_10, this:r2109_9
# 2109| m2109_12(unknown) = ^CallSideEffect : ~m2109_4
# 2109| m2109_13(unknown) = Chi : total:m2109_4, partial:m2109_12
# 2109| m2109_14(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2109_9
# 2109| m2109_15(unknown) = Chi : total:m2109_8, partial:m2109_14
# 2109| v2109_16(void) = NoOp :
# 2109| v2109_17(void) = ReturnIndirection[#this] : &:r2109_7, m2109_15
# 2109| v2109_18(void) = ReturnVoid :
# 2109| v2109_19(void) = AliasedUse : ~m2109_13
# 2109| v2109_20(void) = ExitFunction :
# 2112| void Derived2::~Derived2()
# 2112| Block 0
# 2112| v2112_1(void) = EnterFunction :
# 2112| m2112_2(unknown) = AliasedDefinition :
# 2112| m2112_3(unknown) = InitializeNonLocal :
# 2112| m2112_4(unknown) = Chi : total:m2112_2, partial:m2112_3
# 2112| r2112_5(glval<unknown>) = VariableAddress[#this] :
# 2112| m2112_6(glval<Derived2>) = InitializeParameter[#this] : &:r2112_5
# 2112| r2112_7(glval<Derived2>) = Load[#this] : &:r2112_5, m2112_6
# 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_12(glval<unknown>) = FunctionAddress[~Base2] :
# 2112| v2112_13(void) = Call[~Base2] : func:r2112_12, this:r2112_11
# 2112| m2112_14(unknown) = ^CallSideEffect : ~m2112_9
# 2112| m2112_15(unknown) = Chi : total:m2112_9, partial:m2112_14
# 2112| v2112_16(void) = ReturnIndirection[#this] : &:r2112_7, ~m2112_15
# 2112| v2112_17(void) = ReturnVoid :
# 2112| v2112_18(void) = AliasedUse : ~m2112_15
# 2112| v2112_19(void) = ExitFunction :
# 2114| void Derived2::operator delete(void*)
# 2114| Block 0
# 2114| v2114_1(void) = EnterFunction :
# 2114| m2114_2(unknown) = AliasedDefinition :
# 2114| m2114_3(unknown) = InitializeNonLocal :
# 2114| m2114_4(unknown) = Chi : total:m2114_2, partial:m2114_3
# 2114| r2114_5(glval<void *>) = VariableAddress[p] :
# 2114| m2114_6(void *) = InitializeParameter[p] : &:r2114_5
# 2114| r2114_7(void *) = Load[p] : &:r2114_5, m2114_6
# 2114| m2114_8(unknown) = InitializeIndirection[p] : &:r2114_7
# 2115| v2115_1(void) = NoOp :
# 2114| v2114_9(void) = ReturnIndirection[p] : &:r2114_7, m2114_8
# 2114| v2114_10(void) = ReturnVoid :
# 2114| v2114_11(void) = AliasedUse : m2114_3
# 2114| v2114_12(void) = ExitFunction :
# 2119| int virtual_delete()
# 2119| Block 0
# 2119| v2119_1(void) = EnterFunction :
# 2119| m2119_2(unknown) = AliasedDefinition :
# 2119| m2119_3(unknown) = InitializeNonLocal :
# 2119| m2119_4(unknown) = Chi : total:m2119_2, partial:m2119_3
# 2121| r2121_1(glval<Base2 *>) = VariableAddress[b1] :
# 2121| r2121_2(glval<unknown>) = FunctionAddress[operator new] :
# 2121| r2121_3(unsigned long) = Constant[8] :
# 2121| r2121_4(void *) = Call[operator new] : func:r2121_2, 0:r2121_3
# 2121| m2121_5(unknown) = ^CallSideEffect : ~m2119_4
# 2121| m2121_6(unknown) = Chi : total:m2119_4, partial:m2121_5
# 2121| m2121_7(unknown) = ^InitializeDynamicAllocation : &:r2121_4
# 2121| m2121_8(unknown) = Chi : total:m2121_6, partial:m2121_7
# 2121| r2121_9(Base2 *) = Convert : r2121_4
# 2121| r2121_10(glval<unknown>) = FunctionAddress[Base2] :
# 2121| v2121_11(void) = Call[Base2] : func:r2121_10, this:r2121_9
# 2121| m2121_12(unknown) = ^CallSideEffect : ~m2121_8
# 2121| m2121_13(unknown) = Chi : total:m2121_8, partial:m2121_12
# 2121| m2121_14(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2121_9
# 2121| m2121_15(unknown) = Chi : total:m2121_13, partial:m2121_14
# 2121| m2121_16(Base2 *) = Store[b1] : &:r2121_1, r2121_9
# 2121| m2121_17(unknown) = Chi : total:m2121_15, partial:m2121_16
# 2122| r2122_1(glval<Base2 *>) = VariableAddress[b1] :
# 2122| r2122_2(Base2 *) = Load[b1] : &:r2122_1, m2121_16
# 2122| r2122_3(glval<unknown>) = FunctionAddress[~Base2] :
# 2122| v2122_4(void) = Call[~Base2] : func:r2122_3
# 2122| m2122_5(unknown) = ^CallSideEffect : ~m2121_17
# 2122| m2122_6(unknown) = Chi : total:m2121_17, partial:m2122_5
# 2122| v2122_7(void) = ^IndirectReadSideEffect[-1] : &:r2122_2, ~m2122_6
# 2122| m2122_8(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2122_2
# 2122| m2122_9(unknown) = Chi : total:m2122_6, partial:m2122_8
# 2122| r2122_10(glval<unknown>) = VirtualDeleteFunctionAddress :
# 2122| r2122_11(Base2 *) = CopyValue : r2122_1
# 2122| v2122_12(void) = Call[?] : func:r2122_10, 0:r2122_11
# 2122| m2122_13(unknown) = ^CallSideEffect : ~m2122_9
# 2122| m2122_14(unknown) = Chi : total:m2122_9, partial:m2122_13
# 2124| r2124_1(glval<Base2 *>) = VariableAddress[b2] :
# 2124| r2124_2(glval<unknown>) = FunctionAddress[operator new] :
# 2124| r2124_3(unsigned long) = Constant[16] :
# 2124| r2124_4(void *) = Call[operator new] : func:r2124_2, 0:r2124_3
# 2124| m2124_5(unknown) = ^CallSideEffect : ~m2122_14
# 2124| m2124_6(unknown) = Chi : total:m2122_14, partial:m2124_5
# 2124| m2124_7(unknown) = ^InitializeDynamicAllocation : &:r2124_4
# 2124| m2124_8(unknown) = Chi : total:m2124_6, partial:m2124_7
# 2124| r2124_9(Derived2 *) = Convert : r2124_4
# 2124| r2124_10(glval<unknown>) = FunctionAddress[Derived2] :
# 2124| v2124_11(void) = Call[Derived2] : func:r2124_10, this:r2124_9
# 2124| m2124_12(unknown) = ^CallSideEffect : ~m2124_8
# 2124| m2124_13(unknown) = Chi : total:m2124_8, partial:m2124_12
# 2124| m2124_14(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2124_9
# 2124| m2124_15(unknown) = Chi : total:m2124_13, partial:m2124_14
# 2124| r2124_16(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2124_9
# 2124| m2124_17(Base2 *) = Store[b2] : &:r2124_1, r2124_16
# 2124| m2124_18(unknown) = Chi : total:m2124_15, partial:m2124_17
# 2125| r2125_1(glval<Base2 *>) = VariableAddress[b2] :
# 2125| r2125_2(Base2 *) = Load[b2] : &:r2125_1, m2124_17
# 2125| r2125_3(glval<unknown>) = FunctionAddress[~Base2] :
# 2125| v2125_4(void) = Call[~Base2] : func:r2125_3
# 2125| m2125_5(unknown) = ^CallSideEffect : ~m2124_18
# 2125| m2125_6(unknown) = Chi : total:m2124_18, partial:m2125_5
# 2125| v2125_7(void) = ^IndirectReadSideEffect[-1] : &:r2125_2, ~m2125_6
# 2125| m2125_8(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2125_2
# 2125| m2125_9(unknown) = Chi : total:m2125_6, partial:m2125_8
# 2125| r2125_10(glval<unknown>) = VirtualDeleteFunctionAddress :
# 2125| r2125_11(Base2 *) = CopyValue : r2125_1
# 2125| v2125_12(void) = Call[?] : func:r2125_10, 0:r2125_11
# 2125| m2125_13(unknown) = ^CallSideEffect : ~m2125_9
# 2125| m2125_14(unknown) = Chi : total:m2125_9, partial:m2125_13
# 2127| r2127_1(glval<Derived2 *>) = VariableAddress[d] :
# 2127| r2127_2(glval<unknown>) = FunctionAddress[operator new] :
# 2127| r2127_3(unsigned long) = Constant[16] :
# 2127| r2127_4(void *) = Call[operator new] : func:r2127_2, 0:r2127_3
# 2127| m2127_5(unknown) = ^CallSideEffect : ~m2125_14
# 2127| m2127_6(unknown) = Chi : total:m2125_14, partial:m2127_5
# 2127| m2127_7(unknown) = ^InitializeDynamicAllocation : &:r2127_4
# 2127| m2127_8(unknown) = Chi : total:m2127_6, partial:m2127_7
# 2127| r2127_9(Derived2 *) = Convert : r2127_4
# 2127| r2127_10(glval<unknown>) = FunctionAddress[Derived2] :
# 2127| v2127_11(void) = Call[Derived2] : func:r2127_10, this:r2127_9
# 2127| m2127_12(unknown) = ^CallSideEffect : ~m2127_8
# 2127| m2127_13(unknown) = Chi : total:m2127_8, partial:m2127_12
# 2127| m2127_14(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2127_9
# 2127| m2127_15(unknown) = Chi : total:m2127_13, partial:m2127_14
# 2127| m2127_16(Derived2 *) = Store[d] : &:r2127_1, r2127_9
# 2127| m2127_17(unknown) = Chi : total:m2127_15, partial:m2127_16
# 2128| r2128_1(glval<Derived2 *>) = VariableAddress[d] :
# 2128| r2128_2(Derived2 *) = Load[d] : &:r2128_1, m2127_16
# 2128| r2128_3(glval<unknown>) = FunctionAddress[~Derived2] :
# 2128| v2128_4(void) = Call[~Derived2] : func:r2128_3
# 2128| m2128_5(unknown) = ^CallSideEffect : ~m2127_17
# 2128| m2128_6(unknown) = Chi : total:m2127_17, partial:m2128_5
# 2128| v2128_7(void) = ^IndirectReadSideEffect[-1] : &:r2128_2, ~m2128_6
# 2128| m2128_8(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2128_2
# 2128| m2128_9(unknown) = Chi : total:m2128_6, partial:m2128_8
# 2128| r2128_10(glval<unknown>) = VirtualDeleteFunctionAddress :
# 2128| r2128_11(Derived2 *) = CopyValue : r2128_1
# 2128| v2128_12(void) = Call[?] : func:r2128_10, 0:r2128_11
# 2128| m2128_13(unknown) = ^CallSideEffect : ~m2128_9
# 2128| m2128_14(unknown) = Chi : total:m2128_9, partial:m2128_13
# 2129| r2129_1(glval<int>) = VariableAddress[#return] :
# 2129| m2129_2(int) = Uninitialized[#return] : &:r2129_1
# 2119| r2119_5(glval<int>) = VariableAddress[#return] :
# 2119| v2119_6(void) = ReturnValue : &:r2119_5, m2129_2
# 2119| v2119_7(void) = AliasedUse : ~m2128_14
# 2119| v2119_8(void) = ExitFunction :
# 2133| void test_constant_folding()
# 2133| Block 0
# 2133| v2133_1(void) = EnterFunction :
# 2133| m2133_2(unknown) = AliasedDefinition :
# 2133| m2133_3(unknown) = InitializeNonLocal :
# 2133| m2133_4(unknown) = Chi : total:m2133_2, partial:m2133_3
# 2134| r2134_1(glval<int>) = VariableAddress[x] :
# 2134| r2134_2(int) = Constant[116] :
# 2134| m2134_3(int) = Store[x] : &:r2134_1, r2134_2
# 2135| r2135_1(glval<unknown>) = FunctionAddress[test_constant_folding_use] :
# 2135| r2135_2(int) = Constant[116] :
# 2135| v2135_3(void) = Call[test_constant_folding_use] : func:r2135_1, 0:r2135_2
# 2135| m2135_4(unknown) = ^CallSideEffect : ~m2133_4
# 2135| m2135_5(unknown) = Chi : total:m2133_4, partial:m2135_4
# 2136| v2136_1(void) = NoOp :
# 2133| v2133_5(void) = ReturnVoid :
# 2133| v2133_6(void) = AliasedUse : ~m2135_5
# 2133| v2133_7(void) = ExitFunction :
# 2140| int NonExit()
# 2140| Block 0
# 2140| v2140_1(void) = EnterFunction :
# 2140| m2140_2(unknown) = AliasedDefinition :
# 2140| m2140_3(unknown) = InitializeNonLocal :
# 2140| m2140_4(unknown) = Chi : total:m2140_2, partial:m2140_3
# 2141| r2141_1(glval<int>) = VariableAddress[x] :
# 2141| r2141_2(glval<unknown>) = FunctionAddress[Add] :
# 2141| r2141_3(int) = Constant[3] :
# 2141| r2141_4(int) = Constant[4] :
# 2141| r2141_5(int) = Call[Add] : func:r2141_2, 0:r2141_3, 1:r2141_4
# 2141| m2141_6(unknown) = ^CallSideEffect : ~m2140_4
# 2141| m2141_7(unknown) = Chi : total:m2140_4, partial:m2141_6
# 2141| m2141_8(int) = Store[x] : &:r2141_1, r2141_5
# 2142| r2142_1(glval<int>) = VariableAddress[x] :
# 2142| r2142_2(int) = Load[x] : &:r2142_1, m2141_8
# 2142| r2142_3(int) = Constant[7] :
# 2142| r2142_4(bool) = CompareEQ : r2142_2, r2142_3
# 2142| v2142_5(void) = ConditionalBranch : r2142_4
#-----| False -> Block 2
#-----| True -> Block 1
# 2143| Block 1
# 2143| r2143_1(glval<unknown>) = FunctionAddress[exit] :
# 2143| r2143_2(int) = Constant[3] :
# 2143| v2143_3(void) = Call[exit] : func:r2143_1, 0:r2143_2
# 2143| m2143_4(unknown) = ^CallSideEffect : ~m2141_7
# 2143| m2143_5(unknown) = Chi : total:m2141_7, partial:m2143_4
# 2140| v2140_5(void) = Unreached :
# 2144| Block 2
# 2144| r2144_1(glval<unknown>) = FunctionAddress[VoidFunc] :
# 2144| v2144_2(void) = Call[VoidFunc] : func:r2144_1
# 2144| m2144_3(unknown) = ^CallSideEffect : ~m2141_7
# 2144| m2144_4(unknown) = Chi : total:m2141_7, partial:m2144_3
# 2145| r2145_1(glval<int>) = VariableAddress[#return] :
# 2145| r2145_2(glval<int>) = VariableAddress[x] :
# 2145| r2145_3(int) = Load[x] : &:r2145_2, m2141_8
# 2145| m2145_4(int) = Store[#return] : &:r2145_1, r2145_3
# 2140| r2140_6(glval<int>) = VariableAddress[#return] :
# 2140| v2140_7(void) = ReturnValue : &:r2140_6, m2145_4
# 2140| v2140_8(void) = AliasedUse : ~m2144_4
# 2140| v2140_9(void) = ExitFunction :
# 2148| void CallsNonExit()
# 2148| Block 0
# 2148| v2148_1(void) = EnterFunction :
# 2148| m2148_2(unknown) = AliasedDefinition :
# 2148| m2148_3(unknown) = InitializeNonLocal :
# 2148| m2148_4(unknown) = Chi : total:m2148_2, partial:m2148_3
# 2149| r2149_1(glval<unknown>) = FunctionAddress[VoidFunc] :
# 2149| v2149_2(void) = Call[VoidFunc] : func:r2149_1
# 2149| m2149_3(unknown) = ^CallSideEffect : ~m2148_4
# 2149| m2149_4(unknown) = Chi : total:m2148_4, partial:m2149_3
# 2150| r2150_1(glval<unknown>) = FunctionAddress[exit] :
# 2150| r2150_2(int) = Constant[3] :
# 2150| v2150_3(void) = Call[exit] : func:r2150_1, 0:r2150_2
# 2150| m2150_4(unknown) = ^CallSideEffect : ~m2149_4
# 2150| m2150_5(unknown) = Chi : total:m2149_4, partial:m2150_4
# 2148| v2148_5(void) = Unreached :
# 2153| int TransNonExit()
# 2153| Block 0
# 2153| v2153_1(void) = EnterFunction :
# 2153| m2153_2(unknown) = AliasedDefinition :
# 2153| m2153_3(unknown) = InitializeNonLocal :
# 2153| m2153_4(unknown) = Chi : total:m2153_2, partial:m2153_3
# 2154| r2154_1(glval<int>) = VariableAddress[x] :
# 2154| r2154_2(glval<unknown>) = FunctionAddress[Add] :
# 2154| r2154_3(int) = Constant[3] :
# 2154| r2154_4(int) = Constant[4] :
# 2154| r2154_5(int) = Call[Add] : func:r2154_2, 0:r2154_3, 1:r2154_4
# 2154| m2154_6(unknown) = ^CallSideEffect : ~m2153_4
# 2154| m2154_7(unknown) = Chi : total:m2153_4, partial:m2154_6
# 2154| m2154_8(int) = Store[x] : &:r2154_1, r2154_5
# 2155| r2155_1(glval<int>) = VariableAddress[x] :
# 2155| r2155_2(int) = Load[x] : &:r2155_1, m2154_8
# 2155| r2155_3(int) = Constant[7] :
# 2155| r2155_4(bool) = CompareEQ : r2155_2, r2155_3
# 2155| v2155_5(void) = ConditionalBranch : r2155_4
#-----| False -> Block 2
#-----| True -> Block 1
# 2156| Block 1
# 2156| r2156_1(glval<unknown>) = FunctionAddress[CallsNonExit] :
# 2156| v2156_2(void) = Call[CallsNonExit] : func:r2156_1
# 2153| v2153_5(void) = Unreached :
# 2157| Block 2
# 2157| r2157_1(glval<unknown>) = FunctionAddress[VoidFunc] :
# 2157| v2157_2(void) = Call[VoidFunc] : func:r2157_1
# 2157| m2157_3(unknown) = ^CallSideEffect : ~m2154_7
# 2157| m2157_4(unknown) = Chi : total:m2154_7, partial:m2157_3
# 2158| r2158_1(glval<int>) = VariableAddress[#return] :
# 2158| r2158_2(glval<int>) = VariableAddress[x] :
# 2158| r2158_3(int) = Load[x] : &:r2158_2, m2154_8
# 2158| m2158_4(int) = Store[#return] : &:r2158_1, r2158_3
# 2153| r2153_6(glval<int>) = VariableAddress[#return] :
# 2153| v2153_7(void) = ReturnValue : &:r2153_6, m2158_4
# 2153| v2153_8(void) = AliasedUse : ~m2157_4
# 2153| v2153_9(void) = ExitFunction :
# 2161| void newArrayCorrectType(size_t)
# 2161| Block 0
# 2161| v2161_1(void) = EnterFunction :
# 2161| m2161_2(unknown) = AliasedDefinition :
# 2161| m2161_3(unknown) = InitializeNonLocal :
# 2161| m2161_4(unknown) = Chi : total:m2161_2, partial:m2161_3
# 2161| r2161_5(glval<unsigned long>) = VariableAddress[n] :
# 2161| m2161_6(unsigned long) = InitializeParameter[n] : &:r2161_5
# 2162| r2162_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 2162| r2162_2(glval<unsigned long>) = VariableAddress[n] :
# 2162| r2162_3(unsigned long) = Load[n] : &:r2162_2, m2161_6
# 2162| r2162_4(unsigned long) = Constant[4] :
# 2162| r2162_5(unsigned long) = Mul : r2162_3, r2162_4
# 2162| r2162_6(void *) = Call[operator new[]] : func:r2162_1, 0:r2162_5
# 2162| m2162_7(unknown) = ^CallSideEffect : ~m2161_4
# 2162| m2162_8(unknown) = Chi : total:m2161_4, partial:m2162_7
# 2162| m2162_9(unknown) = ^InitializeDynamicAllocation : &:r2162_6
# 2162| r2162_10(int *) = Convert : r2162_6
# 2163| r2163_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 2163| r2163_2(glval<unsigned long>) = VariableAddress[n] :
# 2163| r2163_3(unsigned long) = Load[n] : &:r2163_2, m2161_6
# 2163| r2163_4(unsigned long) = Constant[4] :
# 2163| r2163_5(unsigned long) = Mul : r2163_3, r2163_4
# 2163| r2163_6(float) = Constant[1.0] :
# 2163| r2163_7(void *) = Call[operator new[]] : func:r2163_1, 0:r2163_5, 1:r2163_6
# 2163| m2163_8(unknown) = ^CallSideEffect : ~m2162_8
# 2163| m2163_9(unknown) = Chi : total:m2162_8, partial:m2163_8
# 2163| m2163_10(unknown) = ^InitializeDynamicAllocation : &:r2163_7
# 2163| r2163_11(int *) = Convert : r2163_7
# 2164| r2164_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 2164| r2164_2(glval<unsigned long>) = VariableAddress[n] :
# 2164| r2164_3(unsigned long) = Load[n] : &:r2164_2, m2161_6
# 2164| r2164_4(unsigned long) = Constant[8] :
# 2164| r2164_5(unsigned long) = Mul : r2164_3, r2164_4
# 2164| r2164_6(void *) = Call[operator new[]] : func:r2164_1, 0:r2164_5
# 2164| m2164_7(unknown) = ^CallSideEffect : ~m2163_9
# 2164| m2164_8(unknown) = Chi : total:m2163_9, partial:m2164_7
# 2164| m2164_9(unknown) = ^InitializeDynamicAllocation : &:r2164_6
# 2164| r2164_10(String *) = Convert : r2164_6
# 2165| r2165_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 2165| r2165_2(glval<unsigned long>) = VariableAddress[n] :
# 2165| r2165_3(unsigned long) = Load[n] : &:r2165_2, m2161_6
# 2165| r2165_4(unsigned long) = Constant[256] :
# 2165| r2165_5(unsigned long) = Mul : r2165_3, r2165_4
# 2165| r2165_6(align_val_t) = Constant[128] :
# 2165| r2165_7(void *) = Call[operator new[]] : func:r2165_1, 0:r2165_5, 1:r2165_6
# 2165| m2165_8(unknown) = ^CallSideEffect : ~m2164_8
# 2165| m2165_9(unknown) = Chi : total:m2164_8, partial:m2165_8
# 2165| m2165_10(unknown) = ^InitializeDynamicAllocation : &:r2165_7
# 2165| r2165_11(Overaligned *) = Convert : r2165_7
# 2166| r2166_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 2166| r2166_2(glval<unsigned long>) = VariableAddress[n] :
# 2166| r2166_3(unsigned long) = Load[n] : &:r2166_2, m2161_6
# 2166| r2166_4(unsigned long) = Constant[1] :
# 2166| r2166_5(unsigned long) = Mul : r2166_3, r2166_4
# 2166| r2166_6(void *) = Call[operator new[]] : func:r2166_1, 0:r2166_5
# 2166| m2166_7(unknown) = ^CallSideEffect : ~m2165_9
# 2166| m2166_8(unknown) = Chi : total:m2165_9, partial:m2166_7
# 2166| m2166_9(unknown) = ^InitializeDynamicAllocation : &:r2166_6
# 2166| r2166_10(DefaultCtorWithDefaultParam *) = Convert : r2166_6
# 2167| r2167_1(glval<unknown>) = FunctionAddress[operator new[]] :
# 2167| r2167_2(glval<unsigned long>) = VariableAddress[n] :
# 2167| r2167_3(unsigned long) = Load[n] : &:r2167_2, m2161_6
# 2167| r2167_4(unsigned long) = Constant[4] :
# 2167| r2167_5(unsigned long) = Mul : r2167_3, r2167_4
# 2167| r2167_6(void *) = Call[operator new[]] : func:r2167_1, 0:r2167_5
# 2167| m2167_7(unknown) = ^CallSideEffect : ~m2166_8
# 2167| m2167_8(unknown) = Chi : total:m2166_8, partial:m2167_7
# 2167| m2167_9(unknown) = ^InitializeDynamicAllocation : &:r2167_6
# 2167| r2167_10(int *) = Convert : r2167_6
# 2168| v2168_1(void) = NoOp :
# 2161| v2161_7(void) = ReturnVoid :
# 2161| v2161_8(void) = AliasedUse : ~m2167_8
# 2161| v2161_9(void) = ExitFunction :
# 2172| char* test_strtod(char*)
# 2172| Block 0
# 2172| v2172_1(void) = EnterFunction :
# 2172| m2172_2(unknown) = AliasedDefinition :
# 2172| m2172_3(unknown) = InitializeNonLocal :
# 2172| m2172_4(unknown) = Chi : total:m2172_2, partial:m2172_3
# 2172| r2172_5(glval<char *>) = VariableAddress[s] :
# 2172| m2172_6(char *) = InitializeParameter[s] : &:r2172_5
# 2172| r2172_7(char *) = Load[s] : &:r2172_5, m2172_6
# 2172| m2172_8(unknown) = InitializeIndirection[s] : &:r2172_7
# 2172| m2172_9(unknown) = Chi : total:m2172_4, partial:m2172_8
# 2173| r2173_1(glval<char *>) = VariableAddress[end] :
# 2173| m2173_2(char *) = Uninitialized[end] : &:r2173_1
# 2174| r2174_1(glval<double>) = VariableAddress[d] :
# 2174| r2174_2(glval<unknown>) = FunctionAddress[strtod] :
# 2174| r2174_3(glval<char *>) = VariableAddress[s] :
# 2174| r2174_4(char *) = Load[s] : &:r2174_3, m2172_6
# 2174| r2174_5(char *) = Convert : r2174_4
# 2174| r2174_6(glval<char *>) = VariableAddress[end] :
# 2174| r2174_7(char **) = CopyValue : r2174_6
# 2174| r2174_8(double) = Call[strtod] : func:r2174_2, 0:r2174_5, 1:r2174_7
# 2174| v2174_9(void) = ^BufferReadSideEffect[0] : &:r2174_5, ~m2172_8
# 2174| m2174_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2174_7
# 2174| m2174_11(char *) = Chi : total:m2173_2, partial:m2174_10
# 2174| m2174_12(double) = Store[d] : &:r2174_1, r2174_8
# 2175| r2175_1(glval<char *>) = VariableAddress[#return] :
# 2175| r2175_2(glval<char *>) = VariableAddress[end] :
# 2175| r2175_3(char *) = Load[end] : &:r2175_2, m2174_11
# 2175| m2175_4(char *) = Store[#return] : &:r2175_1, r2175_3
# 2172| v2172_10(void) = ReturnIndirection[s] : &:r2172_7, m2172_8
# 2172| r2172_11(glval<char *>) = VariableAddress[#return] :
# 2172| v2172_12(void) = ReturnValue : &:r2172_11, m2175_4
# 2172| v2172_13(void) = AliasedUse : ~m2172_9
# 2172| v2172_14(void) = ExitFunction :
# 2182| void call_as_child_of_ConditionDeclExpr()
# 2182| Block 0
# 2182| v2182_1(void) = EnterFunction :
# 2182| m2182_2(unknown) = AliasedDefinition :
# 2182| m2182_3(unknown) = InitializeNonLocal :
# 2182| m2182_4(unknown) = Chi : total:m2182_2, partial:m2182_3
# 2183| r2183_1(glval<HasOperatorBool>) = VariableAddress[b] :
# 2183| r2183_2(HasOperatorBool) = Constant[0] :
# 2183| m2183_3(HasOperatorBool) = Store[b] : &:r2183_1, r2183_2
# 2183| m2183_4(unknown) = Chi : total:m2182_4, partial:m2183_3
# 2183| r2183_5(glval<HasOperatorBool>) = VariableAddress[b] :
# 2183| r2183_6(glval<unknown>) = FunctionAddress[operator bool] :
# 2183| r2183_7(bool) = Call[operator bool] : func:r2183_6, this:r2183_5
# 2183| m2183_8(unknown) = ^CallSideEffect : ~m2183_4
# 2183| m2183_9(unknown) = Chi : total:m2183_4, partial:m2183_8
# 2183| v2183_10(void) = ^IndirectReadSideEffect[-1] : &:r2183_5, ~m2183_9
# 2183| m2183_11(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2183_5
# 2183| m2183_12(unknown) = Chi : total:m2183_9, partial:m2183_11
# 2183| r2183_13(bool) = CopyValue : r2183_7
# 2183| v2183_14(void) = ConditionalBranch : r2183_13
#-----| False -> Block 2
#-----| True -> Block 1
# 2183| Block 1
# 2183| v2183_15(void) = NoOp :
#-----| Goto -> Block 2
# 2184| Block 2
# 2184| v2184_1(void) = NoOp :
# 2182| v2182_5(void) = ReturnVoid :
# 2182| v2182_6(void) = AliasedUse : ~m2183_9
# 2182| v2182_7(void) = ExitFunction :
# 2186| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&)
# 2186| Block 0
# 2186| v2186_1(void) = EnterFunction :
# 2186| m2186_2(unknown) = AliasedDefinition :
# 2186| m2186_3(unknown) = InitializeNonLocal :
# 2186| m2186_4(unknown) = Chi : total:m2186_2, partial:m2186_3
# 2186| r2186_5(glval<unknown>) = VariableAddress[#this] :
# 2186| m2186_6(glval<ClassWithDestructor>) = InitializeParameter[#this] : &:r2186_5
# 2186| r2186_7(glval<ClassWithDestructor>) = Load[#this] : &:r2186_5, m2186_6
# 2186| m2186_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2186_7
#-----| r0_1(glval<ClassWithDestructor &>) = VariableAddress[(unnamed parameter 0)] :
#-----| 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_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
# 2186| r2186_13(glval<char *>) = FieldAddress[x] : r2186_12
# 2186| r2186_14(char *) = Load[?] : &:r2186_13, ~m0_4
# 2186| m2186_15(char *) = Store[?] : &:r2186_9, r2186_14
# 2186| m2186_16(unknown) = Chi : total:m2186_8, partial:m2186_15
# 2186| v2186_17(void) = NoOp :
# 2186| v2186_18(void) = ReturnIndirection[#this] : &:r2186_7, m2186_16
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4
# 2186| v2186_19(void) = ReturnVoid :
# 2186| v2186_20(void) = AliasedUse : m2186_3
# 2186| v2186_21(void) = ExitFunction :
# 2189| void ClassWithDestructor::ClassWithDestructor()
# 2189| Block 0
# 2189| v2189_1(void) = EnterFunction :
# 2189| m2189_2(unknown) = AliasedDefinition :
# 2189| m2189_3(unknown) = InitializeNonLocal :
# 2189| m2189_4(unknown) = Chi : total:m2189_2, partial:m2189_3
# 2189| r2189_5(glval<unknown>) = VariableAddress[#this] :
# 2189| m2189_6(glval<ClassWithDestructor>) = InitializeParameter[#this] : &:r2189_5
# 2189| r2189_7(glval<ClassWithDestructor>) = Load[#this] : &:r2189_5, m2189_6
# 2189| m2189_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2189_7
# 2189| r2189_9(glval<unknown>) = FunctionAddress[operator new] :
# 2189| r2189_10(unsigned long) = Constant[1] :
# 2189| r2189_11(void *) = Call[operator new] : func:r2189_9, 0:r2189_10
# 2189| m2189_12(unknown) = ^CallSideEffect : ~m2189_4
# 2189| m2189_13(unknown) = Chi : total:m2189_4, partial:m2189_12
# 2189| m2189_14(unknown) = ^InitializeDynamicAllocation : &:r2189_11
# 2189| m2189_15(unknown) = Chi : total:m2189_13, partial:m2189_14
# 2189| r2189_16(char *) = Convert : r2189_11
# 2189| r2189_17(glval<unknown>) = VariableAddress[#this] :
# 2189| r2189_18(ClassWithDestructor *) = Load[#this] : &:r2189_17, m2189_6
# 2189| r2189_19(glval<char *>) = FieldAddress[x] : r2189_18
# 2189| m2189_20(char *) = Store[?] : &:r2189_19, r2189_16
# 2189| m2189_21(unknown) = Chi : total:m2189_8, partial:m2189_20
# 2189| v2189_22(void) = NoOp :
# 2189| v2189_23(void) = ReturnIndirection[#this] : &:r2189_7, m2189_21
# 2189| v2189_24(void) = ReturnVoid :
# 2189| v2189_25(void) = AliasedUse : ~m2189_15
# 2189| v2189_26(void) = ExitFunction :
# 2190| void ClassWithDestructor::~ClassWithDestructor()
# 2190| Block 0
# 2190| v2190_1(void) = EnterFunction :
# 2190| m2190_2(unknown) = AliasedDefinition :
# 2190| m2190_3(unknown) = InitializeNonLocal :
# 2190| m2190_4(unknown) = Chi : total:m2190_2, partial:m2190_3
# 2190| r2190_5(glval<unknown>) = VariableAddress[#this] :
# 2190| m2190_6(glval<ClassWithDestructor>) = InitializeParameter[#this] : &:r2190_5
# 2190| r2190_7(glval<ClassWithDestructor>) = Load[#this] : &:r2190_5, m2190_6
# 2190| m2190_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2190_7
# 2190| r2190_9(glval<unknown>) = FunctionAddress[operator delete] :
# 2190| r2190_10(glval<unknown>) = VariableAddress[#this] :
# 2190| r2190_11(ClassWithDestructor *) = Load[#this] : &:r2190_10, m2190_6
# 2190| r2190_12(glval<char *>) = FieldAddress[x] : r2190_11
# 2190| r2190_13(char *) = Load[?] : &:r2190_12, ~m2190_8
# 2190| v2190_14(void) = Call[operator delete] : func:r2190_9, 0:r2190_13
# 2190| m2190_15(unknown) = ^CallSideEffect : ~m2190_4
# 2190| m2190_16(unknown) = Chi : total:m2190_4, partial:m2190_15
# 2190| v2190_17(void) = NoOp :
# 2190| v2190_18(void) = ReturnIndirection[#this] : &:r2190_7, m2190_8
# 2190| v2190_19(void) = ReturnVoid :
# 2190| v2190_20(void) = AliasedUse : ~m2190_16
# 2190| v2190_21(void) = ExitFunction :
# 2192| void ClassWithDestructor::set_x(char)
# 2192| Block 0
# 2192| v2192_1(void) = EnterFunction :
# 2192| m2192_2(unknown) = AliasedDefinition :
# 2192| m2192_3(unknown) = InitializeNonLocal :
# 2192| m2192_4(unknown) = Chi : total:m2192_2, partial:m2192_3
# 2192| r2192_5(glval<unknown>) = VariableAddress[#this] :
# 2192| m2192_6(glval<ClassWithDestructor>) = InitializeParameter[#this] : &:r2192_5
# 2192| r2192_7(glval<ClassWithDestructor>) = Load[#this] : &:r2192_5, m2192_6
# 2192| m2192_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2192_7
# 2192| r2192_9(glval<char>) = VariableAddress[y] :
# 2192| m2192_10(char) = InitializeParameter[y] : &:r2192_9
# 2192| r2192_11(glval<char>) = VariableAddress[y] :
# 2192| r2192_12(char) = Load[y] : &:r2192_11, m2192_10
# 2192| r2192_13(glval<unknown>) = VariableAddress[#this] :
# 2192| r2192_14(ClassWithDestructor *) = Load[#this] : &:r2192_13, m2192_6
# 2192| r2192_15(glval<char *>) = FieldAddress[x] : r2192_14
# 2192| r2192_16(char *) = Load[?] : &:r2192_15, ~m2192_8
# 2192| r2192_17(glval<char>) = CopyValue : r2192_16
# 2192| m2192_18(char) = Store[?] : &:r2192_17, r2192_12
# 2192| m2192_19(unknown) = Chi : total:m2192_4, partial:m2192_18
# 2192| v2192_20(void) = NoOp :
# 2192| v2192_21(void) = ReturnIndirection[#this] : &:r2192_7, m2192_8
# 2192| v2192_22(void) = ReturnVoid :
# 2192| v2192_23(void) = AliasedUse : ~m2192_19
# 2192| v2192_24(void) = ExitFunction :
# 2193| char ClassWithDestructor::get_x()
# 2193| Block 0
# 2193| v2193_1(void) = EnterFunction :
# 2193| m2193_2(unknown) = AliasedDefinition :
# 2193| m2193_3(unknown) = InitializeNonLocal :
# 2193| m2193_4(unknown) = Chi : total:m2193_2, partial:m2193_3
# 2193| r2193_5(glval<unknown>) = VariableAddress[#this] :
# 2193| m2193_6(glval<ClassWithDestructor>) = InitializeParameter[#this] : &:r2193_5
# 2193| r2193_7(glval<ClassWithDestructor>) = Load[#this] : &:r2193_5, m2193_6
# 2193| m2193_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2193_7
# 2193| r2193_9(glval<char>) = VariableAddress[#return] :
# 2193| r2193_10(glval<unknown>) = VariableAddress[#this] :
# 2193| r2193_11(ClassWithDestructor *) = Load[#this] : &:r2193_10, m2193_6
# 2193| r2193_12(glval<char *>) = FieldAddress[x] : r2193_11
# 2193| r2193_13(char *) = Load[?] : &:r2193_12, ~m2193_8
# 2193| r2193_14(char) = Load[?] : &:r2193_13, ~m2193_4
# 2193| m2193_15(char) = Store[#return] : &:r2193_9, r2193_14
# 2193| v2193_16(void) = ReturnIndirection[#this] : &:r2193_7, m2193_8
# 2193| r2193_17(glval<char>) = VariableAddress[#return] :
# 2193| v2193_18(void) = ReturnValue : &:r2193_17, m2193_15
# 2193| v2193_19(void) = AliasedUse : m2193_3
# 2193| v2193_20(void) = ExitFunction :
# 2196| bool initialization_with_destructor_bool
# 2196| Block 0
# 2196| v2196_1(void) = EnterFunction :
# 2196| m2196_2(unknown) = AliasedDefinition :
# 2196| r2196_3(glval<bool>) = VariableAddress[initialization_with_destructor_bool] :
# 2196| r2196_4(bool) = Constant[1] :
# 2196| m2196_5(bool) = Store[initialization_with_destructor_bool] : &:r2196_3, r2196_4
# 2196| m2196_6(unknown) = Chi : total:m2196_2, partial:m2196_5
# 2196| v2196_7(void) = ReturnVoid :
# 2196| v2196_8(void) = AliasedUse : ~m2196_6
# 2196| v2196_9(void) = ExitFunction :
# 2198| void initialization_with_destructor(bool, char)
# 2198| Block 0
# 2198| v2198_1(void) = EnterFunction :
# 2198| m2198_2(unknown) = AliasedDefinition :
# 2198| m2198_3(unknown) = InitializeNonLocal :
# 2198| m2198_4(unknown) = Chi : total:m2198_2, partial:m2198_3
# 2198| r2198_5(glval<bool>) = VariableAddress[b] :
# 2198| m2198_6(bool) = InitializeParameter[b] : &:r2198_5
# 2198| r2198_7(glval<char>) = VariableAddress[c] :
# 2198| m2198_8(char) = InitializeParameter[c] : &:r2198_7
# 2199| r2199_1(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2199| m2199_2(ClassWithDestructor) = Uninitialized[x] : &:r2199_1
# 2199| r2199_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2199| v2199_4(void) = Call[ClassWithDestructor] : func:r2199_3, this:r2199_1
# 2199| m2199_5(unknown) = ^CallSideEffect : ~m2198_4
# 2199| m2199_6(unknown) = Chi : total:m2198_4, partial:m2199_5
# 2199| m2199_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2199_1
# 2199| m2199_8(ClassWithDestructor) = Chi : total:m2199_2, partial:m2199_7
# 2199| r2199_9(glval<bool>) = VariableAddress[b] :
# 2199| r2199_10(bool) = Load[b] : &:r2199_9, m2198_6
# 2199| v2199_11(void) = ConditionalBranch : r2199_10
#-----| False -> Block 3
#-----| True -> Block 2
# 2198| Block 1
# 2198| m2198_9(unknown) = Phi : from 14:~m2233_5, from 19:~m2233_13, from 23:~m2233_22
# 2198| v2198_10(void) = ReturnVoid :
# 2198| v2198_11(void) = AliasedUse : ~m2198_9
# 2198| v2198_12(void) = ExitFunction :
# 2200| Block 2
# 2200| r2200_1(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2200| r2200_2(glval<unknown>) = FunctionAddress[set_x] :
# 2200| r2200_3(char) = Constant[97] :
# 2200| v2200_4(void) = Call[set_x] : func:r2200_2, this:r2200_1, 0:r2200_3
# 2200| m2200_5(unknown) = ^CallSideEffect : ~m2199_6
# 2200| m2200_6(unknown) = Chi : total:m2199_6, partial:m2200_5
# 2200| v2200_7(void) = ^IndirectReadSideEffect[-1] : &:r2200_1, m2199_8
# 2200| m2200_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_1
# 2200| m2200_9(ClassWithDestructor) = Chi : total:m2199_8, partial:m2200_8
# 2200| r2200_10(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2200| r2200_11(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2200| v2200_12(void) = Call[~ClassWithDestructor] : func:r2200_11, this:r2200_10
# 2200| m2200_13(unknown) = ^CallSideEffect : ~m2200_6
# 2200| m2200_14(unknown) = Chi : total:m2200_6, partial:m2200_13
# 2200| v2200_15(void) = ^IndirectReadSideEffect[-1] : &:r2200_10, m2200_9
# 2200| m2200_16(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_10
# 2200| m2200_17(ClassWithDestructor) = Chi : total:m2200_9, partial:m2200_16
#-----| Goto -> Block 3
# 2202| Block 3
# 2202| m2202_1(unknown) = Phi : from 0:~m2199_6, from 2:~m2200_14
# 2202| r2202_2(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2202| m2202_3(ClassWithDestructor) = Uninitialized[x] : &:r2202_2
# 2202| r2202_4(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2202| v2202_5(void) = Call[ClassWithDestructor] : func:r2202_4, this:r2202_2
# 2202| m2202_6(unknown) = ^CallSideEffect : ~m2202_1
# 2202| m2202_7(unknown) = Chi : total:m2202_1, partial:m2202_6
# 2202| m2202_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_2
# 2202| m2202_9(ClassWithDestructor) = Chi : total:m2202_3, partial:m2202_8
# 2202| r2202_10(bool) = Constant[1] :
# 2202| v2202_11(void) = ConditionalBranch : r2202_10
#-----| False -> Block 24
#-----| True -> Block 4
# 2203| Block 4
# 2203| r2203_1(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2203| r2203_2(glval<unknown>) = FunctionAddress[set_x] :
# 2203| r2203_3(char) = Constant[97] :
# 2203| v2203_4(void) = Call[set_x] : func:r2203_2, this:r2203_1, 0:r2203_3
# 2203| m2203_5(unknown) = ^CallSideEffect : ~m2202_7
# 2203| m2203_6(unknown) = Chi : total:m2202_7, partial:m2203_5
# 2203| v2203_7(void) = ^IndirectReadSideEffect[-1] : &:r2203_1, m2202_9
# 2203| m2203_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2203_1
# 2203| m2203_9(ClassWithDestructor) = Chi : total:m2202_9, partial:m2203_8
# 2205| r2205_1(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2205| m2205_2(ClassWithDestructor) = Uninitialized[x] : &:r2205_1
# 2205| r2205_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2205| v2205_4(void) = Call[ClassWithDestructor] : func:r2205_3, this:r2205_1
# 2205| m2205_5(unknown) = ^CallSideEffect : ~m2203_6
# 2205| m2205_6(unknown) = Chi : total:m2203_6, partial:m2205_5
# 2205| m2205_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2205_1
# 2205| m2205_8(ClassWithDestructor) = Chi : total:m2205_2, partial:m2205_7
# 2205| r2205_9(glval<char>) = VariableAddress[c] :
# 2205| r2205_10(char) = Load[c] : &:r2205_9, m2198_8
# 2205| r2205_11(int) = Convert : r2205_10
# 2205| v2205_12(void) = Switch : r2205_11
#-----| Case[97] -> Block 5
#-----| Default -> Block 6
# 2206| Block 5
# 2206| v2206_1(void) = NoOp :
# 2207| r2207_1(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2207| r2207_2(glval<unknown>) = FunctionAddress[set_x] :
# 2207| r2207_3(char) = Constant[97] :
# 2207| v2207_4(void) = Call[set_x] : func:r2207_2, this:r2207_1, 0:r2207_3
# 2207| m2207_5(unknown) = ^CallSideEffect : ~m2205_6
# 2207| m2207_6(unknown) = Chi : total:m2205_6, partial:m2207_5
# 2207| v2207_7(void) = ^IndirectReadSideEffect[-1] : &:r2207_1, m2205_8
# 2207| m2207_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2207_1
# 2207| m2207_9(ClassWithDestructor) = Chi : total:m2205_8, partial:m2207_8
# 2208| v2208_1(void) = NoOp :
#-----| Goto -> Block 7
# 2209| Block 6
# 2209| v2209_1(void) = NoOp :
# 2210| r2210_1(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2210| r2210_2(glval<unknown>) = FunctionAddress[set_x] :
# 2210| r2210_3(char) = Constant[98] :
# 2210| v2210_4(void) = Call[set_x] : func:r2210_2, this:r2210_1, 0:r2210_3
# 2210| m2210_5(unknown) = ^CallSideEffect : ~m2205_6
# 2210| m2210_6(unknown) = Chi : total:m2205_6, partial:m2210_5
# 2210| v2210_7(void) = ^IndirectReadSideEffect[-1] : &:r2210_1, m2205_8
# 2210| m2210_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2210_1
# 2210| m2210_9(ClassWithDestructor) = Chi : total:m2205_8, partial:m2210_8
# 2211| v2211_1(void) = NoOp :
#-----| Goto -> Block 7
# 2212| Block 7
# 2212| m2212_1(unknown) = Phi : from 5:~m2207_6, from 6:~m2210_6
# 2212| v2212_2(void) = NoOp :
# 2214| r2214_1(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2214| m2214_2(ClassWithDestructor) = Uninitialized[x] : &:r2214_1
# 2214| r2214_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2214| v2214_4(void) = Call[ClassWithDestructor] : func:r2214_3, this:r2214_1
# 2214| m2214_5(unknown) = ^CallSideEffect : ~m2212_1
# 2214| m2214_6(unknown) = Chi : total:m2212_1, partial:m2214_5
# 2214| m2214_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2214_1
# 2214| m2214_8(ClassWithDestructor) = Chi : total:m2214_2, partial:m2214_7
# 2215| r2215_1(glval<vector<ClassWithDestructor>>) = VariableAddress[ys] :
# 2215| m2215_2(vector<ClassWithDestructor>) = Uninitialized[ys] : &:r2215_1
# 2215| m2215_3(unknown) = Chi : total:m2214_6, partial:m2215_2
# 2215| r2215_4(glval<unknown>) = FunctionAddress[vector] :
# 2215| r2215_5(glval<ClassWithDestructor>) = VariableAddress[#temp2215:45] :
# 2215| r2215_6(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2215| r2215_7(ClassWithDestructor) = Load[x] : &:r2215_6, m2214_8
# 2215| m2215_8(ClassWithDestructor) = Store[#temp2215:45] : &:r2215_5, r2215_7
# 2215| r2215_9(ClassWithDestructor) = Load[#temp2215:45] : &:r2215_5, m2215_8
# 2215| v2215_10(void) = Call[vector] : func:r2215_4, this:r2215_1, 0:r2215_9
# 2215| m2215_11(unknown) = ^CallSideEffect : ~m2215_3
# 2215| m2215_12(unknown) = Chi : total:m2215_3, partial:m2215_11
# 2215| m2215_13(vector<ClassWithDestructor>) = ^IndirectMayWriteSideEffect[-1] : &:r2215_1
# 2215| m2215_14(unknown) = Chi : total:m2215_12, partial:m2215_13
# 2215| r2215_15(glval<ClassWithDestructor>) = CopyValue : r2215_5
# 2215| r2215_16(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2215| v2215_17(void) = Call[~ClassWithDestructor] : func:r2215_16, this:r2215_15
# 2215| m2215_18(unknown) = ^CallSideEffect : ~m2215_14
# 2215| m2215_19(unknown) = Chi : total:m2215_14, partial:m2215_18
# 2215| v2215_20(void) = ^IndirectReadSideEffect[-1] : &:r2215_15, m2215_8
# 2215| m2215_21(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2215_15
# 2215| m2215_22(ClassWithDestructor) = Chi : total:m2215_8, partial:m2215_21
# 2215| r2215_23(glval<vector<ClassWithDestructor> &>) = VariableAddress[(__range)] :
# 2215| r2215_24(glval<vector<ClassWithDestructor>>) = VariableAddress[ys] :
# 2215| r2215_25(vector<ClassWithDestructor> &) = CopyValue : r2215_24
# 2215| m2215_26(vector<ClassWithDestructor> &) = Store[(__range)] : &:r2215_23, r2215_25
# 2215| r2215_27(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
# 2215| r2215_28(glval<vector<ClassWithDestructor> &>) = VariableAddress[(__range)] :
# 2215| r2215_29(vector<ClassWithDestructor> &) = Load[(__range)] : &:r2215_28, m2215_26
#-----| r0_1(glval<vector<ClassWithDestructor>>) = CopyValue : r2215_29
#-----| r0_2(glval<vector<ClassWithDestructor>>) = Convert : r0_1
# 2215| r2215_30(glval<unknown>) = FunctionAddress[begin] :
# 2215| r2215_31(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Call[begin] : func:r2215_30, this:r0_2
#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m2215_19
# 2215| m2215_32(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Store[(__begin)] : &:r2215_27, r2215_31
# 2215| r2215_33(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__end)] :
# 2215| r2215_34(glval<vector<ClassWithDestructor> &>) = VariableAddress[(__range)] :
# 2215| r2215_35(vector<ClassWithDestructor> &) = Load[(__range)] : &:r2215_34, m2215_26
#-----| r0_4(glval<vector<ClassWithDestructor>>) = CopyValue : r2215_35
#-----| r0_5(glval<vector<ClassWithDestructor>>) = Convert : r0_4
# 2215| r2215_36(glval<unknown>) = FunctionAddress[end] :
# 2215| r2215_37(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Call[end] : func:r2215_36, this:r0_5
#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m2215_19
# 2215| m2215_38(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Store[(__end)] : &:r2215_33, r2215_37
# 2215| m2215_39(unknown) = Chi : total:m2215_19, partial:m2215_38
#-----| Goto -> Block 8
# 2215| Block 8
# 2215| m2215_40(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Phi : from 7:m2215_32, from 9:m2215_64
# 2215| m2215_41(unknown) = Phi : from 7:~m2215_39, from 9:~m2215_69
# 2215| r2215_42(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
#-----| r0_7(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = Convert : r2215_42
# 2215| r2215_43(glval<unknown>) = FunctionAddress[operator!=] :
#-----| r0_8(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[#temp0:0] :
#-----| m0_9(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Uninitialized[#temp0:0] : &:r0_8
#-----| m0_10(unknown) = Chi : total:m2215_41, partial:m0_9
# 2215| r2215_44(glval<unknown>) = FunctionAddress[iterator] :
# 2215| r2215_45(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__end)] :
#-----| r0_11(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = Convert : r2215_45
#-----| r0_12(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &> &) = CopyValue : r0_11
# 2215| v2215_46(void) = Call[iterator] : func:r2215_44, this:r0_8, 0:r0_12
# 2215| m2215_47(unknown) = ^CallSideEffect : ~m0_10
# 2215| m2215_48(unknown) = Chi : total:m0_10, partial:m2215_47
#-----| v0_13(void) = ^BufferReadSideEffect[0] : &:r0_12, ~m2215_48
# 2215| m2215_49(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = ^IndirectMayWriteSideEffect[-1] : &:r0_8
# 2215| m2215_50(unknown) = Chi : total:m2215_48, partial:m2215_49
#-----| r0_14(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Load[#temp0:0] : &:r0_8, ~m2215_50
# 2215| r2215_51(bool) = Call[operator!=] : func:r2215_43, this:r0_7, 0:r0_14
#-----| v0_15(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2215_40
# 2215| v2215_52(void) = ConditionalBranch : r2215_51
#-----| False -> Block 10
#-----| True -> Block 9
# 2215| Block 9
# 2215| r2215_53(glval<ClassWithDestructor>) = VariableAddress[y] :
# 2215| r2215_54(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
#-----| r0_16(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = Convert : r2215_54
# 2215| r2215_55(glval<unknown>) = FunctionAddress[operator*] :
# 2215| r2215_56(ClassWithDestructor &) = Call[operator*] : func:r2215_55, this:r0_16
#-----| v0_17(void) = ^IndirectReadSideEffect[-1] : &:r0_16, m2215_40
# 2215| r2215_57(ClassWithDestructor) = Load[?] : &:r2215_56, ~m2215_50
# 2215| m2215_58(ClassWithDestructor) = Store[y] : &:r2215_53, r2215_57
# 2216| r2216_1(glval<ClassWithDestructor>) = VariableAddress[y] :
# 2216| r2216_2(glval<unknown>) = FunctionAddress[set_x] :
# 2216| r2216_3(char) = Constant[97] :
# 2216| v2216_4(void) = Call[set_x] : func:r2216_2, this:r2216_1, 0:r2216_3
# 2216| m2216_5(unknown) = ^CallSideEffect : ~m2215_50
# 2216| m2216_6(unknown) = Chi : total:m2215_50, partial:m2216_5
# 2216| v2216_7(void) = ^IndirectReadSideEffect[-1] : &:r2216_1, m2215_58
# 2216| m2216_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2216_1
# 2216| m2216_9(ClassWithDestructor) = Chi : total:m2215_58, partial:m2216_8
# 2215| r2215_59(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
# 2215| r2215_60(glval<unknown>) = FunctionAddress[operator++] :
# 2215| r2215_61(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &> &) = Call[operator++] : func:r2215_60, this:r2215_59
# 2215| v2215_62(void) = ^IndirectReadSideEffect[-1] : &:r2215_59, m2215_40
# 2215| m2215_63(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = ^IndirectMayWriteSideEffect[-1] : &:r2215_59
# 2215| m2215_64(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Chi : total:m2215_40, partial:m2215_63
# 2215| r2215_65(glval<ClassWithDestructor>) = VariableAddress[y] :
# 2215| r2215_66(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2215| v2215_67(void) = Call[~ClassWithDestructor] : func:r2215_66, this:r2215_65
# 2215| m2215_68(unknown) = ^CallSideEffect : ~m2216_6
# 2215| m2215_69(unknown) = Chi : total:m2216_6, partial:m2215_68
# 2215| v2215_70(void) = ^IndirectReadSideEffect[-1] : &:r2215_65, m2216_9
# 2215| m2215_71(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2215_65
# 2215| m2215_72(ClassWithDestructor) = Chi : total:m2216_9, partial:m2215_71
# 2215| r2215_73(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = CopyValue : r2215_61
#-----| Goto (back edge) -> Block 8
# 2218| Block 10
# 2218| r2218_1(glval<vector<ClassWithDestructor>>) = VariableAddress[ys] :
# 2218| m2218_2(vector<ClassWithDestructor>) = Uninitialized[ys] : &:r2218_1
# 2218| m2218_3(unknown) = Chi : total:m2215_50, partial:m2218_2
# 2218| r2218_4(glval<unknown>) = FunctionAddress[vector] :
# 2218| r2218_5(glval<ClassWithDestructor>) = VariableAddress[#temp2218:45] :
# 2218| r2218_6(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2218| r2218_7(ClassWithDestructor) = Load[x] : &:r2218_6, m2214_8
# 2218| m2218_8(ClassWithDestructor) = Store[#temp2218:45] : &:r2218_5, r2218_7
# 2218| r2218_9(ClassWithDestructor) = Load[#temp2218:45] : &:r2218_5, m2218_8
# 2218| v2218_10(void) = Call[vector] : func:r2218_4, this:r2218_1, 0:r2218_9
# 2218| m2218_11(unknown) = ^CallSideEffect : ~m2218_3
# 2218| m2218_12(unknown) = Chi : total:m2218_3, partial:m2218_11
# 2218| m2218_13(vector<ClassWithDestructor>) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1
# 2218| m2218_14(unknown) = Chi : total:m2218_12, partial:m2218_13
# 2218| r2218_15(glval<ClassWithDestructor>) = CopyValue : r2218_5
# 2218| r2218_16(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2218| v2218_17(void) = Call[~ClassWithDestructor] : func:r2218_16, this:r2218_15
# 2218| m2218_18(unknown) = ^CallSideEffect : ~m2218_14
# 2218| m2218_19(unknown) = Chi : total:m2218_14, partial:m2218_18
# 2218| v2218_20(void) = ^IndirectReadSideEffect[-1] : &:r2218_15, m2218_8
# 2218| m2218_21(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_15
# 2218| m2218_22(ClassWithDestructor) = Chi : total:m2218_8, partial:m2218_21
# 2218| r2218_23(glval<vector<ClassWithDestructor> &>) = VariableAddress[(__range)] :
# 2218| r2218_24(glval<vector<ClassWithDestructor>>) = VariableAddress[ys] :
# 2218| r2218_25(vector<ClassWithDestructor> &) = CopyValue : r2218_24
# 2218| m2218_26(vector<ClassWithDestructor> &) = Store[(__range)] : &:r2218_23, r2218_25
# 2218| r2218_27(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
# 2218| r2218_28(glval<vector<ClassWithDestructor> &>) = VariableAddress[(__range)] :
# 2218| r2218_29(vector<ClassWithDestructor> &) = Load[(__range)] : &:r2218_28, m2218_26
#-----| r0_18(glval<vector<ClassWithDestructor>>) = CopyValue : r2218_29
#-----| r0_19(glval<vector<ClassWithDestructor>>) = Convert : r0_18
# 2218| r2218_30(glval<unknown>) = FunctionAddress[begin] :
# 2218| r2218_31(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Call[begin] : func:r2218_30, this:r0_19
#-----| v0_20(void) = ^IndirectReadSideEffect[-1] : &:r0_19, ~m2218_19
# 2218| m2218_32(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Store[(__begin)] : &:r2218_27, r2218_31
# 2218| r2218_33(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__end)] :
# 2218| r2218_34(glval<vector<ClassWithDestructor> &>) = VariableAddress[(__range)] :
# 2218| r2218_35(vector<ClassWithDestructor> &) = Load[(__range)] : &:r2218_34, m2218_26
#-----| r0_21(glval<vector<ClassWithDestructor>>) = CopyValue : r2218_35
#-----| r0_22(glval<vector<ClassWithDestructor>>) = Convert : r0_21
# 2218| r2218_36(glval<unknown>) = FunctionAddress[end] :
# 2218| r2218_37(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Call[end] : func:r2218_36, this:r0_22
#-----| v0_23(void) = ^IndirectReadSideEffect[-1] : &:r0_22, ~m2218_19
# 2218| m2218_38(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Store[(__end)] : &:r2218_33, r2218_37
# 2218| m2218_39(unknown) = Chi : total:m2218_19, partial:m2218_38
#-----| Goto -> Block 11
# 2218| Block 11
# 2218| m2218_40(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Phi : from 10:m2218_32, from 12:m2218_58
# 2218| m2218_41(unknown) = Phi : from 10:~m2218_39, from 12:~m2218_63
# 2218| r2218_42(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
#-----| r0_24(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = Convert : r2218_42
# 2218| r2218_43(glval<unknown>) = FunctionAddress[operator!=] :
#-----| r0_25(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[#temp0:0] :
#-----| m0_26(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Uninitialized[#temp0:0] : &:r0_25
#-----| m0_27(unknown) = Chi : total:m2218_41, partial:m0_26
# 2218| r2218_44(glval<unknown>) = FunctionAddress[iterator] :
# 2218| r2218_45(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__end)] :
#-----| r0_28(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = Convert : r2218_45
#-----| r0_29(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &> &) = CopyValue : r0_28
# 2218| v2218_46(void) = Call[iterator] : func:r2218_44, this:r0_25, 0:r0_29
# 2218| m2218_47(unknown) = ^CallSideEffect : ~m0_27
# 2218| m2218_48(unknown) = Chi : total:m0_27, partial:m2218_47
#-----| v0_30(void) = ^BufferReadSideEffect[0] : &:r0_29, ~m2218_48
# 2218| m2218_49(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = ^IndirectMayWriteSideEffect[-1] : &:r0_25
# 2218| m2218_50(unknown) = Chi : total:m2218_48, partial:m2218_49
#-----| r0_31(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Load[#temp0:0] : &:r0_25, ~m2218_50
# 2218| r2218_51(bool) = Call[operator!=] : func:r2218_43, this:r0_24, 0:r0_31
#-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_24, m2218_40
# 2218| v2218_52(void) = ConditionalBranch : r2218_51
#-----| False -> Block 15
#-----| True -> Block 13
# 2218| Block 12
# 2218| r2218_53(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
# 2218| r2218_54(glval<unknown>) = FunctionAddress[operator++] :
# 2218| r2218_55(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &> &) = Call[operator++] : func:r2218_54, this:r2218_53
# 2218| v2218_56(void) = ^IndirectReadSideEffect[-1] : &:r2218_53, m2218_40
# 2218| m2218_57(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = ^IndirectMayWriteSideEffect[-1] : &:r2218_53
# 2218| m2218_58(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Chi : total:m2218_40, partial:m2218_57
# 2218| r2218_59(glval<ClassWithDestructor>) = VariableAddress[y] :
# 2218| r2218_60(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2218| v2218_61(void) = Call[~ClassWithDestructor] : func:r2218_60, this:r2218_59
# 2218| m2218_62(unknown) = ^CallSideEffect : ~m2220_5
# 2218| m2218_63(unknown) = Chi : total:m2220_5, partial:m2218_62
# 2218| v2218_64(void) = ^IndirectReadSideEffect[-1] : &:r2218_59, m2220_8
# 2218| m2218_65(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_59
# 2218| m2218_66(ClassWithDestructor) = Chi : total:m2220_8, partial:m2218_65
# 2218| r2218_67(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = CopyValue : r2218_55
#-----| Goto (back edge) -> Block 11
# 2218| Block 13
# 2218| r2218_68(glval<ClassWithDestructor>) = VariableAddress[y] :
# 2218| r2218_69(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
#-----| r0_33(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = Convert : r2218_69
# 2218| r2218_70(glval<unknown>) = FunctionAddress[operator*] :
# 2218| r2218_71(ClassWithDestructor &) = Call[operator*] : func:r2218_70, this:r0_33
#-----| v0_34(void) = ^IndirectReadSideEffect[-1] : &:r0_33, m2218_40
# 2218| r2218_72(ClassWithDestructor) = Load[?] : &:r2218_71, ~m2218_50
# 2218| m2218_73(ClassWithDestructor) = Store[y] : &:r2218_68, r2218_72
# 2219| r2219_1(glval<ClassWithDestructor>) = VariableAddress[y] :
# 2219| r2219_2(glval<unknown>) = FunctionAddress[set_x] :
# 2219| r2219_3(char) = Constant[97] :
# 2219| v2219_4(void) = Call[set_x] : func:r2219_2, this:r2219_1, 0:r2219_3
# 2219| m2219_5(unknown) = ^CallSideEffect : ~m2218_50
# 2219| m2219_6(unknown) = Chi : total:m2218_50, partial:m2219_5
# 2219| v2219_7(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, m2218_73
# 2219| m2219_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1
# 2219| m2219_9(ClassWithDestructor) = Chi : total:m2218_73, partial:m2219_8
# 2220| r2220_1(glval<ClassWithDestructor>) = VariableAddress[y] :
# 2220| r2220_2(glval<unknown>) = FunctionAddress[get_x] :
# 2220| r2220_3(char) = Call[get_x] : func:r2220_2, this:r2220_1
# 2220| m2220_4(unknown) = ^CallSideEffect : ~m2219_6
# 2220| m2220_5(unknown) = Chi : total:m2219_6, partial:m2220_4
# 2220| v2220_6(void) = ^IndirectReadSideEffect[-1] : &:r2220_1, m2219_9
# 2220| m2220_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2220_1
# 2220| m2220_8(ClassWithDestructor) = Chi : total:m2219_9, partial:m2220_7
# 2220| r2220_9(int) = Convert : r2220_3
# 2220| r2220_10(int) = Constant[98] :
# 2220| r2220_11(bool) = CompareEQ : r2220_9, r2220_10
# 2220| v2220_12(void) = ConditionalBranch : r2220_11
#-----| False -> Block 12
#-----| True -> Block 14
# 2221| Block 14
# 2221| v2221_1(void) = NoOp :
# 2218| r2218_74(glval<ClassWithDestructor>) = VariableAddress[y] :
# 2218| r2218_75(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2218| v2218_76(void) = Call[~ClassWithDestructor] : func:r2218_75, this:r2218_74
# 2218| m2218_77(unknown) = ^CallSideEffect : ~m2220_5
# 2218| m2218_78(unknown) = Chi : total:m2220_5, partial:m2218_77
# 2218| v2218_79(void) = ^IndirectReadSideEffect[-1] : &:r2218_74, m2220_8
# 2218| m2218_80(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_74
# 2218| m2218_81(ClassWithDestructor) = Chi : total:m2220_8, partial:m2218_80
# 2218| r2218_82(glval<vector<ClassWithDestructor>>) = VariableAddress[ys] :
# 2218| r2218_83(glval<unknown>) = FunctionAddress[~vector] :
# 2218| v2218_84(void) = Call[~vector] : func:r2218_83, this:r2218_82
# 2218| m2218_85(unknown) = ^CallSideEffect : ~m2218_78
# 2218| m2218_86(unknown) = Chi : total:m2218_78, partial:m2218_85
# 2218| v2218_87(void) = ^IndirectReadSideEffect[-1] : &:r2218_82, ~m2218_86
# 2218| m2218_88(vector<ClassWithDestructor>) = ^IndirectMayWriteSideEffect[-1] : &:r2218_82
# 2218| m2218_89(unknown) = Chi : total:m2218_86, partial:m2218_88
# 2233| r2233_1(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2233| r2233_2(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2233| v2233_3(void) = Call[~ClassWithDestructor] : func:r2233_2, this:r2233_1
# 2233| m2233_4(unknown) = ^CallSideEffect : ~m2218_89
# 2233| m2233_5(unknown) = Chi : total:m2218_89, partial:m2233_4
# 2233| v2233_6(void) = ^IndirectReadSideEffect[-1] : &:r2233_1, m2214_8
# 2233| m2233_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1
# 2233| m2233_8(ClassWithDestructor) = Chi : total:m2214_8, partial:m2233_7
#-----| Goto -> Block 1
# 2224| Block 15
# 2224| r2224_1(glval<vector<int>>) = VariableAddress[ys] :
# 2224| m2224_2(vector<int>) = Uninitialized[ys] : &:r2224_1
# 2224| m2224_3(unknown) = Chi : total:m2218_50, partial:m2224_2
# 2224| r2224_4(glval<unknown>) = FunctionAddress[vector] :
# 2224| r2224_5(int) = Constant[1] :
# 2224| v2224_6(void) = Call[vector] : func:r2224_4, this:r2224_1, 0:r2224_5
# 2224| m2224_7(unknown) = ^CallSideEffect : ~m2224_3
# 2224| m2224_8(unknown) = Chi : total:m2224_3, partial:m2224_7
# 2224| m2224_9(vector<int>) = ^IndirectMayWriteSideEffect[-1] : &:r2224_1
# 2224| m2224_10(unknown) = Chi : total:m2224_8, partial:m2224_9
# 2224| r2224_11(glval<vector<int> &>) = VariableAddress[(__range)] :
# 2224| r2224_12(glval<vector<int>>) = VariableAddress[ys] :
# 2224| r2224_13(vector<int> &) = CopyValue : r2224_12
# 2224| m2224_14(vector<int> &) = Store[(__range)] : &:r2224_11, r2224_13
# 2224| r2224_15(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
# 2224| r2224_16(glval<vector<int> &>) = VariableAddress[(__range)] :
# 2224| r2224_17(vector<int> &) = Load[(__range)] : &:r2224_16, m2224_14
#-----| r0_35(glval<vector<int>>) = CopyValue : r2224_17
#-----| r0_36(glval<vector<int>>) = Convert : r0_35
# 2224| r2224_18(glval<unknown>) = FunctionAddress[begin] :
# 2224| r2224_19(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Call[begin] : func:r2224_18, this:r0_36
#-----| v0_37(void) = ^IndirectReadSideEffect[-1] : &:r0_36, ~m2224_10
# 2224| m2224_20(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Store[(__begin)] : &:r2224_15, r2224_19
# 2224| r2224_21(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__end)] :
# 2224| r2224_22(glval<vector<int> &>) = VariableAddress[(__range)] :
# 2224| r2224_23(vector<int> &) = Load[(__range)] : &:r2224_22, m2224_14
#-----| r0_38(glval<vector<int>>) = CopyValue : r2224_23
#-----| r0_39(glval<vector<int>>) = Convert : r0_38
# 2224| r2224_24(glval<unknown>) = FunctionAddress[end] :
# 2224| r2224_25(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Call[end] : func:r2224_24, this:r0_39
#-----| v0_40(void) = ^IndirectReadSideEffect[-1] : &:r0_39, ~m2224_10
# 2224| m2224_26(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Store[(__end)] : &:r2224_21, r2224_25
# 2224| m2224_27(unknown) = Chi : total:m2224_10, partial:m2224_26
#-----| Goto -> Block 16
# 2224| Block 16
# 2224| m2224_28(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Phi : from 15:m2224_20, from 17:m2224_46
# 2224| m2224_29(unknown) = Phi : from 15:~m2224_27, from 17:~m2224_38
# 2224| r2224_30(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
#-----| r0_41(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = Convert : r2224_30
# 2224| r2224_31(glval<unknown>) = FunctionAddress[operator!=] :
#-----| r0_42(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[#temp0:0] :
#-----| m0_43(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Uninitialized[#temp0:0] : &:r0_42
#-----| m0_44(unknown) = Chi : total:m2224_29, partial:m0_43
# 2224| r2224_32(glval<unknown>) = FunctionAddress[iterator] :
# 2224| r2224_33(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__end)] :
#-----| r0_45(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = Convert : r2224_33
#-----| r0_46(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &> &) = CopyValue : r0_45
# 2224| v2224_34(void) = Call[iterator] : func:r2224_32, this:r0_42, 0:r0_46
# 2224| m2224_35(unknown) = ^CallSideEffect : ~m0_44
# 2224| m2224_36(unknown) = Chi : total:m0_44, partial:m2224_35
#-----| v0_47(void) = ^BufferReadSideEffect[0] : &:r0_46, ~m2224_36
# 2224| m2224_37(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = ^IndirectMayWriteSideEffect[-1] : &:r0_42
# 2224| m2224_38(unknown) = Chi : total:m2224_36, partial:m2224_37
#-----| r0_48(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Load[#temp0:0] : &:r0_42, ~m2224_38
# 2224| r2224_39(bool) = Call[operator!=] : func:r2224_31, this:r0_41, 0:r0_48
#-----| v0_49(void) = ^IndirectReadSideEffect[-1] : &:r0_41, m2224_28
# 2224| v2224_40(void) = ConditionalBranch : r2224_39
#-----| False -> Block 20
#-----| True -> Block 18
# 2224| Block 17
# 2224| r2224_41(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
# 2224| r2224_42(glval<unknown>) = FunctionAddress[operator++] :
# 2224| r2224_43(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &> &) = Call[operator++] : func:r2224_42, this:r2224_41
# 2224| v2224_44(void) = ^IndirectReadSideEffect[-1] : &:r2224_41, m2224_28
# 2224| m2224_45(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = ^IndirectMayWriteSideEffect[-1] : &:r2224_41
# 2224| m2224_46(iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>) = Chi : total:m2224_28, partial:m2224_45
# 2224| r2224_47(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = CopyValue : r2224_43
#-----| Goto (back edge) -> Block 16
# 2224| Block 18
# 2224| r2224_48(glval<int>) = VariableAddress[y] :
# 2224| r2224_49(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = VariableAddress[(__begin)] :
#-----| r0_50(glval<iterator<random_access_iterator_tag, int, ptrdiff_t, int *, int &>>) = Convert : r2224_49
# 2224| r2224_50(glval<unknown>) = FunctionAddress[operator*] :
# 2224| r2224_51(int &) = Call[operator*] : func:r2224_50, this:r0_50
#-----| v0_51(void) = ^IndirectReadSideEffect[-1] : &:r0_50, m2224_28
# 2224| r2224_52(int) = Load[?] : &:r2224_51, ~m2224_38
# 2224| m2224_53(int) = Store[y] : &:r2224_48, r2224_52
# 2225| r2225_1(glval<int>) = VariableAddress[y] :
# 2225| r2225_2(int) = Load[y] : &:r2225_1, m2224_53
# 2225| r2225_3(int) = Constant[1] :
# 2225| r2225_4(bool) = CompareEQ : r2225_2, r2225_3
# 2225| v2225_5(void) = ConditionalBranch : r2225_4
#-----| False -> Block 17
#-----| True -> Block 19
# 2226| Block 19
# 2226| v2226_1(void) = NoOp :
# 2224| r2224_54(glval<vector<int>>) = VariableAddress[ys] :
# 2224| r2224_55(glval<unknown>) = FunctionAddress[~vector] :
# 2224| v2224_56(void) = Call[~vector] : func:r2224_55, this:r2224_54
# 2224| m2224_57(unknown) = ^CallSideEffect : ~m2224_38
# 2224| m2224_58(unknown) = Chi : total:m2224_38, partial:m2224_57
# 2224| v2224_59(void) = ^IndirectReadSideEffect[-1] : &:r2224_54, ~m2224_58
# 2224| m2224_60(vector<int>) = ^IndirectMayWriteSideEffect[-1] : &:r2224_54
# 2224| m2224_61(unknown) = Chi : total:m2224_58, partial:m2224_60
# 2233| r2233_9(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2233| r2233_10(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2233| v2233_11(void) = Call[~ClassWithDestructor] : func:r2233_10, this:r2233_9
# 2233| m2233_12(unknown) = ^CallSideEffect : ~m2224_61
# 2233| m2233_13(unknown) = Chi : total:m2224_61, partial:m2233_12
# 2233| v2233_14(void) = ^IndirectReadSideEffect[-1] : &:r2233_9, m2214_8
# 2233| m2233_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_9
# 2233| m2233_16(ClassWithDestructor) = Chi : total:m2214_8, partial:m2233_15
#-----| Goto -> Block 1
# 2229| Block 20
# 2229| r2229_1(glval<vector<ClassWithDestructor>>) = VariableAddress[ys] :
# 2229| m2229_2(vector<ClassWithDestructor>) = Uninitialized[ys] : &:r2229_1
# 2229| m2229_3(unknown) = Chi : total:m2224_38, partial:m2229_2
# 2229| r2229_4(glval<unknown>) = FunctionAddress[vector] :
# 2229| r2229_5(glval<ClassWithDestructor>) = VariableAddress[#temp2229:45] :
# 2229| r2229_6(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2229| r2229_7(ClassWithDestructor) = Load[x] : &:r2229_6, m2214_8
# 2229| m2229_8(ClassWithDestructor) = Store[#temp2229:45] : &:r2229_5, r2229_7
# 2229| r2229_9(ClassWithDestructor) = Load[#temp2229:45] : &:r2229_5, m2229_8
# 2229| v2229_10(void) = Call[vector] : func:r2229_4, this:r2229_1, 0:r2229_9
# 2229| m2229_11(unknown) = ^CallSideEffect : ~m2229_3
# 2229| m2229_12(unknown) = Chi : total:m2229_3, partial:m2229_11
# 2229| m2229_13(vector<ClassWithDestructor>) = ^IndirectMayWriteSideEffect[-1] : &:r2229_1
# 2229| m2229_14(unknown) = Chi : total:m2229_12, partial:m2229_13
# 2229| r2229_15(glval<ClassWithDestructor>) = CopyValue : r2229_5
# 2229| r2229_16(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2229| v2229_17(void) = Call[~ClassWithDestructor] : func:r2229_16, this:r2229_15
# 2229| m2229_18(unknown) = ^CallSideEffect : ~m2229_14
# 2229| m2229_19(unknown) = Chi : total:m2229_14, partial:m2229_18
# 2229| v2229_20(void) = ^IndirectReadSideEffect[-1] : &:r2229_15, m2229_8
# 2229| m2229_21(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2229_15
# 2229| m2229_22(ClassWithDestructor) = Chi : total:m2229_8, partial:m2229_21
# 2229| r2229_23(glval<vector<ClassWithDestructor> &>) = VariableAddress[(__range)] :
# 2229| r2229_24(glval<vector<ClassWithDestructor>>) = VariableAddress[ys] :
# 2229| r2229_25(vector<ClassWithDestructor> &) = CopyValue : r2229_24
# 2229| m2229_26(vector<ClassWithDestructor> &) = Store[(__range)] : &:r2229_23, r2229_25
# 2229| r2229_27(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
# 2229| r2229_28(glval<vector<ClassWithDestructor> &>) = VariableAddress[(__range)] :
# 2229| r2229_29(vector<ClassWithDestructor> &) = Load[(__range)] : &:r2229_28, m2229_26
#-----| r0_52(glval<vector<ClassWithDestructor>>) = CopyValue : r2229_29
#-----| r0_53(glval<vector<ClassWithDestructor>>) = Convert : r0_52
# 2229| r2229_30(glval<unknown>) = FunctionAddress[begin] :
# 2229| r2229_31(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Call[begin] : func:r2229_30, this:r0_53
#-----| v0_54(void) = ^IndirectReadSideEffect[-1] : &:r0_53, ~m2229_19
# 2229| m2229_32(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Store[(__begin)] : &:r2229_27, r2229_31
# 2229| r2229_33(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__end)] :
# 2229| r2229_34(glval<vector<ClassWithDestructor> &>) = VariableAddress[(__range)] :
# 2229| r2229_35(vector<ClassWithDestructor> &) = Load[(__range)] : &:r2229_34, m2229_26
#-----| r0_55(glval<vector<ClassWithDestructor>>) = CopyValue : r2229_35
#-----| r0_56(glval<vector<ClassWithDestructor>>) = Convert : r0_55
# 2229| r2229_36(glval<unknown>) = FunctionAddress[end] :
# 2229| r2229_37(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Call[end] : func:r2229_36, this:r0_56
#-----| v0_57(void) = ^IndirectReadSideEffect[-1] : &:r0_56, ~m2229_19
# 2229| m2229_38(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Store[(__end)] : &:r2229_33, r2229_37
# 2229| m2229_39(unknown) = Chi : total:m2229_19, partial:m2229_38
#-----| Goto -> Block 21
# 2229| Block 21
# 2229| m2229_40(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Phi : from 20:m2229_32, from 22:m2229_64
# 2229| m2229_41(unknown) = Phi : from 20:~m2229_39, from 22:~m2229_69
# 2229| r2229_42(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
#-----| r0_58(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = Convert : r2229_42
# 2229| r2229_43(glval<unknown>) = FunctionAddress[operator!=] :
#-----| r0_59(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[#temp0:0] :
#-----| m0_60(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Uninitialized[#temp0:0] : &:r0_59
#-----| m0_61(unknown) = Chi : total:m2229_41, partial:m0_60
# 2229| r2229_44(glval<unknown>) = FunctionAddress[iterator] :
# 2229| r2229_45(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__end)] :
#-----| r0_62(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = Convert : r2229_45
#-----| r0_63(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &> &) = CopyValue : r0_62
# 2229| v2229_46(void) = Call[iterator] : func:r2229_44, this:r0_59, 0:r0_63
# 2229| m2229_47(unknown) = ^CallSideEffect : ~m0_61
# 2229| m2229_48(unknown) = Chi : total:m0_61, partial:m2229_47
#-----| v0_64(void) = ^BufferReadSideEffect[0] : &:r0_63, ~m2229_48
# 2229| m2229_49(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = ^IndirectMayWriteSideEffect[-1] : &:r0_59
# 2229| m2229_50(unknown) = Chi : total:m2229_48, partial:m2229_49
#-----| r0_65(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Load[#temp0:0] : &:r0_59, ~m2229_50
# 2229| r2229_51(bool) = Call[operator!=] : func:r2229_43, this:r0_58, 0:r0_65
#-----| v0_66(void) = ^IndirectReadSideEffect[-1] : &:r0_58, m2229_40
# 2229| v2229_52(void) = ConditionalBranch : r2229_51
#-----| False -> Block 23
#-----| True -> Block 22
# 2229| Block 22
# 2229| r2229_53(glval<ClassWithDestructor>) = VariableAddress[y] :
# 2229| r2229_54(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
#-----| r0_67(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = Convert : r2229_54
# 2229| r2229_55(glval<unknown>) = FunctionAddress[operator*] :
# 2229| r2229_56(ClassWithDestructor &) = Call[operator*] : func:r2229_55, this:r0_67
#-----| v0_68(void) = ^IndirectReadSideEffect[-1] : &:r0_67, m2229_40
# 2229| r2229_57(ClassWithDestructor) = Load[?] : &:r2229_56, ~m2229_50
# 2229| m2229_58(ClassWithDestructor) = Store[y] : &:r2229_53, r2229_57
# 2230| r2230_1(glval<ClassWithDestructor>) = VariableAddress[z1] :
# 2230| m2230_2(ClassWithDestructor) = Uninitialized[z1] : &:r2230_1
# 2230| r2230_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2230| v2230_4(void) = Call[ClassWithDestructor] : func:r2230_3, this:r2230_1
# 2230| m2230_5(unknown) = ^CallSideEffect : ~m2229_50
# 2230| m2230_6(unknown) = Chi : total:m2229_50, partial:m2230_5
# 2230| m2230_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2230_1
# 2230| m2230_8(ClassWithDestructor) = Chi : total:m2230_2, partial:m2230_7
# 2231| r2231_1(glval<ClassWithDestructor>) = VariableAddress[z2] :
# 2231| m2231_2(ClassWithDestructor) = Uninitialized[z2] : &:r2231_1
# 2231| r2231_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2231| v2231_4(void) = Call[ClassWithDestructor] : func:r2231_3, this:r2231_1
# 2231| m2231_5(unknown) = ^CallSideEffect : ~m2230_6
# 2231| m2231_6(unknown) = Chi : total:m2230_6, partial:m2231_5
# 2231| m2231_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2231_1
# 2231| m2231_8(ClassWithDestructor) = Chi : total:m2231_2, partial:m2231_7
# 2232| r2232_1(glval<ClassWithDestructor>) = VariableAddress[z2] :
# 2232| r2232_2(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2232| v2232_3(void) = Call[~ClassWithDestructor] : func:r2232_2, this:r2232_1
# 2232| m2232_4(unknown) = ^CallSideEffect : ~m2231_6
# 2232| m2232_5(unknown) = Chi : total:m2231_6, partial:m2232_4
# 2232| v2232_6(void) = ^IndirectReadSideEffect[-1] : &:r2232_1, m2231_8
# 2232| m2232_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_1
# 2232| m2232_8(ClassWithDestructor) = Chi : total:m2231_8, partial:m2232_7
# 2232| r2232_9(glval<ClassWithDestructor>) = VariableAddress[z1] :
# 2232| r2232_10(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2232| v2232_11(void) = Call[~ClassWithDestructor] : func:r2232_10, this:r2232_9
# 2232| m2232_12(unknown) = ^CallSideEffect : ~m2232_5
# 2232| m2232_13(unknown) = Chi : total:m2232_5, partial:m2232_12
# 2232| v2232_14(void) = ^IndirectReadSideEffect[-1] : &:r2232_9, m2230_8
# 2232| m2232_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_9
# 2232| m2232_16(ClassWithDestructor) = Chi : total:m2230_8, partial:m2232_15
# 2229| r2229_59(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = VariableAddress[(__begin)] :
# 2229| r2229_60(glval<unknown>) = FunctionAddress[operator++] :
# 2229| r2229_61(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &> &) = Call[operator++] : func:r2229_60, this:r2229_59
# 2229| v2229_62(void) = ^IndirectReadSideEffect[-1] : &:r2229_59, m2229_40
# 2229| m2229_63(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = ^IndirectMayWriteSideEffect[-1] : &:r2229_59
# 2229| m2229_64(iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>) = Chi : total:m2229_40, partial:m2229_63
# 2229| r2229_65(glval<ClassWithDestructor>) = VariableAddress[y] :
# 2229| r2229_66(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2229| v2229_67(void) = Call[~ClassWithDestructor] : func:r2229_66, this:r2229_65
# 2229| m2229_68(unknown) = ^CallSideEffect : ~m2232_13
# 2229| m2229_69(unknown) = Chi : total:m2232_13, partial:m2229_68
# 2229| v2229_70(void) = ^IndirectReadSideEffect[-1] : &:r2229_65, m2229_58
# 2229| m2229_71(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2229_65
# 2229| m2229_72(ClassWithDestructor) = Chi : total:m2229_58, partial:m2229_71
# 2229| r2229_73(glval<iterator<random_access_iterator_tag, ClassWithDestructor, ptrdiff_t, ClassWithDestructor *, ClassWithDestructor &>>) = CopyValue : r2229_61
#-----| Goto (back edge) -> Block 21
# 2233| Block 23
# 2233| v2233_17(void) = NoOp :
# 2233| r2233_18(glval<ClassWithDestructor>) = VariableAddress[x] :
# 2233| r2233_19(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2233| v2233_20(void) = Call[~ClassWithDestructor] : func:r2233_19, this:r2233_18
# 2233| m2233_21(unknown) = ^CallSideEffect : ~m2229_50
# 2233| m2233_22(unknown) = Chi : total:m2229_50, partial:m2233_21
# 2233| v2233_23(void) = ^IndirectReadSideEffect[-1] : &:r2233_18, m2214_8
# 2233| m2233_24(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_18
# 2233| m2233_25(ClassWithDestructor) = Chi : total:m2214_8, partial:m2233_24
#-----| Goto -> Block 1
# 2198| Block 24
# 2198| v2198_13(void) = Unreached :
# 2235| void static_variable_with_destructor_1()
# 2235| Block 0
# 2235| v2235_1(void) = EnterFunction :
# 2235| m2235_2(unknown) = AliasedDefinition :
# 2235| m2235_3(unknown) = InitializeNonLocal :
# 2235| m2235_4(unknown) = Chi : total:m2235_2, partial:m2235_3
# 2236| r2236_1(glval<ClassWithDestructor>) = VariableAddress[a] :
# 2236| m2236_2(ClassWithDestructor) = Uninitialized[a] : &:r2236_1
# 2236| r2236_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2236| v2236_4(void) = Call[ClassWithDestructor] : func:r2236_3, this:r2236_1
# 2236| m2236_5(unknown) = ^CallSideEffect : ~m2235_4
# 2236| m2236_6(unknown) = Chi : total:m2235_4, partial:m2236_5
# 2236| m2236_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2236_1
# 2236| m2236_8(ClassWithDestructor) = Chi : total:m2236_2, partial:m2236_7
# 2237| r2237_1(glval<bool>) = VariableAddress[b#init] :
# 2237| r2237_2(bool) = Load[b#init] : &:r2237_1, ~m2236_6
# 2237| v2237_3(void) = ConditionalBranch : r2237_2
#-----| False -> Block 1
#-----| True -> Block 2
# 2237| Block 1
# 2237| r2237_4(glval<ClassWithDestructor>) = VariableAddress[b] :
#-----| r0_1(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2237_4
#-----| m0_3(unknown) = ^CallSideEffect : ~m2236_6
#-----| m0_4(unknown) = Chi : total:m2236_6, partial:m0_3
#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2237_4
#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5
# 2237| r2237_5(bool) = Constant[1] :
# 2237| m2237_6(bool) = Store[b#init] : &:r2237_1, r2237_5
# 2237| m2237_7(unknown) = Chi : total:m0_6, partial:m2237_6
#-----| Goto -> Block 2
# 2238| Block 2
# 2238| m2238_1(unknown) = Phi : from 0:~m2236_6, from 1:~m2237_7
# 2238| v2238_2(void) = NoOp :
# 2238| r2238_3(glval<ClassWithDestructor>) = VariableAddress[a] :
# 2238| r2238_4(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2238| v2238_5(void) = Call[~ClassWithDestructor] : func:r2238_4, this:r2238_3
# 2238| m2238_6(unknown) = ^CallSideEffect : ~m2238_1
# 2238| m2238_7(unknown) = Chi : total:m2238_1, partial:m2238_6
# 2238| v2238_8(void) = ^IndirectReadSideEffect[-1] : &:r2238_3, m2236_8
# 2238| m2238_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2238_3
# 2238| m2238_10(ClassWithDestructor) = Chi : total:m2236_8, partial:m2238_9
# 2235| v2235_5(void) = ReturnVoid :
# 2235| v2235_6(void) = AliasedUse : ~m2238_7
# 2235| v2235_7(void) = ExitFunction :
# 2240| void static_variable_with_destructor_2()
# 2240| Block 0
# 2240| v2240_1(void) = EnterFunction :
# 2240| m2240_2(unknown) = AliasedDefinition :
# 2240| m2240_3(unknown) = InitializeNonLocal :
# 2240| m2240_4(unknown) = Chi : total:m2240_2, partial:m2240_3
# 2241| r2241_1(glval<bool>) = VariableAddress[a#init] :
# 2241| r2241_2(bool) = Load[a#init] : &:r2241_1, ~m2240_3
# 2241| v2241_3(void) = ConditionalBranch : r2241_2
#-----| False -> Block 1
#-----| True -> Block 2
# 2241| Block 1
# 2241| r2241_4(glval<ClassWithDestructor>) = VariableAddress[a] :
#-----| r0_1(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2241_4
#-----| m0_3(unknown) = ^CallSideEffect : ~m2240_4
#-----| m0_4(unknown) = Chi : total:m2240_4, partial:m0_3
#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2241_4
#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5
# 2241| r2241_5(bool) = Constant[1] :
# 2241| m2241_6(bool) = Store[a#init] : &:r2241_1, r2241_5
# 2241| m2241_7(unknown) = Chi : total:m0_6, partial:m2241_6
#-----| Goto -> Block 2
# 2242| Block 2
# 2242| m2242_1(unknown) = Phi : from 0:~m2240_4, from 1:~m2241_7
# 2242| r2242_2(glval<ClassWithDestructor>) = VariableAddress[b] :
# 2242| m2242_3(ClassWithDestructor) = Uninitialized[b] : &:r2242_2
# 2242| r2242_4(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2242| v2242_5(void) = Call[ClassWithDestructor] : func:r2242_4, this:r2242_2
# 2242| m2242_6(unknown) = ^CallSideEffect : ~m2242_1
# 2242| m2242_7(unknown) = Chi : total:m2242_1, partial:m2242_6
# 2242| m2242_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2242_2
# 2242| m2242_9(ClassWithDestructor) = Chi : total:m2242_3, partial:m2242_8
# 2243| v2243_1(void) = NoOp :
# 2243| r2243_2(glval<ClassWithDestructor>) = VariableAddress[b] :
# 2243| r2243_3(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2243| v2243_4(void) = Call[~ClassWithDestructor] : func:r2243_3, this:r2243_2
# 2243| m2243_5(unknown) = ^CallSideEffect : ~m2242_7
# 2243| m2243_6(unknown) = Chi : total:m2242_7, partial:m2243_5
# 2243| v2243_7(void) = ^IndirectReadSideEffect[-1] : &:r2243_2, m2242_9
# 2243| m2243_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2243_2
# 2243| m2243_9(ClassWithDestructor) = Chi : total:m2242_9, partial:m2243_8
# 2240| v2240_5(void) = ReturnVoid :
# 2240| v2240_6(void) = AliasedUse : ~m2243_6
# 2240| v2240_7(void) = ExitFunction :
# 2245| void static_variable_with_destructor_3()
# 2245| Block 0
# 2245| v2245_1(void) = EnterFunction :
# 2245| m2245_2(unknown) = AliasedDefinition :
# 2245| m2245_3(unknown) = InitializeNonLocal :
# 2245| m2245_4(unknown) = Chi : total:m2245_2, partial:m2245_3
# 2246| r2246_1(glval<ClassWithDestructor>) = VariableAddress[a] :
# 2246| m2246_2(ClassWithDestructor) = Uninitialized[a] : &:r2246_1
# 2246| r2246_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2246| v2246_4(void) = Call[ClassWithDestructor] : func:r2246_3, this:r2246_1
# 2246| m2246_5(unknown) = ^CallSideEffect : ~m2245_4
# 2246| m2246_6(unknown) = Chi : total:m2245_4, partial:m2246_5
# 2246| m2246_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2246_1
# 2246| m2246_8(ClassWithDestructor) = Chi : total:m2246_2, partial:m2246_7
# 2247| r2247_1(glval<ClassWithDestructor>) = VariableAddress[b] :
# 2247| m2247_2(ClassWithDestructor) = Uninitialized[b] : &:r2247_1
# 2247| r2247_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2247| v2247_4(void) = Call[ClassWithDestructor] : func:r2247_3, this:r2247_1
# 2247| m2247_5(unknown) = ^CallSideEffect : ~m2246_6
# 2247| m2247_6(unknown) = Chi : total:m2246_6, partial:m2247_5
# 2247| m2247_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2247_1
# 2247| m2247_8(ClassWithDestructor) = Chi : total:m2247_2, partial:m2247_7
# 2248| r2248_1(glval<bool>) = VariableAddress[c#init] :
# 2248| r2248_2(bool) = Load[c#init] : &:r2248_1, ~m2247_6
# 2248| v2248_3(void) = ConditionalBranch : r2248_2
#-----| False -> Block 1
#-----| True -> Block 2
# 2248| Block 1
# 2248| r2248_4(glval<ClassWithDestructor>) = VariableAddress[c] :
#-----| r0_1(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2248_4
#-----| m0_3(unknown) = ^CallSideEffect : ~m2247_6
#-----| m0_4(unknown) = Chi : total:m2247_6, partial:m0_3
#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2248_4
#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5
# 2248| r2248_5(bool) = Constant[1] :
# 2248| m2248_6(bool) = Store[c#init] : &:r2248_1, r2248_5
# 2248| m2248_7(unknown) = Chi : total:m0_6, partial:m2248_6
#-----| Goto -> Block 2
# 2249| Block 2
# 2249| m2249_1(unknown) = Phi : from 0:~m2247_6, from 1:~m2248_7
# 2249| v2249_2(void) = NoOp :
# 2249| r2249_3(glval<ClassWithDestructor>) = VariableAddress[b] :
# 2249| r2249_4(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2249| v2249_5(void) = Call[~ClassWithDestructor] : func:r2249_4, this:r2249_3
# 2249| m2249_6(unknown) = ^CallSideEffect : ~m2249_1
# 2249| m2249_7(unknown) = Chi : total:m2249_1, partial:m2249_6
# 2249| v2249_8(void) = ^IndirectReadSideEffect[-1] : &:r2249_3, m2247_8
# 2249| m2249_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_3
# 2249| m2249_10(ClassWithDestructor) = Chi : total:m2247_8, partial:m2249_9
# 2249| r2249_11(glval<ClassWithDestructor>) = VariableAddress[a] :
# 2249| r2249_12(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2249| v2249_13(void) = Call[~ClassWithDestructor] : func:r2249_12, this:r2249_11
# 2249| m2249_14(unknown) = ^CallSideEffect : ~m2249_7
# 2249| m2249_15(unknown) = Chi : total:m2249_7, partial:m2249_14
# 2249| v2249_16(void) = ^IndirectReadSideEffect[-1] : &:r2249_11, m2246_8
# 2249| m2249_17(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_11
# 2249| m2249_18(ClassWithDestructor) = Chi : total:m2246_8, partial:m2249_17
# 2245| v2245_5(void) = ReturnVoid :
# 2245| v2245_6(void) = AliasedUse : ~m2249_15
# 2245| v2245_7(void) = ExitFunction :
# 2251| ClassWithDestructor global_class_with_destructor
# 2251| Block 0
# 2251| v2251_1(void) = EnterFunction :
# 2251| m2251_2(unknown) = AliasedDefinition :
# 2251| r2251_3(glval<ClassWithDestructor>) = VariableAddress[global_class_with_destructor] :
# 2251| r2251_4(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2251| v2251_5(void) = Call[ClassWithDestructor] : func:r2251_4, this:r2251_3
# 2251| m2251_6(unknown) = ^CallSideEffect : ~m2251_2
# 2251| m2251_7(unknown) = Chi : total:m2251_2, partial:m2251_6
# 2251| m2251_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2251_3
# 2251| m2251_9(unknown) = Chi : total:m2251_7, partial:m2251_8
# 2251| v2251_10(void) = ReturnVoid :
# 2251| v2251_11(void) = AliasedUse : ~m2251_9
# 2251| v2251_12(void) = ExitFunction :
# 2255| ClassWithDestructor& vacuous_destructor_call::get<ClassWithDestructor>(ClassWithDestructor&)
# 2255| Block 0
# 2255| v2255_1(void) = EnterFunction :
# 2255| m2255_2(unknown) = AliasedDefinition :
# 2255| m2255_3(unknown) = InitializeNonLocal :
# 2255| m2255_4(unknown) = Chi : total:m2255_2, partial:m2255_3
# 2255| r2255_5(glval<ClassWithDestructor &>) = VariableAddress[t] :
# 2255| m2255_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2255_5
# 2255| r2255_7(ClassWithDestructor &) = Load[t] : &:r2255_5, m2255_6
# 2255| m2255_8(unknown) = InitializeIndirection[t] : &:r2255_7
# 2255| r2255_9(glval<ClassWithDestructor &>) = VariableAddress[#return] :
# 2255| r2255_10(glval<ClassWithDestructor &>) = VariableAddress[t] :
# 2255| r2255_11(ClassWithDestructor &) = Load[t] : &:r2255_10, m2255_6
# 2255| r2255_12(glval<ClassWithDestructor>) = CopyValue : r2255_11
# 2255| r2255_13(ClassWithDestructor &) = CopyValue : r2255_12
# 2255| m2255_14(ClassWithDestructor &) = Store[#return] : &:r2255_9, r2255_13
# 2255| v2255_15(void) = ReturnIndirection[t] : &:r2255_7, m2255_8
# 2255| r2255_16(glval<ClassWithDestructor &>) = VariableAddress[#return] :
# 2255| v2255_17(void) = ReturnValue : &:r2255_16, m2255_14
# 2255| v2255_18(void) = AliasedUse : m2255_3
# 2255| v2255_19(void) = ExitFunction :
# 2255| int& vacuous_destructor_call::get<int>(int&)
# 2255| Block 0
# 2255| v2255_1(void) = EnterFunction :
# 2255| m2255_2(unknown) = AliasedDefinition :
# 2255| m2255_3(unknown) = InitializeNonLocal :
# 2255| m2255_4(unknown) = Chi : total:m2255_2, partial:m2255_3
# 2255| r2255_5(glval<int &>) = VariableAddress[t] :
# 2255| m2255_6(int &) = InitializeParameter[t] : &:r2255_5
# 2255| r2255_7(int &) = Load[t] : &:r2255_5, m2255_6
# 2255| m2255_8(unknown) = InitializeIndirection[t] : &:r2255_7
# 2255| r2255_9(glval<int &>) = VariableAddress[#return] :
# 2255| r2255_10(glval<int &>) = VariableAddress[t] :
# 2255| r2255_11(int &) = Load[t] : &:r2255_10, m2255_6
# 2255| r2255_12(glval<int>) = CopyValue : r2255_11
# 2255| r2255_13(int &) = CopyValue : r2255_12
# 2255| m2255_14(int &) = Store[#return] : &:r2255_9, r2255_13
# 2255| v2255_15(void) = ReturnIndirection[t] : &:r2255_7, m2255_8
# 2255| r2255_16(glval<int &>) = VariableAddress[#return] :
# 2255| v2255_17(void) = ReturnValue : &:r2255_16, m2255_14
# 2255| v2255_18(void) = AliasedUse : m2255_3
# 2255| v2255_19(void) = ExitFunction :
# 2258| void vacuous_destructor_call::call_destructor<ClassWithDestructor>(ClassWithDestructor&)
# 2258| Block 0
# 2258| v2258_1(void) = EnterFunction :
# 2258| m2258_2(unknown) = AliasedDefinition :
# 2258| m2258_3(unknown) = InitializeNonLocal :
# 2258| m2258_4(unknown) = Chi : total:m2258_2, partial:m2258_3
# 2258| r2258_5(glval<ClassWithDestructor &>) = VariableAddress[t] :
# 2258| m2258_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2258_5
# 2258| r2258_7(ClassWithDestructor &) = Load[t] : &:r2258_5, m2258_6
# 2258| m2258_8(unknown) = InitializeIndirection[t] : &:r2258_7
# 2259| r2259_1(glval<unknown>) = FunctionAddress[get] :
# 2259| r2259_2(glval<ClassWithDestructor &>) = VariableAddress[t] :
# 2259| r2259_3(ClassWithDestructor &) = Load[t] : &:r2259_2, m2258_6
# 2259| r2259_4(glval<ClassWithDestructor>) = CopyValue : r2259_3
# 2259| r2259_5(ClassWithDestructor &) = CopyValue : r2259_4
# 2259| r2259_6(ClassWithDestructor &) = Call[get] : func:r2259_1, 0:r2259_5
# 2259| m2259_7(unknown) = ^CallSideEffect : ~m2258_4
# 2259| m2259_8(unknown) = Chi : total:m2258_4, partial:m2259_7
# 2259| v2259_9(void) = ^BufferReadSideEffect[0] : &:r2259_5, ~m2258_8
# 2259| m2259_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2259_5
# 2259| m2259_11(unknown) = Chi : total:m2258_8, partial:m2259_10
# 2259| r2259_12(glval<ClassWithDestructor>) = CopyValue : r2259_6
# 2259| r2259_13(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2259| v2259_14(void) = Call[~ClassWithDestructor] : func:r2259_13
# 2259| m2259_15(unknown) = ^CallSideEffect : ~m2259_8
# 2259| m2259_16(unknown) = Chi : total:m2259_8, partial:m2259_15
# 2259| v2259_17(void) = ^IndirectReadSideEffect[-1] : &:r2259_12, ~m2259_11
# 2259| m2259_18(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2259_12
# 2259| m2259_19(unknown) = Chi : total:m2259_11, partial:m2259_18
# 2260| v2260_1(void) = NoOp :
# 2258| v2258_9(void) = ReturnIndirection[t] : &:r2258_7, m2259_19
# 2258| v2258_10(void) = ReturnVoid :
# 2258| v2258_11(void) = AliasedUse : ~m2259_16
# 2258| v2258_12(void) = ExitFunction :
# 2258| void vacuous_destructor_call::call_destructor<int>(int&)
# 2258| Block 0
# 2258| v2258_1(void) = EnterFunction :
# 2258| m2258_2(unknown) = AliasedDefinition :
# 2258| m2258_3(unknown) = InitializeNonLocal :
# 2258| m2258_4(unknown) = Chi : total:m2258_2, partial:m2258_3
# 2258| r2258_5(glval<int &>) = VariableAddress[t] :
# 2258| m2258_6(int &) = InitializeParameter[t] : &:r2258_5
# 2258| r2258_7(int &) = Load[t] : &:r2258_5, m2258_6
# 2258| m2258_8(unknown) = InitializeIndirection[t] : &:r2258_7
# 2259| r2259_1(glval<unknown>) = FunctionAddress[get] :
# 2259| r2259_2(glval<int &>) = VariableAddress[t] :
# 2259| r2259_3(int &) = Load[t] : &:r2259_2, m2258_6
# 2259| r2259_4(glval<int>) = CopyValue : r2259_3
# 2259| r2259_5(int &) = CopyValue : r2259_4
# 2259| r2259_6(int &) = Call[get] : func:r2259_1, 0:r2259_5
# 2259| m2259_7(unknown) = ^CallSideEffect : ~m2258_4
# 2259| m2259_8(unknown) = Chi : total:m2258_4, partial:m2259_7
# 2259| v2259_9(void) = ^BufferReadSideEffect[0] : &:r2259_5, ~m2258_8
# 2259| m2259_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2259_5
# 2259| m2259_11(unknown) = Chi : total:m2258_8, partial:m2259_10
# 2259| r2259_12(glval<int>) = CopyValue : r2259_6
# 2260| v2260_1(void) = NoOp :
# 2258| v2258_9(void) = ReturnIndirection[t] : &:r2258_7, m2259_11
# 2258| v2258_10(void) = ReturnVoid :
# 2258| v2258_11(void) = AliasedUse : ~m2259_8
# 2258| v2258_12(void) = ExitFunction :
# 2262| void vacuous_destructor_call::non_vacuous_destructor_call()
# 2262| Block 0
# 2262| v2262_1(void) = EnterFunction :
# 2262| m2262_2(unknown) = AliasedDefinition :
# 2262| m2262_3(unknown) = InitializeNonLocal :
# 2262| m2262_4(unknown) = Chi : total:m2262_2, partial:m2262_3
# 2263| r2263_1(glval<ClassWithDestructor>) = VariableAddress[c] :
# 2263| m2263_2(ClassWithDestructor) = Uninitialized[c] : &:r2263_1
# 2263| r2263_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2263| v2263_4(void) = Call[ClassWithDestructor] : func:r2263_3, this:r2263_1
# 2263| m2263_5(unknown) = ^CallSideEffect : ~m2262_4
# 2263| m2263_6(unknown) = Chi : total:m2262_4, partial:m2263_5
# 2263| m2263_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2263_1
# 2263| m2263_8(ClassWithDestructor) = Chi : total:m2263_2, partial:m2263_7
# 2264| r2264_1(glval<unknown>) = FunctionAddress[call_destructor] :
# 2264| r2264_2(glval<ClassWithDestructor>) = VariableAddress[c] :
# 2264| r2264_3(ClassWithDestructor &) = CopyValue : r2264_2
# 2264| v2264_4(void) = Call[call_destructor] : func:r2264_1, 0:r2264_3
# 2264| m2264_5(unknown) = ^CallSideEffect : ~m2263_6
# 2264| m2264_6(unknown) = Chi : total:m2263_6, partial:m2264_5
# 2264| v2264_7(void) = ^BufferReadSideEffect[0] : &:r2264_3, ~m2263_8
# 2264| m2264_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2264_3
# 2264| m2264_9(ClassWithDestructor) = Chi : total:m2263_8, partial:m2264_8
# 2265| v2265_1(void) = NoOp :
# 2265| r2265_2(glval<ClassWithDestructor>) = VariableAddress[c] :
# 2265| r2265_3(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2265| v2265_4(void) = Call[~ClassWithDestructor] : func:r2265_3, this:r2265_2
# 2265| m2265_5(unknown) = ^CallSideEffect : ~m2264_6
# 2265| m2265_6(unknown) = Chi : total:m2264_6, partial:m2265_5
# 2265| v2265_7(void) = ^IndirectReadSideEffect[-1] : &:r2265_2, m2264_9
# 2265| m2265_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2265_2
# 2265| m2265_9(ClassWithDestructor) = Chi : total:m2264_9, partial:m2265_8
# 2262| v2262_5(void) = ReturnVoid :
# 2262| v2262_6(void) = AliasedUse : ~m2265_6
# 2262| v2262_7(void) = ExitFunction :
# 2267| void vacuous_destructor_call::vacuous_destructor_call()
# 2267| Block 0
# 2267| v2267_1(void) = EnterFunction :
# 2267| m2267_2(unknown) = AliasedDefinition :
# 2267| m2267_3(unknown) = InitializeNonLocal :
# 2267| m2267_4(unknown) = Chi : total:m2267_2, partial:m2267_3
# 2268| r2268_1(glval<int>) = VariableAddress[i] :
# 2268| m2268_2(int) = Uninitialized[i] : &:r2268_1
# 2269| r2269_1(glval<unknown>) = FunctionAddress[call_destructor] :
# 2269| r2269_2(glval<int>) = VariableAddress[i] :
# 2269| r2269_3(int &) = CopyValue : r2269_2
# 2269| v2269_4(void) = Call[call_destructor] : func:r2269_1, 0:r2269_3
# 2269| m2269_5(unknown) = ^CallSideEffect : ~m2267_4
# 2269| m2269_6(unknown) = Chi : total:m2267_4, partial:m2269_5
# 2269| v2269_7(void) = ^BufferReadSideEffect[0] : &:r2269_3, ~m2268_2
# 2269| m2269_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2269_3
# 2269| m2269_9(int) = Chi : total:m2268_2, partial:m2269_8
# 2270| v2270_1(void) = NoOp :
# 2267| v2267_5(void) = ReturnVoid :
# 2267| v2267_6(void) = AliasedUse : ~m2269_6
# 2267| v2267_7(void) = ExitFunction :
# 2273| void TryCatchDestructors(bool)
# 2273| Block 0
# 2273| v2273_1(void) = EnterFunction :
# 2273| m2273_2(unknown) = AliasedDefinition :
# 2273| m2273_3(unknown) = InitializeNonLocal :
# 2273| m2273_4(unknown) = Chi : total:m2273_2, partial:m2273_3
# 2273| r2273_5(glval<bool>) = VariableAddress[b] :
# 2273| m2273_6(bool) = InitializeParameter[b] : &:r2273_5
# 2275| r2275_1(glval<String>) = VariableAddress[s] :
# 2275| m2275_2(String) = Uninitialized[s] : &:r2275_1
# 2275| m2275_3(unknown) = Chi : total:m2273_4, partial:m2275_2
# 2275| r2275_4(glval<unknown>) = FunctionAddress[String] :
# 2275| v2275_5(void) = Call[String] : func:r2275_4, this:r2275_1
# 2275| m2275_6(unknown) = ^CallSideEffect : ~m2275_3
# 2275| m2275_7(unknown) = Chi : total:m2275_3, partial:m2275_6
# 2275| m2275_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2275_1
# 2275| m2275_9(unknown) = Chi : total:m2275_7, partial:m2275_8
# 2276| r2276_1(glval<bool>) = VariableAddress[b] :
# 2276| r2276_2(bool) = Load[b] : &:r2276_1, m2273_6
# 2276| v2276_3(void) = ConditionalBranch : r2276_2
#-----| False -> Block 4
#-----| True -> Block 3
# 2273| Block 1
# 2273| m2273_7(unknown) = Phi : from 2:~m2273_10, from 10:~m2289_1
# 2273| v2273_8(void) = AliasedUse : ~m2273_7
# 2273| v2273_9(void) = ExitFunction :
# 2273| Block 2
# 2273| m2273_10(unknown) = Phi : from 6:~m2282_12, from 9:~m2280_8
# 2273| v2273_11(void) = Unwind :
#-----| Goto -> Block 1
# 2277| Block 3
# 2277| r2277_1(glval<char *>) = VariableAddress[#throw2277:7] :
# 2277| r2277_2(glval<char[15]>) = StringConstant["string literal"] :
# 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_9
# 2280| m2280_5(unknown) = Chi : total:m2275_9, partial:m2280_4
# 2280| v2280_6(void) = ^IndirectReadSideEffect[-1] : &:r2280_1, ~m2280_5
# 2280| m2280_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1
# 2280| m2280_8(unknown) = Chi : total:m2280_5, partial:m2280_7
#-----| Exception -> Block 5
# 2279| Block 4
# 2279| r2279_1(glval<String>) = VariableAddress[s2] :
# 2279| m2279_2(String) = Uninitialized[s2] : &:r2279_1
# 2279| m2279_3(unknown) = Chi : total:m2275_9, partial:m2279_2
# 2279| r2279_4(glval<unknown>) = FunctionAddress[String] :
# 2279| v2279_5(void) = Call[String] : func:r2279_4, this:r2279_1
# 2279| m2279_6(unknown) = ^CallSideEffect : ~m2279_3
# 2279| m2279_7(unknown) = Chi : total:m2279_3, partial:m2279_6
# 2279| m2279_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2279_1
# 2279| m2279_9(unknown) = Chi : total:m2279_7, partial:m2279_8
# 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 : ~m2279_9
# 2280| m2280_13(unknown) = Chi : total:m2279_9, partial:m2280_12
# 2280| v2280_14(void) = ^IndirectReadSideEffect[-1] : &:r2280_9, ~m2280_13
# 2280| m2280_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_9
# 2280| m2280_16(unknown) = Chi : total:m2280_13, 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_16
# 2280| m2280_21(unknown) = Chi : total:m2280_16, partial:m2280_20
# 2280| v2280_22(void) = ^IndirectReadSideEffect[-1] : &:r2280_17, ~m2280_21
# 2280| m2280_23(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_17
# 2280| m2280_24(unknown) = Chi : total:m2280_21, partial:m2280_23
#-----| Goto -> Block 10
# 2281| Block 5
# 2281| v2281_1(void) = CatchByType[const char *] :
#-----| Exception -> Block 7
#-----| Goto -> Block 6
# 2281| Block 6
# 2281| r2281_2(glval<char *>) = VariableAddress[s] :
# 2281| m2281_3(char *) = InitializeParameter[s] : &:r2281_2
# 2281| r2281_4(char *) = Load[s] : &:r2281_2, m2281_3
# 2281| m2281_5(unknown) = InitializeIndirection[s] : &:r2281_4
# 2281| m2281_6(unknown) = Chi : total:m2280_8, partial:m2281_5
# 2282| r2282_1(glval<String>) = VariableAddress[#throw2282:5] :
# 2282| m2282_2(String) = Uninitialized[#throw2282:5] : &:r2282_1
# 2282| m2282_3(unknown) = Chi : total:m2281_6, partial:m2282_2
# 2282| r2282_4(glval<unknown>) = FunctionAddress[String] :
# 2282| r2282_5(glval<char *>) = VariableAddress[s] :
# 2282| r2282_6(char *) = Load[s] : &:r2282_5, m2281_3
# 2282| v2282_7(void) = Call[String] : func:r2282_4, this:r2282_1, 0:r2282_6
# 2282| m2282_8(unknown) = ^CallSideEffect : ~m2282_3
# 2282| m2282_9(unknown) = Chi : total:m2282_3, partial:m2282_8
# 2282| v2282_10(void) = ^BufferReadSideEffect[0] : &:r2282_6, ~m2282_9
# 2282| m2282_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r2282_1
# 2282| m2282_12(unknown) = Chi : total:m2282_9, partial:m2282_11
# 2282| v2282_13(void) = ThrowValue : &:r2282_1, ~m2282_12
#-----| Exception -> Block 2
# 2284| Block 7
# 2284| v2284_1(void) = CatchByType[const String &] :
#-----| Exception -> Block 9
#-----| Goto -> Block 8
# 2284| Block 8
# 2284| r2284_2(glval<String &>) = VariableAddress[e] :
# 2284| m2284_3(String &) = InitializeParameter[e] : &:r2284_2
# 2284| r2284_4(String &) = Load[e] : &:r2284_2, m2284_3
# 2284| m2284_5(unknown) = InitializeIndirection[e] : &:r2284_4
# 2284| v2284_6(void) = NoOp :
#-----| Goto -> Block 10
# 2286| Block 9
# 2286| v2286_1(void) = CatchAny :
# 2287| v2287_1(void) = ReThrow :
#-----| Exception -> Block 2
# 2289| Block 10
# 2289| m2289_1(unknown) = Phi : from 4:~m2280_24, from 8:~m2280_8
# 2289| v2289_2(void) = NoOp :
# 2273| v2273_12(void) = ReturnVoid :
#-----| Goto -> Block 1
# 2291| void IfDestructors(bool)
# 2291| Block 0
# 2291| v2291_1(void) = EnterFunction :
# 2291| m2291_2(unknown) = AliasedDefinition :
# 2291| m2291_3(unknown) = InitializeNonLocal :
# 2291| m2291_4(unknown) = Chi : total:m2291_2, partial:m2291_3
# 2291| r2291_5(glval<bool>) = VariableAddress[b] :
# 2291| m2291_6(bool) = InitializeParameter[b] : &:r2291_5
# 2292| r2292_1(glval<String>) = VariableAddress[s1] :
# 2292| m2292_2(String) = Uninitialized[s1] : &:r2292_1
# 2292| m2292_3(unknown) = Chi : total:m2291_4, partial:m2292_2
# 2292| r2292_4(glval<unknown>) = FunctionAddress[String] :
# 2292| v2292_5(void) = Call[String] : func:r2292_4, this:r2292_1
# 2292| m2292_6(unknown) = ^CallSideEffect : ~m2292_3
# 2292| m2292_7(unknown) = Chi : total:m2292_3, partial:m2292_6
# 2292| m2292_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2292_1
# 2292| m2292_9(unknown) = Chi : total:m2292_7, partial:m2292_8
# 2293| r2293_1(glval<bool>) = VariableAddress[b] :
# 2293| r2293_2(bool) = Load[b] : &:r2293_1, m2291_6
# 2293| v2293_3(void) = ConditionalBranch : r2293_2
#-----| False -> Block 2
#-----| True -> Block 1
# 2294| Block 1
# 2294| r2294_1(glval<String>) = VariableAddress[s2] :
# 2294| m2294_2(String) = Uninitialized[s2] : &:r2294_1
# 2294| m2294_3(unknown) = Chi : total:m2292_9, partial:m2294_2
# 2294| r2294_4(glval<unknown>) = FunctionAddress[String] :
# 2294| v2294_5(void) = Call[String] : func:r2294_4, this:r2294_1
# 2294| m2294_6(unknown) = ^CallSideEffect : ~m2294_3
# 2294| m2294_7(unknown) = Chi : total:m2294_3, partial:m2294_6
# 2294| m2294_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2294_1
# 2294| m2294_9(unknown) = Chi : total:m2294_7, partial:m2294_8
# 2295| r2295_1(glval<String>) = VariableAddress[s2] :
# 2295| r2295_2(glval<unknown>) = FunctionAddress[~String] :
# 2295| v2295_3(void) = Call[~String] : func:r2295_2, this:r2295_1
# 2295| m2295_4(unknown) = ^CallSideEffect : ~m2294_9
# 2295| m2295_5(unknown) = Chi : total:m2294_9, partial:m2295_4
# 2295| v2295_6(void) = ^IndirectReadSideEffect[-1] : &:r2295_1, ~m2295_5
# 2295| m2295_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2295_1
# 2295| m2295_8(unknown) = Chi : total:m2295_5, partial:m2295_7
#-----| Goto -> Block 3
# 2296| Block 2
# 2296| r2296_1(glval<String>) = VariableAddress[s3] :
# 2296| m2296_2(String) = Uninitialized[s3] : &:r2296_1
# 2296| m2296_3(unknown) = Chi : total:m2292_9, partial:m2296_2
# 2296| r2296_4(glval<unknown>) = FunctionAddress[String] :
# 2296| v2296_5(void) = Call[String] : func:r2296_4, this:r2296_1
# 2296| m2296_6(unknown) = ^CallSideEffect : ~m2296_3
# 2296| m2296_7(unknown) = Chi : total:m2296_3, partial:m2296_6
# 2296| m2296_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2296_1
# 2296| m2296_9(unknown) = Chi : total:m2296_7, partial:m2296_8
# 2297| r2297_1(glval<String>) = VariableAddress[s3] :
# 2297| r2297_2(glval<unknown>) = FunctionAddress[~String] :
# 2297| v2297_3(void) = Call[~String] : func:r2297_2, this:r2297_1
# 2297| m2297_4(unknown) = ^CallSideEffect : ~m2296_9
# 2297| m2297_5(unknown) = Chi : total:m2296_9, partial:m2297_4
# 2297| v2297_6(void) = ^IndirectReadSideEffect[-1] : &:r2297_1, ~m2297_5
# 2297| m2297_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_1
# 2297| m2297_8(unknown) = Chi : total:m2297_5, partial:m2297_7
#-----| Goto -> Block 3
# 2298| Block 3
# 2298| m2298_1(unknown) = Phi : from 1:~m2295_8, from 2:~m2297_8
# 2298| r2298_2(glval<String>) = VariableAddress[s4] :
# 2298| m2298_3(String) = Uninitialized[s4] : &:r2298_2
# 2298| m2298_4(unknown) = Chi : total:m2298_1, partial:m2298_3
# 2298| r2298_5(glval<unknown>) = FunctionAddress[String] :
# 2298| v2298_6(void) = Call[String] : func:r2298_5, this:r2298_2
# 2298| m2298_7(unknown) = ^CallSideEffect : ~m2298_4
# 2298| m2298_8(unknown) = Chi : total:m2298_4, partial:m2298_7
# 2298| m2298_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2298_2
# 2298| m2298_10(unknown) = Chi : total:m2298_8, partial:m2298_9
# 2299| v2299_1(void) = NoOp :
# 2299| r2299_2(glval<String>) = VariableAddress[s4] :
# 2299| r2299_3(glval<unknown>) = FunctionAddress[~String] :
# 2299| v2299_4(void) = Call[~String] : func:r2299_3, this:r2299_2
# 2299| m2299_5(unknown) = ^CallSideEffect : ~m2298_10
# 2299| m2299_6(unknown) = Chi : total:m2298_10, partial:m2299_5
# 2299| v2299_7(void) = ^IndirectReadSideEffect[-1] : &:r2299_2, ~m2299_6
# 2299| m2299_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2299_2
# 2299| m2299_9(unknown) = Chi : total:m2299_6, partial:m2299_8
# 2299| r2299_10(glval<String>) = VariableAddress[s1] :
# 2299| r2299_11(glval<unknown>) = FunctionAddress[~String] :
# 2299| v2299_12(void) = Call[~String] : func:r2299_11, this:r2299_10
# 2299| m2299_13(unknown) = ^CallSideEffect : ~m2299_9
# 2299| m2299_14(unknown) = Chi : total:m2299_9, partial:m2299_13
# 2299| v2299_15(void) = ^IndirectReadSideEffect[-1] : &:r2299_10, ~m2299_14
# 2299| m2299_16(String) = ^IndirectMayWriteSideEffect[-1] : &:r2299_10
# 2299| m2299_17(unknown) = Chi : total:m2299_14, partial:m2299_16
# 2291| v2291_7(void) = ReturnVoid :
# 2291| v2291_8(void) = AliasedUse : ~m2299_14
# 2291| v2291_9(void) = ExitFunction :
# 2301| void ForDestructors()
# 2301| Block 0
# 2301| v2301_1(void) = EnterFunction :
# 2301| m2301_2(unknown) = AliasedDefinition :
# 2301| m2301_3(unknown) = InitializeNonLocal :
# 2301| m2301_4(unknown) = Chi : total:m2301_2, partial:m2301_3
# 2302| r2302_1(glval<char>) = VariableAddress[c] :
# 2302| r2302_2(char) = Constant[97] :
# 2302| m2302_3(char) = Store[c] : &:r2302_1, r2302_2
# 2303| r2303_1(glval<String>) = VariableAddress[s] :
# 2303| m2303_2(String) = Uninitialized[s] : &:r2303_1
# 2303| m2303_3(unknown) = Chi : total:m2301_4, partial:m2303_2
# 2303| r2303_4(glval<unknown>) = FunctionAddress[String] :
# 2303| r2303_5(glval<char[6]>) = StringConstant["hello"] :
# 2303| r2303_6(char *) = Convert : r2303_5
# 2303| v2303_7(void) = Call[String] : func:r2303_4, this:r2303_1, 0:r2303_6
# 2303| m2303_8(unknown) = ^CallSideEffect : ~m2303_3
# 2303| m2303_9(unknown) = Chi : total:m2303_3, partial:m2303_8
# 2303| v2303_10(void) = ^BufferReadSideEffect[0] : &:r2303_6, ~m2301_3
# 2303| m2303_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_1
# 2303| m2303_12(unknown) = Chi : total:m2303_9, partial:m2303_11
#-----| Goto -> Block 1
# 2303| Block 1
# 2303| m2303_13(unknown) = Phi : from 0:~m2303_12, from 2:~m2303_28
# 2303| m2303_14(char) = Phi : from 0:m2302_3, from 2:m2303_30
# 2303| r2303_15(glval<char>) = VariableAddress[c] :
# 2303| r2303_16(char) = Load[c] : &:r2303_15, m2303_14
# 2303| r2303_17(int) = Convert : r2303_16
# 2303| r2303_18(int) = Constant[0] :
# 2303| r2303_19(bool) = CompareNE : r2303_17, r2303_18
# 2303| v2303_20(void) = ConditionalBranch : r2303_19
#-----| False -> Block 3
#-----| True -> Block 2
# 2304| Block 2
# 2304| r2304_1(glval<String>) = VariableAddress[s2] :
# 2304| m2304_2(String) = Uninitialized[s2] : &:r2304_1
# 2304| m2304_3(unknown) = Chi : total:m2303_13, partial:m2304_2
# 2304| r2304_4(glval<unknown>) = FunctionAddress[String] :
# 2304| v2304_5(void) = Call[String] : func:r2304_4, this:r2304_1
# 2304| m2304_6(unknown) = ^CallSideEffect : ~m2304_3
# 2304| m2304_7(unknown) = Chi : total:m2304_3, partial:m2304_6
# 2304| m2304_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_1
# 2304| m2304_9(unknown) = Chi : total:m2304_7, partial:m2304_8
# 2305| r2305_1(glval<String>) = VariableAddress[s2] :
# 2305| r2305_2(glval<unknown>) = FunctionAddress[~String] :
# 2305| v2305_3(void) = Call[~String] : func:r2305_2, this:r2305_1
# 2305| m2305_4(unknown) = ^CallSideEffect : ~m2304_9
# 2305| m2305_5(unknown) = Chi : total:m2304_9, partial:m2305_4
# 2305| v2305_6(void) = ^IndirectReadSideEffect[-1] : &:r2305_1, ~m2305_5
# 2305| m2305_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2305_1
# 2305| m2305_8(unknown) = Chi : total:m2305_5, partial:m2305_7
# 2303| r2303_21(glval<String>) = VariableAddress[s] :
# 2303| r2303_22(glval<unknown>) = FunctionAddress[pop_back] :
# 2303| r2303_23(char) = Call[pop_back] : func:r2303_22, this:r2303_21
# 2303| m2303_24(unknown) = ^CallSideEffect : ~m2305_8
# 2303| m2303_25(unknown) = Chi : total:m2305_8, partial:m2303_24
# 2303| v2303_26(void) = ^IndirectReadSideEffect[-1] : &:r2303_21, ~m2303_25
# 2303| m2303_27(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_21
# 2303| m2303_28(unknown) = Chi : total:m2303_25, partial:m2303_27
# 2303| r2303_29(glval<char>) = VariableAddress[c] :
# 2303| m2303_30(char) = Store[c] : &:r2303_29, r2303_23
#-----| Goto (back edge) -> Block 1
# 2303| Block 3
# 2303| r2303_31(glval<String>) = VariableAddress[s] :
# 2303| r2303_32(glval<unknown>) = FunctionAddress[~String] :
# 2303| v2303_33(void) = Call[~String] : func:r2303_32, this:r2303_31
# 2303| m2303_34(unknown) = ^CallSideEffect : ~m2303_13
# 2303| m2303_35(unknown) = Chi : total:m2303_13, partial:m2303_34
# 2303| v2303_36(void) = ^IndirectReadSideEffect[-1] : &:r2303_31, ~m2303_35
# 2303| m2303_37(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_31
# 2303| m2303_38(unknown) = Chi : total:m2303_35, partial:m2303_37
# 2307| r2307_1(glval<vector<String> &&>) = VariableAddress[(__range)] :
# 2307| r2307_2(glval<vector<String>>) = VariableAddress[#temp2307:20] :
# 2307| m2307_3(vector<String>) = Uninitialized[#temp2307:20] : &:r2307_2
# 2307| m2307_4(unknown) = Chi : total:m2303_38, partial:m2307_3
# 2307| r2307_5(glval<unknown>) = FunctionAddress[vector] :
# 2307| r2307_6(glval<String>) = VariableAddress[#temp2307:40] :
# 2307| m2307_7(String) = Uninitialized[#temp2307:40] : &:r2307_6
# 2307| m2307_8(unknown) = Chi : total:m2307_4, partial:m2307_7
# 2307| r2307_9(glval<unknown>) = FunctionAddress[String] :
# 2307| r2307_10(glval<char[6]>) = StringConstant["hello"] :
# 2307| r2307_11(char *) = Convert : r2307_10
# 2307| v2307_12(void) = Call[String] : func:r2307_9, this:r2307_6, 0:r2307_11
# 2307| m2307_13(unknown) = ^CallSideEffect : ~m2307_8
# 2307| m2307_14(unknown) = Chi : total:m2307_8, partial:m2307_13
# 2307| v2307_15(void) = ^BufferReadSideEffect[0] : &:r2307_11, ~m2301_3
# 2307| m2307_16(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_6
# 2307| m2307_17(unknown) = Chi : total:m2307_14, partial:m2307_16
# 2307| r2307_18(String) = Load[#temp2307:40] : &:r2307_6, ~m2307_17
# 2307| v2307_19(void) = Call[vector] : func:r2307_5, this:r2307_2, 0:r2307_18
# 2307| m2307_20(unknown) = ^CallSideEffect : ~m2307_17
# 2307| m2307_21(unknown) = Chi : total:m2307_17, partial:m2307_20
# 2307| m2307_22(vector<String>) = ^IndirectMayWriteSideEffect[-1] : &:r2307_2
# 2307| m2307_23(unknown) = Chi : total:m2307_21, partial:m2307_22
# 2307| r2307_24(glval<String>) = CopyValue : r2307_6
# 2307| r2307_25(glval<unknown>) = FunctionAddress[~String] :
# 2307| v2307_26(void) = Call[~String] : func:r2307_25, this:r2307_24
# 2307| m2307_27(unknown) = ^CallSideEffect : ~m2307_23
# 2307| m2307_28(unknown) = Chi : total:m2307_23, partial:m2307_27
# 2307| v2307_29(void) = ^IndirectReadSideEffect[-1] : &:r2307_24, ~m2307_28
# 2307| m2307_30(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_24
# 2307| m2307_31(unknown) = Chi : total:m2307_28, partial:m2307_30
# 2307| r2307_32(vector<String> &) = CopyValue : r2307_2
# 2307| m2307_33(vector<String> &&) = Store[(__range)] : &:r2307_1, r2307_32
# 2307| r2307_34(glval<iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>>) = VariableAddress[(__begin)] :
# 2307| r2307_35(glval<vector<String> &&>) = VariableAddress[(__range)] :
# 2307| r2307_36(vector<String> &&) = Load[(__range)] : &:r2307_35, m2307_33
#-----| r0_1(glval<vector<String>>) = CopyValue : r2307_36
#-----| r0_2(glval<vector<String>>) = Convert : r0_1
# 2307| r2307_37(glval<unknown>) = FunctionAddress[begin] :
# 2307| r2307_38(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>) = Call[begin] : func:r2307_37, this:r0_2
#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m2307_28
# 2307| m2307_39(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>) = Store[(__begin)] : &:r2307_34, r2307_38
# 2307| r2307_40(glval<iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>>) = VariableAddress[(__end)] :
# 2307| r2307_41(glval<vector<String> &&>) = VariableAddress[(__range)] :
# 2307| r2307_42(vector<String> &&) = Load[(__range)] : &:r2307_41, m2307_33
#-----| r0_4(glval<vector<String>>) = CopyValue : r2307_42
#-----| r0_5(glval<vector<String>>) = Convert : r0_4
# 2307| r2307_43(glval<unknown>) = FunctionAddress[end] :
# 2307| r2307_44(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>) = Call[end] : func:r2307_43, this:r0_5
#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m2307_28
# 2307| m2307_45(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>) = Store[(__end)] : &:r2307_40, r2307_44
# 2307| m2307_46(unknown) = Chi : total:m2307_31, partial:m2307_45
#-----| Goto -> Block 4
# 2307| Block 4
# 2307| m2307_47(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>) = Phi : from 3:m2307_39, from 5:m2307_81
# 2307| m2307_48(unknown) = Phi : from 3:~m2307_46, from 5:~m2307_89
# 2307| r2307_49(glval<iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>>) = VariableAddress[(__begin)] :
#-----| r0_7(glval<iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>>) = Convert : r2307_49
# 2307| r2307_50(glval<unknown>) = FunctionAddress[operator!=] :
#-----| r0_8(glval<iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>>) = VariableAddress[#temp0:0] :
#-----| m0_9(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>) = Uninitialized[#temp0:0] : &:r0_8
#-----| m0_10(unknown) = Chi : total:m2307_48, partial:m0_9
# 2307| r2307_51(glval<unknown>) = FunctionAddress[iterator] :
# 2307| r2307_52(glval<iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>>) = VariableAddress[(__end)] :
#-----| r0_11(glval<iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>>) = Convert : r2307_52
#-----| r0_12(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &> &) = CopyValue : r0_11
# 2307| v2307_53(void) = Call[iterator] : func:r2307_51, this:r0_8, 0:r0_12
# 2307| m2307_54(unknown) = ^CallSideEffect : ~m0_10
# 2307| m2307_55(unknown) = Chi : total:m0_10, partial:m2307_54
#-----| v0_13(void) = ^BufferReadSideEffect[0] : &:r0_12, ~m2307_55
# 2307| m2307_56(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>) = ^IndirectMayWriteSideEffect[-1] : &:r0_8
# 2307| m2307_57(unknown) = Chi : total:m2307_55, partial:m2307_56
#-----| r0_14(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>) = Load[#temp0:0] : &:r0_8, ~m2307_57
# 2307| r2307_58(bool) = Call[operator!=] : func:r2307_50, this:r0_7, 0:r0_14
#-----| v0_15(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2307_47
# 2307| v2307_59(void) = ConditionalBranch : r2307_58
#-----| False -> Block 6
#-----| True -> Block 5
# 2307| Block 5
# 2307| r2307_60(glval<String>) = VariableAddress[s] :
# 2307| m2307_61(String) = Uninitialized[s] : &:r2307_60
# 2307| m2307_62(unknown) = Chi : total:m2307_57, partial:m2307_61
# 2307| r2307_63(glval<unknown>) = FunctionAddress[String] :
# 2307| r2307_64(glval<iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>>) = VariableAddress[(__begin)] :
#-----| r0_16(glval<iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>>) = Convert : r2307_64
# 2307| r2307_65(glval<unknown>) = FunctionAddress[operator*] :
# 2307| r2307_66(String &) = Call[operator*] : func:r2307_65, this:r0_16
#-----| v0_17(void) = ^IndirectReadSideEffect[-1] : &:r0_16, m2307_47
# 2307| r2307_67(glval<String>) = CopyValue : r2307_66
# 2307| r2307_68(glval<String>) = Convert : r2307_67
# 2307| r2307_69(String &) = CopyValue : r2307_68
# 2307| v2307_70(void) = Call[String] : func:r2307_63, this:r2307_60, 0:r2307_69
# 2307| m2307_71(unknown) = ^CallSideEffect : ~m2307_62
# 2307| m2307_72(unknown) = Chi : total:m2307_62, partial:m2307_71
# 2307| v2307_73(void) = ^BufferReadSideEffect[0] : &:r2307_69, ~m2307_72
# 2307| m2307_74(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_60
# 2307| m2307_75(unknown) = Chi : total:m2307_72, partial:m2307_74
# 2308| r2308_1(glval<String>) = VariableAddress[s2] :
# 2308| m2308_2(String) = Uninitialized[s2] : &:r2308_1
# 2308| m2308_3(unknown) = Chi : total:m2307_75, partial:m2308_2
# 2308| r2308_4(glval<unknown>) = FunctionAddress[String] :
# 2308| v2308_5(void) = Call[String] : func:r2308_4, this:r2308_1
# 2308| m2308_6(unknown) = ^CallSideEffect : ~m2308_3
# 2308| m2308_7(unknown) = Chi : total:m2308_3, partial:m2308_6
# 2308| m2308_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2308_1
# 2308| m2308_9(unknown) = Chi : total:m2308_7, partial:m2308_8
# 2309| r2309_1(glval<String>) = VariableAddress[s2] :
# 2309| r2309_2(glval<unknown>) = FunctionAddress[~String] :
# 2309| v2309_3(void) = Call[~String] : func:r2309_2, this:r2309_1
# 2309| m2309_4(unknown) = ^CallSideEffect : ~m2308_9
# 2309| m2309_5(unknown) = Chi : total:m2308_9, partial:m2309_4
# 2309| v2309_6(void) = ^IndirectReadSideEffect[-1] : &:r2309_1, ~m2309_5
# 2309| m2309_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2309_1
# 2309| m2309_8(unknown) = Chi : total:m2309_5, partial:m2309_7
# 2307| r2307_76(glval<iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>>) = VariableAddress[(__begin)] :
# 2307| r2307_77(glval<unknown>) = FunctionAddress[operator++] :
# 2307| r2307_78(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &> &) = Call[operator++] : func:r2307_77, this:r2307_76
# 2307| v2307_79(void) = ^IndirectReadSideEffect[-1] : &:r2307_76, m2307_47
# 2307| m2307_80(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>) = ^IndirectMayWriteSideEffect[-1] : &:r2307_76
# 2307| m2307_81(iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>) = Chi : total:m2307_47, partial:m2307_80
# 2307| r2307_82(glval<String>) = VariableAddress[s] :
# 2307| r2307_83(glval<unknown>) = FunctionAddress[~String] :
# 2307| v2307_84(void) = Call[~String] : func:r2307_83, this:r2307_82
# 2307| m2307_85(unknown) = ^CallSideEffect : ~m2309_8
# 2307| m2307_86(unknown) = Chi : total:m2309_8, partial:m2307_85
# 2307| v2307_87(void) = ^IndirectReadSideEffect[-1] : &:r2307_82, ~m2307_86
# 2307| m2307_88(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_82
# 2307| m2307_89(unknown) = Chi : total:m2307_86, partial:m2307_88
# 2307| r2307_90(glval<iterator<random_access_iterator_tag, String, ptrdiff_t, String *, String &>>) = CopyValue : r2307_78
#-----| Goto (back edge) -> Block 4
# 2311| Block 6
# 2311| r2311_1(glval<String>) = VariableAddress[s] :
# 2311| m2311_2(String) = Uninitialized[s] : &:r2311_1
# 2311| m2311_3(unknown) = Chi : total:m2307_57, partial:m2311_2
# 2311| r2311_4(glval<unknown>) = FunctionAddress[String] :
# 2311| r2311_5(glval<char[6]>) = StringConstant["hello"] :
# 2311| r2311_6(char *) = Convert : r2311_5
# 2311| v2311_7(void) = Call[String] : func:r2311_4, this:r2311_1, 0:r2311_6
# 2311| m2311_8(unknown) = ^CallSideEffect : ~m2311_3
# 2311| m2311_9(unknown) = Chi : total:m2311_3, partial:m2311_8
# 2311| v2311_10(void) = ^BufferReadSideEffect[0] : &:r2311_6, ~m2301_3
# 2311| m2311_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_1
# 2311| m2311_12(unknown) = Chi : total:m2311_9, partial:m2311_11
# 2311| r2311_13(glval<String>) = VariableAddress[s2] :
# 2311| m2311_14(String) = Uninitialized[s2] : &:r2311_13
# 2311| m2311_15(unknown) = Chi : total:m2311_12, partial:m2311_14
# 2311| r2311_16(glval<unknown>) = FunctionAddress[String] :
# 2311| r2311_17(glval<char[6]>) = StringConstant["world"] :
# 2311| r2311_18(char *) = Convert : r2311_17
# 2311| v2311_19(void) = Call[String] : func:r2311_16, this:r2311_13, 0:r2311_18
# 2311| m2311_20(unknown) = ^CallSideEffect : ~m2311_15
# 2311| m2311_21(unknown) = Chi : total:m2311_15, partial:m2311_20
# 2311| v2311_22(void) = ^BufferReadSideEffect[0] : &:r2311_18, ~m2301_3
# 2311| m2311_23(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_13
# 2311| m2311_24(unknown) = Chi : total:m2311_21, partial:m2311_23
#-----| Goto -> Block 7
# 2311| Block 7
# 2311| m2311_25(unknown) = Phi : from 6:~m2311_24, from 8:~m2311_40
# 2311| m2311_26(char) = Phi : from 6:m2303_14, from 8:m2311_42
# 2311| r2311_27(glval<char>) = VariableAddress[c] :
# 2311| r2311_28(char) = Load[c] : &:r2311_27, m2311_26
# 2311| r2311_29(int) = Convert : r2311_28
# 2311| r2311_30(int) = Constant[0] :
# 2311| r2311_31(bool) = CompareNE : r2311_29, r2311_30
# 2311| v2311_32(void) = ConditionalBranch : r2311_31
#-----| False -> Block 9
#-----| True -> Block 8
# 2312| Block 8
# 2312| r2312_1(char) = Constant[0] :
# 2312| r2312_2(glval<char>) = VariableAddress[c] :
# 2312| m2312_3(char) = Store[c] : &:r2312_2, r2312_1
# 2311| r2311_33(glval<String>) = VariableAddress[s] :
# 2311| r2311_34(glval<unknown>) = FunctionAddress[pop_back] :
# 2311| r2311_35(char) = Call[pop_back] : func:r2311_34, this:r2311_33
# 2311| m2311_36(unknown) = ^CallSideEffect : ~m2311_25
# 2311| m2311_37(unknown) = Chi : total:m2311_25, partial:m2311_36
# 2311| v2311_38(void) = ^IndirectReadSideEffect[-1] : &:r2311_33, ~m2311_37
# 2311| m2311_39(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_33
# 2311| m2311_40(unknown) = Chi : total:m2311_37, partial:m2311_39
# 2311| r2311_41(glval<char>) = VariableAddress[c] :
# 2311| m2311_42(char) = Store[c] : &:r2311_41, r2311_35
#-----| Goto (back edge) -> Block 7
# 2311| Block 9
# 2311| r2311_43(glval<String>) = VariableAddress[s2] :
# 2311| r2311_44(glval<unknown>) = FunctionAddress[~String] :
# 2311| v2311_45(void) = Call[~String] : func:r2311_44, this:r2311_43
# 2311| m2311_46(unknown) = ^CallSideEffect : ~m2311_25
# 2311| m2311_47(unknown) = Chi : total:m2311_25, partial:m2311_46
# 2311| v2311_48(void) = ^IndirectReadSideEffect[-1] : &:r2311_43, ~m2311_47
# 2311| m2311_49(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_43
# 2311| m2311_50(unknown) = Chi : total:m2311_47, partial:m2311_49
# 2311| r2311_51(glval<String>) = VariableAddress[s] :
# 2311| r2311_52(glval<unknown>) = FunctionAddress[~String] :
# 2311| v2311_53(void) = Call[~String] : func:r2311_52, this:r2311_51
# 2311| m2311_54(unknown) = ^CallSideEffect : ~m2311_50
# 2311| m2311_55(unknown) = Chi : total:m2311_50, partial:m2311_54
# 2311| v2311_56(void) = ^IndirectReadSideEffect[-1] : &:r2311_51, ~m2311_55
# 2311| m2311_57(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_51
# 2311| m2311_58(unknown) = Chi : total:m2311_55, partial:m2311_57
# 2314| v2314_1(void) = NoOp :
# 2301| v2301_5(void) = ReturnVoid :
# 2301| v2301_6(void) = AliasedUse : ~m2311_55
# 2301| v2301_7(void) = ExitFunction :
# 2316| void IfDestructors2(bool)
# 2316| Block 0
# 2316| v2316_1(void) = EnterFunction :
# 2316| m2316_2(unknown) = AliasedDefinition :
# 2316| m2316_3(unknown) = InitializeNonLocal :
# 2316| m2316_4(unknown) = Chi : total:m2316_2, partial:m2316_3
# 2316| r2316_5(glval<bool>) = VariableAddress[b] :
# 2316| m2316_6(bool) = InitializeParameter[b] : &:r2316_5
# 2317| r2317_1(glval<String>) = VariableAddress[s] :
# 2317| m2317_2(String) = Uninitialized[s] : &:r2317_1
# 2317| m2317_3(unknown) = Chi : total:m2316_4, partial:m2317_2
# 2317| r2317_4(glval<unknown>) = FunctionAddress[String] :
# 2317| r2317_5(glval<char[6]>) = StringConstant["hello"] :
# 2317| r2317_6(char *) = Convert : r2317_5
# 2317| v2317_7(void) = Call[String] : func:r2317_4, this:r2317_1, 0:r2317_6
# 2317| m2317_8(unknown) = ^CallSideEffect : ~m2317_3
# 2317| m2317_9(unknown) = Chi : total:m2317_3, partial:m2317_8
# 2317| v2317_10(void) = ^BufferReadSideEffect[0] : &:r2317_6, ~m2316_3
# 2317| m2317_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r2317_1
# 2317| m2317_12(unknown) = Chi : total:m2317_9, partial:m2317_11
# 2317| r2317_13(glval<bool>) = VariableAddress[b] :
# 2317| r2317_14(bool) = Load[b] : &:r2317_13, m2316_6
# 2317| v2317_15(void) = ConditionalBranch : r2317_14
#-----| False -> Block 2
#-----| True -> Block 1
# 2318| Block 1
# 2318| r2318_1(glval<int>) = VariableAddress[x] :
# 2318| r2318_2(int) = Constant[0] :
# 2318| m2318_3(int) = Store[x] : &:r2318_1, r2318_2
#-----| Goto -> Block 3
# 2320| Block 2
# 2320| r2320_1(glval<int>) = VariableAddress[y] :
# 2320| r2320_2(int) = Constant[0] :
# 2320| m2320_3(int) = Store[y] : &:r2320_1, r2320_2
#-----| Goto -> Block 3
# 2321| Block 3
# 2321| r2321_1(glval<String>) = VariableAddress[s] :
# 2321| r2321_2(glval<unknown>) = FunctionAddress[~String] :
# 2321| v2321_3(void) = Call[~String] : func:r2321_2, this:r2321_1
# 2321| m2321_4(unknown) = ^CallSideEffect : ~m2317_12
# 2321| m2321_5(unknown) = Chi : total:m2317_12, partial:m2321_4
# 2321| v2321_6(void) = ^IndirectReadSideEffect[-1] : &:r2321_1, ~m2321_5
# 2321| m2321_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2321_1
# 2321| m2321_8(unknown) = Chi : total:m2321_5, partial:m2321_7
# 2322| v2322_1(void) = NoOp :
# 2316| v2316_7(void) = ReturnVoid :
# 2316| v2316_8(void) = AliasedUse : ~m2321_5
# 2316| v2316_9(void) = ExitFunction :
# 2331| void IfDestructors3(bool)
# 2331| Block 0
# 2331| v2331_1(void) = EnterFunction :
# 2331| m2331_2(unknown) = AliasedDefinition :
# 2331| m2331_3(unknown) = InitializeNonLocal :
# 2331| m2331_4(unknown) = Chi : total:m2331_2, partial:m2331_3
# 2331| r2331_5(glval<bool>) = VariableAddress[b] :
# 2331| m2331_6(bool) = InitializeParameter[b] : &:r2331_5
# 2332| r2332_1(glval<Bool>) = VariableAddress[B] :
# 2332| m2332_2(Bool) = Uninitialized[B] : &:r2332_1
# 2332| m2332_3(unknown) = Chi : total:m2331_4, partial:m2332_2
# 2332| r2332_4(glval<unknown>) = FunctionAddress[Bool] :
# 2332| r2332_5(glval<bool>) = VariableAddress[b] :
# 2332| r2332_6(bool) = Load[b] : &:r2332_5, m2331_6
# 2332| v2332_7(void) = Call[Bool] : func:r2332_4, this:r2332_1, 0:r2332_6
# 2332| m2332_8(unknown) = ^CallSideEffect : ~m2332_3
# 2332| m2332_9(unknown) = Chi : total:m2332_3, partial:m2332_8
# 2332| m2332_10(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2332_1
# 2332| m2332_11(unknown) = Chi : total:m2332_9, partial:m2332_10
# 2332| r2332_12(glval<Bool>) = VariableAddress[B] :
# 2332| r2332_13(glval<unknown>) = FunctionAddress[operator bool] :
# 2332| r2332_14(bool) = Call[operator bool] : func:r2332_13, this:r2332_12
# 2332| m2332_15(unknown) = ^CallSideEffect : ~m2332_11
# 2332| m2332_16(unknown) = Chi : total:m2332_11, partial:m2332_15
# 2332| v2332_17(void) = ^IndirectReadSideEffect[-1] : &:r2332_12, ~m2332_16
# 2332| m2332_18(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2332_12
# 2332| m2332_19(unknown) = Chi : total:m2332_16, partial:m2332_18
# 2332| r2332_20(bool) = CopyValue : r2332_14
# 2332| v2332_21(void) = ConditionalBranch : r2332_20
#-----| False -> Block 2
#-----| True -> Block 1
# 2333| Block 1
# 2333| r2333_1(glval<String>) = VariableAddress[s1] :
# 2333| m2333_2(String) = Uninitialized[s1] : &:r2333_1
# 2333| m2333_3(unknown) = Chi : total:m2332_19, partial:m2333_2
# 2333| r2333_4(glval<unknown>) = FunctionAddress[String] :
# 2333| v2333_5(void) = Call[String] : func:r2333_4, this:r2333_1
# 2333| m2333_6(unknown) = ^CallSideEffect : ~m2333_3
# 2333| m2333_7(unknown) = Chi : total:m2333_3, partial:m2333_6
# 2333| m2333_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2333_1
# 2333| m2333_9(unknown) = Chi : total:m2333_7, partial:m2333_8
# 2334| r2334_1(glval<String>) = VariableAddress[s1] :
# 2334| r2334_2(glval<unknown>) = FunctionAddress[~String] :
# 2334| v2334_3(void) = Call[~String] : func:r2334_2, this:r2334_1
# 2334| m2334_4(unknown) = ^CallSideEffect : ~m2333_9
# 2334| m2334_5(unknown) = Chi : total:m2333_9, partial:m2334_4
# 2334| v2334_6(void) = ^IndirectReadSideEffect[-1] : &:r2334_1, ~m2334_5
# 2334| m2334_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2334_1
# 2334| m2334_8(unknown) = Chi : total:m2334_5, partial:m2334_7
#-----| Goto -> Block 3
# 2335| Block 2
# 2335| r2335_1(glval<String>) = VariableAddress[s2] :
# 2335| m2335_2(String) = Uninitialized[s2] : &:r2335_1
# 2335| m2335_3(unknown) = Chi : total:m2332_19, partial:m2335_2
# 2335| r2335_4(glval<unknown>) = FunctionAddress[String] :
# 2335| v2335_5(void) = Call[String] : func:r2335_4, this:r2335_1
# 2335| m2335_6(unknown) = ^CallSideEffect : ~m2335_3
# 2335| m2335_7(unknown) = Chi : total:m2335_3, partial:m2335_6
# 2335| m2335_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2335_1
# 2335| m2335_9(unknown) = Chi : total:m2335_7, partial:m2335_8
# 2336| r2336_1(glval<String>) = VariableAddress[s2] :
# 2336| r2336_2(glval<unknown>) = FunctionAddress[~String] :
# 2336| v2336_3(void) = Call[~String] : func:r2336_2, this:r2336_1
# 2336| m2336_4(unknown) = ^CallSideEffect : ~m2335_9
# 2336| m2336_5(unknown) = Chi : total:m2335_9, partial:m2336_4
# 2336| v2336_6(void) = ^IndirectReadSideEffect[-1] : &:r2336_1, ~m2336_5
# 2336| m2336_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2336_1
# 2336| m2336_8(unknown) = Chi : total:m2336_5, partial:m2336_7
#-----| Goto -> Block 3
# 2336| Block 3
# 2336| m2336_9(unknown) = Phi : from 1:~m2334_8, from 2:~m2336_8
# 2336| r2336_10(glval<Bool>) = VariableAddress[B] :
# 2336| r2336_11(glval<unknown>) = FunctionAddress[~Bool] :
# 2336| v2336_12(void) = Call[~Bool] : func:r2336_11, this:r2336_10
# 2336| m2336_13(unknown) = ^CallSideEffect : ~m2336_9
# 2336| m2336_14(unknown) = Chi : total:m2336_9, partial:m2336_13
# 2336| v2336_15(void) = ^IndirectReadSideEffect[-1] : &:r2336_10, ~m2336_14
# 2336| m2336_16(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_10
# 2336| m2336_17(unknown) = Chi : total:m2336_14, partial:m2336_16
# 2337| v2337_1(void) = NoOp :
# 2331| v2331_7(void) = ReturnVoid :
# 2331| v2331_8(void) = AliasedUse : ~m2336_14
# 2331| v2331_9(void) = ExitFunction :
# 2339| void WhileLoopDestructors(bool)
# 2339| Block 0
# 2339| v2339_1(void) = EnterFunction :
# 2339| m2339_2(unknown) = AliasedDefinition :
# 2339| m2339_3(unknown) = InitializeNonLocal :
# 2339| m2339_4(unknown) = Chi : total:m2339_2, partial:m2339_3
# 2339| r2339_5(glval<bool>) = VariableAddress[b] :
# 2339| m2339_6(bool) = InitializeParameter[b] : &:r2339_5
# 2341| r2341_1(glval<String>) = VariableAddress[s] :
# 2341| m2341_2(String) = Uninitialized[s] : &:r2341_1
# 2341| m2341_3(unknown) = Chi : total:m2339_4, partial:m2341_2
# 2341| r2341_4(glval<unknown>) = FunctionAddress[String] :
# 2341| v2341_5(void) = Call[String] : func:r2341_4, this:r2341_1
# 2341| m2341_6(unknown) = ^CallSideEffect : ~m2341_3
# 2341| m2341_7(unknown) = Chi : total:m2341_3, partial:m2341_6
# 2341| m2341_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2341_1
# 2341| m2341_9(unknown) = Chi : total:m2341_7, partial:m2341_8
#-----| Goto -> Block 1
# 2342| Block 1
# 2342| m2342_1(bool) = Phi : from 0:m2339_6, from 2:m2343_3
# 2342| r2342_2(glval<bool>) = VariableAddress[b] :
# 2342| r2342_3(bool) = Load[b] : &:r2342_2, m2342_1
# 2342| v2342_4(void) = ConditionalBranch : r2342_3
#-----| False -> Block 3
#-----| True -> Block 2
# 2343| Block 2
# 2343| r2343_1(bool) = Constant[0] :
# 2343| r2343_2(glval<bool>) = VariableAddress[b] :
# 2343| m2343_3(bool) = Store[b] : &:r2343_2, r2343_1
#-----| Goto (back edge) -> Block 1
# 2345| Block 3
# 2345| r2345_1(glval<String>) = VariableAddress[s] :
# 2345| r2345_2(glval<unknown>) = FunctionAddress[~String] :
# 2345| v2345_3(void) = Call[~String] : func:r2345_2, this:r2345_1
# 2345| m2345_4(unknown) = ^CallSideEffect : ~m2341_9
# 2345| m2345_5(unknown) = Chi : total:m2341_9, partial:m2345_4
# 2345| v2345_6(void) = ^IndirectReadSideEffect[-1] : &:r2345_1, ~m2345_5
# 2345| m2345_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2345_1
# 2345| m2345_8(unknown) = Chi : total:m2345_5, partial:m2345_7
#-----| Goto -> Block 4
# 2348| Block 4
# 2348| m2348_1(unknown) = Phi : from 3:~m2345_8, from 5:~m2350_8
# 2348| m2348_2(bool) = Phi : from 3:m2342_1, from 5:m2349_3
# 2348| r2348_3(glval<Bool>) = VariableAddress[B] :
# 2348| m2348_4(Bool) = Uninitialized[B] : &:r2348_3
# 2348| m2348_5(unknown) = Chi : total:m2348_1, partial:m2348_4
# 2348| r2348_6(glval<unknown>) = FunctionAddress[Bool] :
# 2348| r2348_7(glval<bool>) = VariableAddress[b] :
# 2348| r2348_8(bool) = Load[b] : &:r2348_7, m2348_2
# 2348| v2348_9(void) = Call[Bool] : func:r2348_6, this:r2348_3, 0:r2348_8
# 2348| m2348_10(unknown) = ^CallSideEffect : ~m2348_5
# 2348| m2348_11(unknown) = Chi : total:m2348_5, partial:m2348_10
# 2348| m2348_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2348_3
# 2348| m2348_13(unknown) = Chi : total:m2348_11, partial:m2348_12
# 2348| r2348_14(glval<Bool>) = VariableAddress[B] :
# 2348| r2348_15(glval<unknown>) = FunctionAddress[operator bool] :
# 2348| r2348_16(bool) = Call[operator bool] : func:r2348_15, this:r2348_14
# 2348| m2348_17(unknown) = ^CallSideEffect : ~m2348_13
# 2348| m2348_18(unknown) = Chi : total:m2348_13, partial:m2348_17
# 2348| v2348_19(void) = ^IndirectReadSideEffect[-1] : &:r2348_14, ~m2348_18
# 2348| m2348_20(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2348_14
# 2348| m2348_21(unknown) = Chi : total:m2348_18, partial:m2348_20
# 2348| r2348_22(bool) = CopyValue : r2348_16
# 2348| v2348_23(void) = ConditionalBranch : r2348_22
#-----| False -> Block 6
#-----| True -> Block 5
# 2349| Block 5
# 2349| r2349_1(bool) = Constant[0] :
# 2349| r2349_2(glval<bool>) = VariableAddress[b] :
# 2349| m2349_3(bool) = Store[b] : &:r2349_2, r2349_1
# 2350| r2350_1(glval<Bool>) = VariableAddress[B] :
# 2350| r2350_2(glval<unknown>) = FunctionAddress[~Bool] :
# 2350| v2350_3(void) = Call[~Bool] : func:r2350_2, this:r2350_1
# 2350| m2350_4(unknown) = ^CallSideEffect : ~m2348_21
# 2350| m2350_5(unknown) = Chi : total:m2348_21, partial:m2350_4
# 2350| v2350_6(void) = ^IndirectReadSideEffect[-1] : &:r2350_1, ~m2350_5
# 2350| m2350_7(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2350_1
# 2350| m2350_8(unknown) = Chi : total:m2350_5, partial:m2350_7
#-----| Goto (back edge) -> Block 4
# 2350| Block 6
# 2350| r2350_9(glval<Bool>) = VariableAddress[B] :
# 2350| r2350_10(glval<unknown>) = FunctionAddress[~Bool] :
# 2350| v2350_11(void) = Call[~Bool] : func:r2350_10, this:r2350_9
# 2350| m2350_12(unknown) = ^CallSideEffect : ~m2348_21
# 2350| m2350_13(unknown) = Chi : total:m2348_21, partial:m2350_12
# 2350| v2350_14(void) = ^IndirectReadSideEffect[-1] : &:r2350_9, ~m2350_13
# 2350| m2350_15(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2350_9
# 2350| m2350_16(unknown) = Chi : total:m2350_13, partial:m2350_15
# 2352| v2352_1(void) = NoOp :
# 2339| v2339_7(void) = ReturnVoid :
# 2339| v2339_8(void) = AliasedUse : ~m2350_13
# 2339| v2339_9(void) = ExitFunction :
# 2354| void VoidFunc()
# 2354| Block 0
# 2354| v2354_1(void) = EnterFunction :
# 2354| m2354_2(unknown) = AliasedDefinition :
# 2354| m2354_3(unknown) = InitializeNonLocal :
# 2354| m2354_4(unknown) = Chi : total:m2354_2, partial:m2354_3
# 2354| v2354_5(void) = NoOp :
# 2354| v2354_6(void) = ReturnVoid :
# 2354| v2354_7(void) = AliasedUse : m2354_3
# 2354| v2354_8(void) = ExitFunction :
# 2356| void IfReturnDestructors(bool)
# 2356| Block 0
# 2356| v2356_1(void) = EnterFunction :
# 2356| m2356_2(unknown) = AliasedDefinition :
# 2356| m2356_3(unknown) = InitializeNonLocal :
# 2356| m2356_4(unknown) = Chi : total:m2356_2, partial:m2356_3
# 2356| r2356_5(glval<bool>) = VariableAddress[b] :
# 2356| m2356_6(bool) = InitializeParameter[b] : &:r2356_5
# 2357| r2357_1(glval<String>) = VariableAddress[s] :
# 2357| m2357_2(String) = Uninitialized[s] : &:r2357_1
# 2357| m2357_3(unknown) = Chi : total:m2356_4, partial:m2357_2
# 2357| r2357_4(glval<unknown>) = FunctionAddress[String] :
# 2357| v2357_5(void) = Call[String] : func:r2357_4, this:r2357_1
# 2357| m2357_6(unknown) = ^CallSideEffect : ~m2357_3
# 2357| m2357_7(unknown) = Chi : total:m2357_3, partial:m2357_6
# 2357| m2357_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2357_1
# 2357| m2357_9(unknown) = Chi : total:m2357_7, partial:m2357_8
# 2358| r2358_1(glval<bool>) = VariableAddress[b] :
# 2358| r2358_2(bool) = Load[b] : &:r2358_1, m2356_6
# 2358| v2358_3(void) = ConditionalBranch : r2358_2
#-----| False -> Block 3
#-----| True -> Block 2
# 2356| Block 1
# 2356| m2356_7(unknown) = Phi : from 2:~m2365_8, from 4:~m2365_16, from 5:~m2365_25
# 2356| v2356_8(void) = ReturnVoid :
# 2356| v2356_9(void) = AliasedUse : ~m2356_7
# 2356| v2356_10(void) = ExitFunction :
# 2359| Block 2
# 2359| v2359_1(void) = NoOp :
# 2365| r2365_1(glval<String>) = VariableAddress[s] :
# 2365| r2365_2(glval<unknown>) = FunctionAddress[~String] :
# 2365| v2365_3(void) = Call[~String] : func:r2365_2, this:r2365_1
# 2365| m2365_4(unknown) = ^CallSideEffect : ~m2357_9
# 2365| m2365_5(unknown) = Chi : total:m2357_9, partial:m2365_4
# 2365| v2365_6(void) = ^IndirectReadSideEffect[-1] : &:r2365_1, ~m2365_5
# 2365| m2365_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2365_1
# 2365| m2365_8(unknown) = Chi : total:m2365_5, partial:m2365_7
#-----| Goto -> Block 1
# 2361| Block 3
# 2361| r2361_1(glval<bool>) = VariableAddress[b] :
# 2361| r2361_2(bool) = Load[b] : &:r2361_1, m2356_6
# 2361| v2361_3(void) = ConditionalBranch : r2361_2
#-----| False -> Block 5
#-----| True -> Block 4
# 2362| Block 4
# 2362| r2362_1(glval<unknown>) = FunctionAddress[VoidFunc] :
# 2362| v2362_2(void) = Call[VoidFunc] : func:r2362_1
# 2362| m2362_3(unknown) = ^CallSideEffect : ~m2357_9
# 2362| m2362_4(unknown) = Chi : total:m2357_9, partial:m2362_3
# 2362| v2362_5(void) = NoOp :
# 2365| r2365_9(glval<String>) = VariableAddress[s] :
# 2365| r2365_10(glval<unknown>) = FunctionAddress[~String] :
# 2365| v2365_11(void) = Call[~String] : func:r2365_10, this:r2365_9
# 2365| m2365_12(unknown) = ^CallSideEffect : ~m2362_4
# 2365| m2365_13(unknown) = Chi : total:m2362_4, partial:m2365_12
# 2365| v2365_14(void) = ^IndirectReadSideEffect[-1] : &:r2365_9, ~m2365_13
# 2365| m2365_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2365_9
# 2365| m2365_16(unknown) = Chi : total:m2365_13, partial:m2365_15
#-----| Goto -> Block 1
# 2364| Block 5
# 2364| r2364_1(glval<String>) = VariableAddress[s] :
# 2365| v2365_17(void) = NoOp :
# 2365| r2365_18(glval<String>) = VariableAddress[s] :
# 2365| r2365_19(glval<unknown>) = FunctionAddress[~String] :
# 2365| v2365_20(void) = Call[~String] : func:r2365_19, this:r2365_18
# 2365| m2365_21(unknown) = ^CallSideEffect : ~m2357_9
# 2365| m2365_22(unknown) = Chi : total:m2357_9, partial:m2365_21
# 2365| v2365_23(void) = ^IndirectReadSideEffect[-1] : &:r2365_18, ~m2365_22
# 2365| m2365_24(String) = ^IndirectMayWriteSideEffect[-1] : &:r2365_18
# 2365| m2365_25(unknown) = Chi : total:m2365_22, partial:m2365_24
#-----| Goto -> Block 1
# 2367| int IfReturnDestructors3(bool)
# 2367| Block 0
# 2367| v2367_1(void) = EnterFunction :
# 2367| m2367_2(unknown) = AliasedDefinition :
# 2367| m2367_3(unknown) = InitializeNonLocal :
# 2367| m2367_4(unknown) = Chi : total:m2367_2, partial:m2367_3
# 2367| r2367_5(glval<bool>) = VariableAddress[b] :
# 2367| m2367_6(bool) = InitializeParameter[b] : &:r2367_5
# 2368| r2368_1(glval<String>) = VariableAddress[s] :
# 2368| m2368_2(String) = Uninitialized[s] : &:r2368_1
# 2368| m2368_3(unknown) = Chi : total:m2367_4, partial:m2368_2
# 2368| r2368_4(glval<unknown>) = FunctionAddress[String] :
# 2368| v2368_5(void) = Call[String] : func:r2368_4, this:r2368_1
# 2368| m2368_6(unknown) = ^CallSideEffect : ~m2368_3
# 2368| m2368_7(unknown) = Chi : total:m2368_3, partial:m2368_6
# 2368| m2368_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2368_1
# 2368| m2368_9(unknown) = Chi : total:m2368_7, partial:m2368_8
# 2369| r2369_1(glval<bool>) = VariableAddress[b] :
# 2369| r2369_2(bool) = Load[b] : &:r2369_1, m2367_6
# 2369| v2369_3(void) = ConditionalBranch : r2369_2
#-----| False -> Block 3
#-----| True -> Block 2
# 2367| Block 1
# 2367| m2367_7(unknown) = Phi : from 2:~m2373_8, from 3:~m2373_16
# 2367| m2367_8(int) = Phi : from 2:m2370_3, from 3:m2372_3
# 2367| r2367_9(glval<int>) = VariableAddress[#return] :
# 2367| v2367_10(void) = ReturnValue : &:r2367_9, m2367_8
# 2367| v2367_11(void) = AliasedUse : ~m2367_7
# 2367| v2367_12(void) = ExitFunction :
# 2370| Block 2
# 2370| r2370_1(glval<int>) = VariableAddress[#return] :
# 2370| r2370_2(int) = Constant[1] :
# 2370| m2370_3(int) = Store[#return] : &:r2370_1, r2370_2
# 2373| r2373_1(glval<String>) = VariableAddress[s] :
# 2373| r2373_2(glval<unknown>) = FunctionAddress[~String] :
# 2373| v2373_3(void) = Call[~String] : func:r2373_2, this:r2373_1
# 2373| m2373_4(unknown) = ^CallSideEffect : ~m2368_9
# 2373| m2373_5(unknown) = Chi : total:m2368_9, partial:m2373_4
# 2373| v2373_6(void) = ^IndirectReadSideEffect[-1] : &:r2373_1, ~m2373_5
# 2373| m2373_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2373_1
# 2373| m2373_8(unknown) = Chi : total:m2373_5, partial:m2373_7
#-----| Goto -> Block 1
# 2372| Block 3
# 2372| r2372_1(glval<int>) = VariableAddress[#return] :
# 2372| r2372_2(int) = Constant[0] :
# 2372| m2372_3(int) = Store[#return] : &:r2372_1, r2372_2
# 2373| r2373_9(glval<String>) = VariableAddress[s] :
# 2373| r2373_10(glval<unknown>) = FunctionAddress[~String] :
# 2373| v2373_11(void) = Call[~String] : func:r2373_10, this:r2373_9
# 2373| m2373_12(unknown) = ^CallSideEffect : ~m2368_9
# 2373| m2373_13(unknown) = Chi : total:m2368_9, partial:m2373_12
# 2373| v2373_14(void) = ^IndirectReadSideEffect[-1] : &:r2373_9, ~m2373_13
# 2373| m2373_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2373_9
# 2373| m2373_16(unknown) = Chi : total:m2373_13, partial:m2373_15
#-----| Goto -> Block 1
# 2375| void VoidReturnDestructors()
# 2375| Block 0
# 2375| v2375_1(void) = EnterFunction :
# 2375| m2375_2(unknown) = AliasedDefinition :
# 2375| m2375_3(unknown) = InitializeNonLocal :
# 2375| m2375_4(unknown) = Chi : total:m2375_2, partial:m2375_3
# 2376| r2376_1(glval<String>) = VariableAddress[s] :
# 2376| m2376_2(String) = Uninitialized[s] : &:r2376_1
# 2376| m2376_3(unknown) = Chi : total:m2375_4, partial:m2376_2
# 2376| r2376_4(glval<unknown>) = FunctionAddress[String] :
# 2376| v2376_5(void) = Call[String] : func:r2376_4, this:r2376_1
# 2376| m2376_6(unknown) = ^CallSideEffect : ~m2376_3
# 2376| m2376_7(unknown) = Chi : total:m2376_3, partial:m2376_6
# 2376| m2376_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2376_1
# 2376| m2376_9(unknown) = Chi : total:m2376_7, partial:m2376_8
# 2377| r2377_1(glval<unknown>) = FunctionAddress[VoidFunc] :
# 2377| v2377_2(void) = Call[VoidFunc] : func:r2377_1
# 2377| m2377_3(unknown) = ^CallSideEffect : ~m2376_9
# 2377| m2377_4(unknown) = Chi : total:m2376_9, partial:m2377_3
# 2377| v2377_5(void) = NoOp :
# 2378| r2378_1(glval<String>) = VariableAddress[s] :
# 2378| r2378_2(glval<unknown>) = FunctionAddress[~String] :
# 2378| v2378_3(void) = Call[~String] : func:r2378_2, this:r2378_1
# 2378| m2378_4(unknown) = ^CallSideEffect : ~m2377_4
# 2378| m2378_5(unknown) = Chi : total:m2377_4, partial:m2378_4
# 2378| v2378_6(void) = ^IndirectReadSideEffect[-1] : &:r2378_1, ~m2378_5
# 2378| m2378_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2378_1
# 2378| m2378_8(unknown) = Chi : total:m2378_5, partial:m2378_7
# 2375| v2375_5(void) = ReturnVoid :
# 2375| v2375_6(void) = AliasedUse : ~m2378_5
# 2375| v2375_7(void) = ExitFunction :
# 2388| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc()
# 2388| Block 0
# 2388| v2388_1(void) = EnterFunction :
# 2388| m2388_2(unknown) = AliasedDefinition :
# 2388| m2388_3(unknown) = InitializeNonLocal :
# 2388| m2388_4(unknown) = Chi : total:m2388_2, partial:m2388_3
# 2390| r2390_1(glval<..:: *>) = VariableAddress[#return] :
# 2390| r2390_2(..()(..)) = FunctionAddress[VoidToInt] :
# 2390| m2390_3(..:: *) = Store[#return] : &:r2390_1, r2390_2
# 2388| r2388_5(glval<..:: *>) = VariableAddress[#return] :
# 2388| v2388_6(void) = ReturnValue : &:r2388_5, m2390_3
# 2388| v2388_7(void) = AliasedUse : m2388_3
# 2388| v2388_8(void) = ExitFunction :
# 2395| int small_operation_should_not_be_constant_folded()
# 2395| Block 0
# 2395| v2395_1(void) = EnterFunction :
# 2395| m2395_2(unknown) = AliasedDefinition :
# 2395| m2395_3(unknown) = InitializeNonLocal :
# 2395| m2395_4(unknown) = Chi : total:m2395_2, partial:m2395_3
# 2396| r2396_1(glval<int>) = VariableAddress[#return] :
# 2396| r2396_2(int) = Constant[1] :
# 2396| r2396_3(int) = Constant[2] :
# 2396| r2396_4(int) = BitXor : r2396_2, r2396_3
# 2396| m2396_5(int) = Store[#return] : &:r2396_1, r2396_4
# 2395| r2395_5(glval<int>) = VariableAddress[#return] :
# 2395| v2395_6(void) = ReturnValue : &:r2395_5, m2396_5
# 2395| v2395_7(void) = AliasedUse : m2395_3
# 2395| v2395_8(void) = ExitFunction :
# 2406| int large_operation_should_be_constant_folded()
# 2406| Block 0
# 2406| v2406_1(void) = EnterFunction :
# 2406| m2406_2(unknown) = AliasedDefinition :
# 2406| m2406_3(unknown) = InitializeNonLocal :
# 2406| m2406_4(unknown) = Chi : total:m2406_2, partial:m2406_3
# 2407| r2407_1(glval<int>) = VariableAddress[#return] :
# 2407| r2407_2(int) = Constant[0] :
# 2407| m2407_3(int) = Store[#return] : &:r2407_1, r2407_2
# 2406| r2406_5(glval<int>) = VariableAddress[#return] :
# 2406| v2406_6(void) = ReturnValue : &:r2406_5, m2407_3
# 2406| v2406_7(void) = AliasedUse : m2406_3
# 2406| v2406_8(void) = ExitFunction :
# 2410| void initialization_with_temp_destructor()
# 2410| Block 0
# 2410| v2410_1(void) = EnterFunction :
# 2410| m2410_2(unknown) = AliasedDefinition :
# 2410| m2410_3(unknown) = InitializeNonLocal :
# 2410| m2410_4(unknown) = Chi : total:m2410_2, partial:m2410_3
# 2411| r2411_1(glval<char>) = VariableAddress[x] :
# 2411| r2411_2(glval<ClassWithDestructor>) = VariableAddress[#temp2411:18] :
# 2411| m2411_3(ClassWithDestructor) = Uninitialized[#temp2411:18] : &:r2411_2
# 2411| r2411_4(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2411| v2411_5(void) = Call[ClassWithDestructor] : func:r2411_4, this:r2411_2
# 2411| m2411_6(unknown) = ^CallSideEffect : ~m2410_4
# 2411| m2411_7(unknown) = Chi : total:m2410_4, partial:m2411_6
# 2411| m2411_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2
# 2411| m2411_9(ClassWithDestructor) = Chi : total:m2411_3, partial:m2411_8
# 2411| r2411_10(glval<unknown>) = FunctionAddress[get_x] :
# 2411| r2411_11(char) = Call[get_x] : func:r2411_10, this:r2411_2
# 2411| m2411_12(unknown) = ^CallSideEffect : ~m2411_7
# 2411| m2411_13(unknown) = Chi : total:m2411_7, partial:m2411_12
# 2411| v2411_14(void) = ^IndirectReadSideEffect[-1] : &:r2411_2, m2411_9
# 2411| m2411_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2
# 2411| m2411_16(ClassWithDestructor) = Chi : total:m2411_9, partial:m2411_15
# 2411| r2411_17(glval<ClassWithDestructor>) = CopyValue : r2411_2
# 2411| r2411_18(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2411| v2411_19(void) = Call[~ClassWithDestructor] : func:r2411_18, this:r2411_17
# 2411| m2411_20(unknown) = ^CallSideEffect : ~m2411_13
# 2411| m2411_21(unknown) = Chi : total:m2411_13, partial:m2411_20
# 2411| v2411_22(void) = ^IndirectReadSideEffect[-1] : &:r2411_17, m2411_16
# 2411| m2411_23(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_17
# 2411| m2411_24(ClassWithDestructor) = Chi : total:m2411_16, partial:m2411_23
# 2411| m2411_25(char) = Store[x] : &:r2411_1, r2411_11
# 2411| r2411_26(glval<char>) = VariableAddress[x] :
# 2411| r2411_27(char) = Load[x] : &:r2411_26, m2411_25
# 2411| r2411_28(char) = Constant[0] :
# 2411| r2411_29(bool) = CompareNE : r2411_27, r2411_28
# 2411| r2411_30(bool) = CopyValue : r2411_29
# 2411| v2411_31(void) = ConditionalBranch : r2411_30
#-----| False -> Block 2
#-----| True -> Block 1
# 2412| Block 1
# 2412| r2412_1(glval<char>) = VariableAddress[x] :
# 2412| r2412_2(char) = Load[x] : &:r2412_1, m2411_25
# 2412| r2412_3(char) = Constant[1] :
# 2412| r2412_4(char) = Add : r2412_2, r2412_3
# 2412| m2412_5(char) = Store[x] : &:r2412_1, r2412_4
#-----| Goto -> Block 2
# 2414| Block 2
# 2414| r2414_1(glval<char>) = VariableAddress[x] :
# 2414| r2414_2(glval<ClassWithDestructor>) = VariableAddress[#temp2414:18] :
# 2414| m2414_3(ClassWithDestructor) = Uninitialized[#temp2414:18] : &:r2414_2
# 2414| r2414_4(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2414| v2414_5(void) = Call[ClassWithDestructor] : func:r2414_4, this:r2414_2
# 2414| m2414_6(unknown) = ^CallSideEffect : ~m2411_21
# 2414| m2414_7(unknown) = Chi : total:m2411_21, partial:m2414_6
# 2414| m2414_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2414_2
# 2414| m2414_9(ClassWithDestructor) = Chi : total:m2414_3, partial:m2414_8
# 2414| r2414_10(glval<unknown>) = FunctionAddress[get_x] :
# 2414| r2414_11(char) = Call[get_x] : func:r2414_10, this:r2414_2
# 2414| m2414_12(unknown) = ^CallSideEffect : ~m2414_7
# 2414| m2414_13(unknown) = Chi : total:m2414_7, partial:m2414_12
# 2414| v2414_14(void) = ^IndirectReadSideEffect[-1] : &:r2414_2, m2414_9
# 2414| m2414_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2414_2
# 2414| m2414_16(ClassWithDestructor) = Chi : total:m2414_9, partial:m2414_15
# 2414| r2414_17(glval<ClassWithDestructor>) = CopyValue : r2414_2
# 2414| r2414_18(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2414| v2414_19(void) = Call[~ClassWithDestructor] : func:r2414_18, this:r2414_17
# 2414| m2414_20(unknown) = ^CallSideEffect : ~m2414_13
# 2414| m2414_21(unknown) = Chi : total:m2414_13, partial:m2414_20
# 2414| v2414_22(void) = ^IndirectReadSideEffect[-1] : &:r2414_17, m2414_16
# 2414| m2414_23(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2414_17
# 2414| m2414_24(ClassWithDestructor) = Chi : total:m2414_16, partial:m2414_23
# 2414| m2414_25(char) = Store[x] : &:r2414_1, r2414_11
# 2414| r2414_26(glval<char>) = VariableAddress[x] :
# 2414| r2414_27(char) = Load[x] : &:r2414_26, m2414_25
# 2414| r2414_28(char) = Constant[0] :
# 2414| r2414_29(bool) = CompareNE : r2414_27, r2414_28
# 2414| v2414_30(void) = ConditionalBranch : r2414_29
#-----| False -> Block 4
#-----| True -> Block 3
# 2415| Block 3
# 2415| r2415_1(glval<char>) = VariableAddress[x] :
# 2415| r2415_2(char) = Load[x] : &:r2415_1, m2414_25
# 2415| r2415_3(char) = Constant[1] :
# 2415| r2415_4(char) = Add : r2415_2, r2415_3
# 2415| m2415_5(char) = Store[x] : &:r2415_1, r2415_4
#-----| Goto -> Block 4
# 2417| Block 4
# 2417| r2417_1(glval<char>) = VariableAddress[x] :
# 2417| r2417_2(glval<ClassWithDestructor>) = VariableAddress[#temp2417:28] :
# 2417| m2417_3(ClassWithDestructor) = Uninitialized[#temp2417:28] : &:r2417_2
# 2417| r2417_4(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2417| v2417_5(void) = Call[ClassWithDestructor] : func:r2417_4, this:r2417_2
# 2417| m2417_6(unknown) = ^CallSideEffect : ~m2414_21
# 2417| m2417_7(unknown) = Chi : total:m2414_21, partial:m2417_6
# 2417| m2417_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2417_2
# 2417| m2417_9(ClassWithDestructor) = Chi : total:m2417_3, partial:m2417_8
# 2417| r2417_10(glval<unknown>) = FunctionAddress[get_x] :
# 2417| r2417_11(char) = Call[get_x] : func:r2417_10, this:r2417_2
# 2417| m2417_12(unknown) = ^CallSideEffect : ~m2417_7
# 2417| m2417_13(unknown) = Chi : total:m2417_7, partial:m2417_12
# 2417| v2417_14(void) = ^IndirectReadSideEffect[-1] : &:r2417_2, m2417_9
# 2417| m2417_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2417_2
# 2417| m2417_16(ClassWithDestructor) = Chi : total:m2417_9, partial:m2417_15
# 2417| r2417_17(glval<ClassWithDestructor>) = CopyValue : r2417_2
# 2417| r2417_18(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2417| v2417_19(void) = Call[~ClassWithDestructor] : func:r2417_18, this:r2417_17
# 2417| m2417_20(unknown) = ^CallSideEffect : ~m2417_13
# 2417| m2417_21(unknown) = Chi : total:m2417_13, partial:m2417_20
# 2417| v2417_22(void) = ^IndirectReadSideEffect[-1] : &:r2417_17, m2417_16
# 2417| m2417_23(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2417_17
# 2417| m2417_24(ClassWithDestructor) = Chi : total:m2417_16, partial:m2417_23
# 2417| m2417_25(char) = Store[x] : &:r2417_1, r2417_11
# 2417| r2417_26(bool) = Constant[1] :
# 2417| v2417_27(void) = ConditionalBranch : r2417_26
#-----| False -> Block 13
#-----| True -> Block 5
# 2418| Block 5
# 2418| r2418_1(glval<char>) = VariableAddress[x] :
# 2418| r2418_2(char) = Load[x] : &:r2418_1, m2417_25
# 2418| r2418_3(char) = Constant[1] :
# 2418| r2418_4(char) = Add : r2418_2, r2418_3
# 2418| m2418_5(char) = Store[x] : &:r2418_1, r2418_4
# 2420| r2420_1(glval<char>) = VariableAddress[x] :
# 2420| r2420_2(glval<ClassWithDestructor>) = VariableAddress[#temp2420:21] :
# 2420| m2420_3(ClassWithDestructor) = Uninitialized[#temp2420:21] : &:r2420_2
# 2420| r2420_4(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2420| v2420_5(void) = Call[ClassWithDestructor] : func:r2420_4, this:r2420_2
# 2420| m2420_6(unknown) = ^CallSideEffect : ~m2417_21
# 2420| m2420_7(unknown) = Chi : total:m2417_21, partial:m2420_6
# 2420| m2420_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2420_2
# 2420| m2420_9(ClassWithDestructor) = Chi : total:m2420_3, partial:m2420_8
# 2420| r2420_10(glval<unknown>) = FunctionAddress[get_x] :
# 2420| r2420_11(char) = Call[get_x] : func:r2420_10, this:r2420_2
# 2420| m2420_12(unknown) = ^CallSideEffect : ~m2420_7
# 2420| m2420_13(unknown) = Chi : total:m2420_7, partial:m2420_12
# 2420| v2420_14(void) = ^IndirectReadSideEffect[-1] : &:r2420_2, m2420_9
# 2420| m2420_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2420_2
# 2420| m2420_16(ClassWithDestructor) = Chi : total:m2420_9, partial:m2420_15
# 2420| r2420_17(glval<ClassWithDestructor>) = CopyValue : r2420_2
# 2420| r2420_18(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2420| v2420_19(void) = Call[~ClassWithDestructor] : func:r2420_18, this:r2420_17
# 2420| m2420_20(unknown) = ^CallSideEffect : ~m2420_13
# 2420| m2420_21(unknown) = Chi : total:m2420_13, partial:m2420_20
# 2420| v2420_22(void) = ^IndirectReadSideEffect[-1] : &:r2420_17, m2420_16
# 2420| m2420_23(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2420_17
# 2420| m2420_24(ClassWithDestructor) = Chi : total:m2420_16, partial:m2420_23
# 2420| m2420_25(char) = Store[x] : &:r2420_1, r2420_11
# 2420| r2420_26(glval<char>) = VariableAddress[x] :
# 2420| r2420_27(char) = Load[x] : &:r2420_26, m2420_25
# 2420| r2420_28(int) = Convert : r2420_27
# 2420| r2420_29(int) = CopyValue : r2420_28
# 2420| v2420_30(void) = Switch : r2420_29
#-----| Case[97] -> Block 6
#-----| Default -> Block 7
# 2421| Block 6
# 2421| v2421_1(void) = NoOp :
# 2422| r2422_1(glval<char>) = VariableAddress[x] :
# 2422| r2422_2(char) = Load[x] : &:r2422_1, m2420_25
# 2422| r2422_3(char) = Constant[1] :
# 2422| r2422_4(char) = Add : r2422_2, r2422_3
# 2422| m2422_5(char) = Store[x] : &:r2422_1, r2422_4
#-----| Goto -> Block 7
# 2425| Block 7
# 2425| r2425_1(glval<char>) = VariableAddress[x] :
# 2425| r2425_2(glval<ClassWithDestructor>) = VariableAddress[#temp2425:21] :
# 2425| m2425_3(ClassWithDestructor) = Uninitialized[#temp2425:21] : &:r2425_2
# 2425| r2425_4(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2425| v2425_5(void) = Call[ClassWithDestructor] : func:r2425_4, this:r2425_2
# 2425| m2425_6(unknown) = ^CallSideEffect : ~m2420_21
# 2425| m2425_7(unknown) = Chi : total:m2420_21, partial:m2425_6
# 2425| m2425_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2425_2
# 2425| m2425_9(ClassWithDestructor) = Chi : total:m2425_3, partial:m2425_8
# 2425| r2425_10(glval<unknown>) = FunctionAddress[get_x] :
# 2425| r2425_11(char) = Call[get_x] : func:r2425_10, this:r2425_2
# 2425| m2425_12(unknown) = ^CallSideEffect : ~m2425_7
# 2425| m2425_13(unknown) = Chi : total:m2425_7, partial:m2425_12
# 2425| v2425_14(void) = ^IndirectReadSideEffect[-1] : &:r2425_2, m2425_9
# 2425| m2425_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2425_2
# 2425| m2425_16(ClassWithDestructor) = Chi : total:m2425_9, partial:m2425_15
# 2425| r2425_17(glval<ClassWithDestructor>) = CopyValue : r2425_2
# 2425| r2425_18(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2425| v2425_19(void) = Call[~ClassWithDestructor] : func:r2425_18, this:r2425_17
# 2425| m2425_20(unknown) = ^CallSideEffect : ~m2425_13
# 2425| m2425_21(unknown) = Chi : total:m2425_13, partial:m2425_20
# 2425| v2425_22(void) = ^IndirectReadSideEffect[-1] : &:r2425_17, m2425_16
# 2425| m2425_23(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2425_17
# 2425| m2425_24(ClassWithDestructor) = Chi : total:m2425_16, partial:m2425_23
# 2425| m2425_25(char) = Store[x] : &:r2425_1, r2425_11
# 2425| r2425_26(glval<char>) = VariableAddress[x] :
# 2425| r2425_27(char) = Load[x] : &:r2425_26, m2425_25
# 2425| r2425_28(int) = Convert : r2425_27
# 2425| v2425_29(void) = Switch : r2425_28
#-----| Case[97] -> Block 8
#-----| Default -> Block 9
# 2426| Block 8
# 2426| v2426_1(void) = NoOp :
# 2427| r2427_1(glval<char>) = VariableAddress[x] :
# 2427| r2427_2(char) = Load[x] : &:r2427_1, m2425_25
# 2427| r2427_3(char) = Constant[1] :
# 2427| r2427_4(char) = Add : r2427_2, r2427_3
# 2427| m2427_5(char) = Store[x] : &:r2427_1, r2427_4
#-----| Goto -> Block 9
# 2430| Block 9
# 2430| r2430_1(glval<char>) = VariableAddress[x] :
# 2430| r2430_2(glval<ClassWithDestructor>) = VariableAddress[#temp2430:18] :
# 2430| m2430_3(ClassWithDestructor) = Uninitialized[#temp2430:18] : &:r2430_2
# 2430| r2430_4(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2430| v2430_5(void) = Call[ClassWithDestructor] : func:r2430_4, this:r2430_2
# 2430| m2430_6(unknown) = ^CallSideEffect : ~m2425_21
# 2430| m2430_7(unknown) = Chi : total:m2425_21, partial:m2430_6
# 2430| m2430_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2430_2
# 2430| m2430_9(ClassWithDestructor) = Chi : total:m2430_3, partial:m2430_8
# 2430| r2430_10(glval<unknown>) = FunctionAddress[get_x] :
# 2430| r2430_11(char) = Call[get_x] : func:r2430_10, this:r2430_2
# 2430| m2430_12(unknown) = ^CallSideEffect : ~m2430_7
# 2430| m2430_13(unknown) = Chi : total:m2430_7, partial:m2430_12
# 2430| v2430_14(void) = ^IndirectReadSideEffect[-1] : &:r2430_2, m2430_9
# 2430| m2430_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2430_2
# 2430| m2430_16(ClassWithDestructor) = Chi : total:m2430_9, partial:m2430_15
# 2430| r2430_17(glval<ClassWithDestructor>) = CopyValue : r2430_2
# 2430| r2430_18(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2430| v2430_19(void) = Call[~ClassWithDestructor] : func:r2430_18, this:r2430_17
# 2430| m2430_20(unknown) = ^CallSideEffect : ~m2430_13
# 2430| m2430_21(unknown) = Chi : total:m2430_13, partial:m2430_20
# 2430| v2430_22(void) = ^IndirectReadSideEffect[-1] : &:r2430_17, m2430_16
# 2430| m2430_23(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2430_17
# 2430| m2430_24(ClassWithDestructor) = Chi : total:m2430_16, partial:m2430_23
# 2430| m2430_25(char) = Store[x] : &:r2430_1, r2430_11
# 2430| r2430_26(glval<vector<char> &&>) = VariableAddress[(__range)] :
# 2430| r2430_27(glval<vector<char>>) = VariableAddress[#temp2430:58] :
# 2430| m2430_28(vector<char>) = Uninitialized[#temp2430:58] : &:r2430_27
# 2430| m2430_29(unknown) = Chi : total:m2430_21, partial:m2430_28
# 2430| r2430_30(glval<unknown>) = FunctionAddress[vector] :
# 2430| r2430_31(glval<char>) = VariableAddress[x] :
# 2430| r2430_32(char) = Load[x] : &:r2430_31, m2430_25
# 2430| v2430_33(void) = Call[vector] : func:r2430_30, this:r2430_27, 0:r2430_32
# 2430| m2430_34(unknown) = ^CallSideEffect : ~m2430_29
# 2430| m2430_35(unknown) = Chi : total:m2430_29, partial:m2430_34
# 2430| m2430_36(vector<char>) = ^IndirectMayWriteSideEffect[-1] : &:r2430_27
# 2430| m2430_37(unknown) = Chi : total:m2430_35, partial:m2430_36
# 2430| r2430_38(vector<char> &) = CopyValue : r2430_27
# 2430| m2430_39(vector<char> &&) = Store[(__range)] : &:r2430_26, r2430_38
# 2430| r2430_40(glval<iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>>) = VariableAddress[(__begin)] :
# 2430| r2430_41(glval<vector<char> &&>) = VariableAddress[(__range)] :
# 2430| r2430_42(vector<char> &&) = Load[(__range)] : &:r2430_41, m2430_39
#-----| r0_1(glval<vector<char>>) = CopyValue : r2430_42
#-----| r0_2(glval<vector<char>>) = Convert : r0_1
# 2430| r2430_43(glval<unknown>) = FunctionAddress[begin] :
# 2430| r2430_44(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>) = Call[begin] : func:r2430_43, this:r0_2
#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m2430_37
# 2430| m2430_45(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>) = Store[(__begin)] : &:r2430_40, r2430_44
# 2430| r2430_46(glval<iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>>) = VariableAddress[(__end)] :
# 2430| r2430_47(glval<vector<char> &&>) = VariableAddress[(__range)] :
# 2430| r2430_48(vector<char> &&) = Load[(__range)] : &:r2430_47, m2430_39
#-----| r0_4(glval<vector<char>>) = CopyValue : r2430_48
#-----| r0_5(glval<vector<char>>) = Convert : r0_4
# 2430| r2430_49(glval<unknown>) = FunctionAddress[end] :
# 2430| r2430_50(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>) = Call[end] : func:r2430_49, this:r0_5
#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m2430_37
# 2430| m2430_51(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>) = Store[(__end)] : &:r2430_46, r2430_50
# 2430| m2430_52(unknown) = Chi : total:m2430_37, partial:m2430_51
#-----| Goto -> Block 10
# 2430| Block 10
# 2430| m2430_53(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>) = Phi : from 9:m2430_45, from 11:m2430_77
# 2430| m2430_54(unknown) = Phi : from 9:~m2430_52, from 11:~m2430_63
# 2430| r2430_55(glval<iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>>) = VariableAddress[(__begin)] :
#-----| r0_7(glval<iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>>) = Convert : r2430_55
# 2430| r2430_56(glval<unknown>) = FunctionAddress[operator!=] :
#-----| r0_8(glval<iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>>) = VariableAddress[#temp0:0] :
#-----| m0_9(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>) = Uninitialized[#temp0:0] : &:r0_8
#-----| m0_10(unknown) = Chi : total:m2430_54, partial:m0_9
# 2430| r2430_57(glval<unknown>) = FunctionAddress[iterator] :
# 2430| r2430_58(glval<iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>>) = VariableAddress[(__end)] :
#-----| r0_11(glval<iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>>) = Convert : r2430_58
#-----| r0_12(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &> &) = CopyValue : r0_11
# 2430| v2430_59(void) = Call[iterator] : func:r2430_57, this:r0_8, 0:r0_12
# 2430| m2430_60(unknown) = ^CallSideEffect : ~m0_10
# 2430| m2430_61(unknown) = Chi : total:m0_10, partial:m2430_60
#-----| v0_13(void) = ^BufferReadSideEffect[0] : &:r0_12, ~m2430_61
# 2430| m2430_62(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>) = ^IndirectMayWriteSideEffect[-1] : &:r0_8
# 2430| m2430_63(unknown) = Chi : total:m2430_61, partial:m2430_62
#-----| r0_14(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>) = Load[#temp0:0] : &:r0_8, ~m2430_63
# 2430| r2430_64(bool) = Call[operator!=] : func:r2430_56, this:r0_7, 0:r0_14
#-----| v0_15(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2430_53
# 2430| v2430_65(void) = ConditionalBranch : r2430_64
#-----| False -> Block 12
#-----| True -> Block 11
# 2430| Block 11
# 2430| r2430_66(glval<char>) = VariableAddress[y] :
# 2430| r2430_67(glval<iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>>) = VariableAddress[(__begin)] :
#-----| r0_16(glval<iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>>) = Convert : r2430_67
# 2430| r2430_68(glval<unknown>) = FunctionAddress[operator*] :
# 2430| r2430_69(char &) = Call[operator*] : func:r2430_68, this:r0_16
#-----| v0_17(void) = ^IndirectReadSideEffect[-1] : &:r0_16, m2430_53
# 2430| r2430_70(char) = Load[?] : &:r2430_69, ~m2430_63
# 2430| m2430_71(char) = Store[y] : &:r2430_66, r2430_70
# 2431| r2431_1(glval<char>) = VariableAddress[x] :
# 2431| r2431_2(char) = Load[x] : &:r2431_1, m2430_25
# 2431| r2431_3(int) = Convert : r2431_2
# 2431| r2431_4(glval<char>) = VariableAddress[y] :
# 2431| r2431_5(char) = Load[y] : &:r2431_4, m2430_71
# 2431| r2431_6(int) = Convert : r2431_5
# 2431| r2431_7(int) = Add : r2431_6, r2431_3
# 2431| r2431_8(char) = Convert : r2431_7
# 2431| m2431_9(char) = Store[y] : &:r2431_4, r2431_8
# 2430| r2430_72(glval<iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>>) = VariableAddress[(__begin)] :
# 2430| r2430_73(glval<unknown>) = FunctionAddress[operator++] :
# 2430| r2430_74(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &> &) = Call[operator++] : func:r2430_73, this:r2430_72
# 2430| v2430_75(void) = ^IndirectReadSideEffect[-1] : &:r2430_72, m2430_53
# 2430| m2430_76(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>) = ^IndirectMayWriteSideEffect[-1] : &:r2430_72
# 2430| m2430_77(iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>) = Chi : total:m2430_53, partial:m2430_76
# 2430| r2430_78(glval<iterator<random_access_iterator_tag, char, ptrdiff_t, char *, char &>>) = CopyValue : r2430_74
#-----| Goto (back edge) -> Block 10
# 2432| Block 12
# 2432| v2432_1(void) = NoOp :
# 2410| v2410_5(void) = ReturnVoid :
# 2410| v2410_6(void) = AliasedUse : ~m2430_61
# 2410| v2410_7(void) = ExitFunction :
# 2410| Block 13
# 2410| v2410_8(void) = Unreached :
# 2434| void param_with_destructor_by_value(ClassWithDestructor)
# 2434| Block 0
# 2434| v2434_1(void) = EnterFunction :
# 2434| m2434_2(unknown) = AliasedDefinition :
# 2434| m2434_3(unknown) = InitializeNonLocal :
# 2434| m2434_4(unknown) = Chi : total:m2434_2, partial:m2434_3
# 2434| r2434_5(glval<ClassWithDestructor>) = VariableAddress[c] :
# 2434| m2434_6(ClassWithDestructor) = InitializeParameter[c] : &:r2434_5
# 2436| v2436_1(void) = NoOp :
# 2434| v2434_7(void) = ReturnVoid :
# 2434| v2434_8(void) = AliasedUse : m2434_3
# 2434| v2434_9(void) = ExitFunction :
# 2438| void param_with_destructor_by_pointer(ClassWithDestructor*)
# 2438| Block 0
# 2438| v2438_1(void) = EnterFunction :
# 2438| m2438_2(unknown) = AliasedDefinition :
# 2438| m2438_3(unknown) = InitializeNonLocal :
# 2438| m2438_4(unknown) = Chi : total:m2438_2, partial:m2438_3
# 2438| r2438_5(glval<ClassWithDestructor *>) = VariableAddress[c] :
# 2438| m2438_6(ClassWithDestructor *) = InitializeParameter[c] : &:r2438_5
# 2438| r2438_7(ClassWithDestructor *) = Load[c] : &:r2438_5, m2438_6
# 2438| m2438_8(unknown) = InitializeIndirection[c] : &:r2438_7
# 2440| v2440_1(void) = NoOp :
# 2438| v2438_9(void) = ReturnIndirection[c] : &:r2438_7, m2438_8
# 2438| v2438_10(void) = ReturnVoid :
# 2438| v2438_11(void) = AliasedUse : m2438_3
# 2438| v2438_12(void) = ExitFunction :
# 2442| void param_with_destructor_by_ref(ClassWithDestructor&)
# 2442| Block 0
# 2442| v2442_1(void) = EnterFunction :
# 2442| m2442_2(unknown) = AliasedDefinition :
# 2442| m2442_3(unknown) = InitializeNonLocal :
# 2442| m2442_4(unknown) = Chi : total:m2442_2, partial:m2442_3
# 2442| r2442_5(glval<ClassWithDestructor &>) = VariableAddress[c] :
# 2442| m2442_6(ClassWithDestructor &) = InitializeParameter[c] : &:r2442_5
# 2442| r2442_7(ClassWithDestructor &) = Load[c] : &:r2442_5, m2442_6
# 2442| m2442_8(unknown) = InitializeIndirection[c] : &:r2442_7
# 2444| v2444_1(void) = NoOp :
# 2442| v2442_9(void) = ReturnIndirection[c] : &:r2442_7, m2442_8
# 2442| v2442_10(void) = ReturnVoid :
# 2442| v2442_11(void) = AliasedUse : m2442_3
# 2442| v2442_12(void) = ExitFunction :
# 2446| void param_with_destructor_by_rref(ClassWithDestructor&&)
# 2446| Block 0
# 2446| v2446_1(void) = EnterFunction :
# 2446| m2446_2(unknown) = AliasedDefinition :
# 2446| m2446_3(unknown) = InitializeNonLocal :
# 2446| m2446_4(unknown) = Chi : total:m2446_2, partial:m2446_3
# 2446| r2446_5(glval<ClassWithDestructor &&>) = VariableAddress[c] :
# 2446| m2446_6(ClassWithDestructor &&) = InitializeParameter[c] : &:r2446_5
# 2446| r2446_7(ClassWithDestructor &&) = Load[c] : &:r2446_5, m2446_6
# 2446| m2446_8(unknown) = InitializeIndirection[c] : &:r2446_7
# 2448| v2448_1(void) = NoOp :
# 2446| v2446_9(void) = ReturnIndirection[c] : &:r2446_7, m2446_8
# 2446| v2446_10(void) = ReturnVoid :
# 2446| v2446_11(void) = AliasedUse : m2446_3
# 2446| v2446_12(void) = ExitFunction :
# 2450| void rethrow_with_destruction(int)
# 2450| Block 0
# 2450| v2450_1(void) = EnterFunction :
# 2450| m2450_2(unknown) = AliasedDefinition :
# 2450| m2450_3(unknown) = InitializeNonLocal :
# 2450| m2450_4(unknown) = Chi : total:m2450_2, partial:m2450_3
# 2450| r2450_5(glval<int>) = VariableAddress[x] :
# 2450| m2450_6(int) = InitializeParameter[x] : &:r2450_5
# 2451| r2451_1(glval<ClassWithDestructor>) = VariableAddress[c] :
# 2451| m2451_2(ClassWithDestructor) = Uninitialized[c] : &:r2451_1
# 2451| r2451_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2451| v2451_4(void) = Call[ClassWithDestructor] : func:r2451_3, this:r2451_1
# 2451| m2451_5(unknown) = ^CallSideEffect : ~m2450_4
# 2451| m2451_6(unknown) = Chi : total:m2450_4, partial:m2451_5
# 2451| m2451_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2451_1
# 2451| m2451_8(ClassWithDestructor) = Chi : total:m2451_2, partial:m2451_7
# 2452| v2452_1(void) = ReThrow :
# 2453| r2453_1(glval<ClassWithDestructor>) = VariableAddress[c] :
# 2453| r2453_2(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2453| v2453_3(void) = Call[~ClassWithDestructor] : func:r2453_2, this:r2453_1
# 2453| m2453_4(unknown) = ^CallSideEffect : ~m2451_6
# 2453| m2453_5(unknown) = Chi : total:m2451_6, partial:m2453_4
# 2453| v2453_6(void) = ^IndirectReadSideEffect[-1] : &:r2453_1, m2451_8
# 2453| m2453_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2453_1
# 2453| m2453_8(ClassWithDestructor) = Chi : total:m2451_8, partial:m2453_7
#-----| Exception -> Block 1
# 2450| Block 1
# 2450| v2450_7(void) = Unwind :
# 2450| v2450_8(void) = AliasedUse : ~m2453_5
# 2450| v2450_9(void) = ExitFunction :
# 2459| void new_with_destructor(ClassWithDestructor)
# 2459| Block 0
# 2459| v2459_1(void) = EnterFunction :
# 2459| m2459_2(unknown) = AliasedDefinition :
# 2459| m2459_3(unknown) = InitializeNonLocal :
# 2459| m2459_4(unknown) = Chi : total:m2459_2, partial:m2459_3
# 2459| r2459_5(glval<ClassWithDestructor>) = VariableAddress[a] :
# 2459| m2459_6(ClassWithDestructor) = InitializeParameter[a] : &:r2459_5
# 2461| r2461_1(glval<ByValueConstructor *>) = VariableAddress[b] :
# 2461| r2461_2(glval<unknown>) = FunctionAddress[operator new] :
# 2461| r2461_3(unsigned long) = Constant[1] :
# 2461| r2461_4(void *) = Call[operator new] : func:r2461_2, 0:r2461_3
# 2461| m2461_5(unknown) = ^CallSideEffect : ~m2459_4
# 2461| m2461_6(unknown) = Chi : total:m2459_4, partial:m2461_5
# 2461| m2461_7(unknown) = ^InitializeDynamicAllocation : &:r2461_4
# 2461| m2461_8(unknown) = Chi : total:m2461_6, partial:m2461_7
# 2461| r2461_9(ByValueConstructor *) = Convert : r2461_4
# 2461| r2461_10(glval<unknown>) = FunctionAddress[ByValueConstructor] :
# 2461| r2461_11(glval<ClassWithDestructor>) = VariableAddress[#temp2461:52] :
# 2461| r2461_12(glval<ClassWithDestructor>) = VariableAddress[a] :
# 2461| r2461_13(ClassWithDestructor) = Load[a] : &:r2461_12, m2459_6
# 2461| m2461_14(ClassWithDestructor) = Store[#temp2461:52] : &:r2461_11, r2461_13
# 2461| r2461_15(ClassWithDestructor) = Load[#temp2461:52] : &:r2461_11, m2461_14
# 2461| v2461_16(void) = Call[ByValueConstructor] : func:r2461_10, this:r2461_9, 0:r2461_15
# 2461| m2461_17(unknown) = ^CallSideEffect : ~m2461_8
# 2461| m2461_18(unknown) = Chi : total:m2461_8, partial:m2461_17
# 2461| m2461_19(ByValueConstructor) = ^IndirectMayWriteSideEffect[-1] : &:r2461_9
# 2461| m2461_20(unknown) = Chi : total:m2461_18, partial:m2461_19
# 2461| r2461_21(glval<ClassWithDestructor>) = CopyValue : r2461_11
# 2461| r2461_22(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
# 2461| v2461_23(void) = Call[~ClassWithDestructor] : func:r2461_22, this:r2461_21
# 2461| m2461_24(unknown) = ^CallSideEffect : ~m2461_20
# 2461| m2461_25(unknown) = Chi : total:m2461_20, partial:m2461_24
# 2461| v2461_26(void) = ^IndirectReadSideEffect[-1] : &:r2461_21, m2461_14
# 2461| m2461_27(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2461_21
# 2461| m2461_28(ClassWithDestructor) = Chi : total:m2461_14, partial:m2461_27
# 2461| m2461_29(ByValueConstructor *) = Store[b] : &:r2461_1, r2461_9
# 2462| v2462_1(void) = NoOp :
# 2459| v2459_7(void) = ReturnVoid :
# 2459| v2459_8(void) = AliasedUse : ~m2461_25
# 2459| v2459_9(void) = ExitFunction :
# 2478| void rvalue_conversion_with_destructor::test()
# 2478| Block 0
# 2478| v2478_1(void) = EnterFunction :
# 2478| m2478_2(unknown) = AliasedDefinition :
# 2478| m2478_3(unknown) = InitializeNonLocal :
# 2478| m2478_4(unknown) = Chi : total:m2478_2, partial:m2478_3
# 2480| r2480_1(glval<unsigned int>) = VariableAddress[a] :
# 2480| r2480_2(glval<B>) = VariableAddress[#temp2480:18] :
# 2480| r2480_3(glval<unknown>) = FunctionAddress[get] :
# 2480| r2480_4(B) = Call[get] : func:r2480_3
# 2480| m2480_5(unknown) = ^CallSideEffect : ~m2478_4
# 2480| m2480_6(unknown) = Chi : total:m2478_4, partial:m2480_5
# 2480| m2480_7(B) = Store[#temp2480:18] : &:r2480_2, r2480_4
# 2480| m2480_8(unknown) = Chi : total:m2480_6, partial:m2480_7
# 2480| r2480_9(glval<B>) = Convert : r2480_2
# 2480| r2480_10(glval<unknown>) = FunctionAddress[operator->] :
# 2480| r2480_11(A *) = Call[operator->] : func:r2480_10, this:r2480_9
# 2480| m2480_12(unknown) = ^CallSideEffect : ~m2480_8
# 2480| m2480_13(unknown) = Chi : total:m2480_8, partial:m2480_12
# 2480| v2480_14(void) = ^IndirectReadSideEffect[-1] : &:r2480_9, ~m2480_13
# 2480| r2480_15(glval<unsigned int>) = FieldAddress[a] : r2480_11
# 2480| r2480_16(glval<B>) = CopyValue : r2480_2
# 2480| r2480_17(glval<unknown>) = FunctionAddress[~B] :
# 2480| v2480_18(void) = Call[~B] : func:r2480_17, this:r2480_16
# 2480| m2480_19(unknown) = ^CallSideEffect : ~m2480_13
# 2480| m2480_20(unknown) = Chi : total:m2480_13, partial:m2480_19
# 2480| v2480_21(void) = ^IndirectReadSideEffect[-1] : &:r2480_16, ~m2480_20
# 2480| m2480_22(B) = ^IndirectMayWriteSideEffect[-1] : &:r2480_16
# 2480| m2480_23(unknown) = Chi : total:m2480_20, partial:m2480_22
# 2480| r2480_24(unsigned int) = Load[?] : &:r2480_15, ~m2480_23
# 2480| m2480_25(unsigned int) = Store[a] : &:r2480_1, r2480_24
# 2481| v2481_1(void) = NoOp :
# 2478| v2478_5(void) = ReturnVoid :
# 2478| v2478_6(void) = AliasedUse : ~m2480_20
# 2478| v2478_7(void) = ExitFunction :
# 2484| void destructor_without_block(bool)
# 2484| Block 0
# 2484| v2484_1(void) = EnterFunction :
# 2484| m2484_2(unknown) = AliasedDefinition :
# 2484| m2484_3(unknown) = InitializeNonLocal :
# 2484| m2484_4(unknown) = Chi : total:m2484_2, partial:m2484_3
# 2484| r2484_5(glval<bool>) = VariableAddress[b] :
# 2484| m2484_6(bool) = InitializeParameter[b] : &:r2484_5
# 2486| r2486_1(glval<bool>) = VariableAddress[b] :
# 2486| r2486_2(bool) = Load[b] : &:r2486_1, m2484_6
# 2486| v2486_3(void) = ConditionalBranch : r2486_2
#-----| False -> Block 2
#-----| True -> Block 1
# 2487| Block 1
# 2487| r2487_1(glval<ClassWithDestructor>) = VariableAddress[c] :
# 2487| m2487_2(ClassWithDestructor) = Uninitialized[c] : &:r2487_1
# 2487| r2487_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2487| v2487_4(void) = Call[ClassWithDestructor] : func:r2487_3, this:r2487_1
# 2487| m2487_5(unknown) = ^CallSideEffect : ~m2484_4
# 2487| m2487_6(unknown) = Chi : total:m2484_4, partial:m2487_5
# 2487| m2487_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2487_1
# 2487| m2487_8(ClassWithDestructor) = Chi : total:m2487_2, partial:m2487_7
#-----| r0_1(glval<ClassWithDestructor>) = VariableAddress[c] :
#-----| r0_2(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
#-----| v0_3(void) = Call[~ClassWithDestructor] : func:r0_2, this:r0_1
#-----| m0_4(unknown) = ^CallSideEffect : ~m2487_6
#-----| m0_5(unknown) = Chi : total:m2487_6, partial:m0_4
#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_1, m2487_8
#-----| m0_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r0_1
#-----| m0_8(ClassWithDestructor) = Chi : total:m2487_8, partial:m0_7
#-----| Goto -> Block 2
# 2489| Block 2
# 2489| m2489_1(unknown) = Phi : from 0:~m2484_4, from 1:~m0_5
# 2489| r2489_2(glval<bool>) = VariableAddress[b] :
# 2489| r2489_3(bool) = Load[b] : &:r2489_2, m2484_6
# 2489| v2489_4(void) = ConditionalBranch : r2489_3
#-----| False -> Block 4
#-----| True -> Block 3
# 2490| Block 3
# 2490| r2490_1(glval<ClassWithDestructor>) = VariableAddress[d] :
# 2490| m2490_2(ClassWithDestructor) = Uninitialized[d] : &:r2490_1
# 2490| r2490_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2490| v2490_4(void) = Call[ClassWithDestructor] : func:r2490_3, this:r2490_1
# 2490| m2490_5(unknown) = ^CallSideEffect : ~m2489_1
# 2490| m2490_6(unknown) = Chi : total:m2489_1, partial:m2490_5
# 2490| m2490_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2490_1
# 2490| m2490_8(ClassWithDestructor) = Chi : total:m2490_2, partial:m2490_7
#-----| r0_9(glval<ClassWithDestructor>) = VariableAddress[d] :
#-----| r0_10(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
#-----| v0_11(void) = Call[~ClassWithDestructor] : func:r0_10, this:r0_9
#-----| m0_12(unknown) = ^CallSideEffect : ~m2490_6
#-----| m0_13(unknown) = Chi : total:m2490_6, partial:m0_12
#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_9, m2490_8
#-----| m0_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r0_9
#-----| m0_16(ClassWithDestructor) = Chi : total:m2490_8, partial:m0_15
#-----| Goto -> Block 5
# 2492| Block 4
# 2492| r2492_1(glval<ClassWithDestructor>) = VariableAddress[e] :
# 2492| m2492_2(ClassWithDestructor) = Uninitialized[e] : &:r2492_1
# 2492| r2492_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2492| v2492_4(void) = Call[ClassWithDestructor] : func:r2492_3, this:r2492_1
# 2492| m2492_5(unknown) = ^CallSideEffect : ~m2489_1
# 2492| m2492_6(unknown) = Chi : total:m2489_1, partial:m2492_5
# 2492| m2492_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2492_1
# 2492| m2492_8(ClassWithDestructor) = Chi : total:m2492_2, partial:m2492_7
#-----| r0_17(glval<ClassWithDestructor>) = VariableAddress[e] :
#-----| r0_18(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
#-----| v0_19(void) = Call[~ClassWithDestructor] : func:r0_18, this:r0_17
#-----| m0_20(unknown) = ^CallSideEffect : ~m2492_6
#-----| m0_21(unknown) = Chi : total:m2492_6, partial:m0_20
#-----| v0_22(void) = ^IndirectReadSideEffect[-1] : &:r0_17, m2492_8
#-----| m0_23(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r0_17
#-----| m0_24(ClassWithDestructor) = Chi : total:m2492_8, partial:m0_23
#-----| Goto -> Block 5
# 2494| Block 5
# 2494| m2494_1(unknown) = Phi : from 3:~m0_13, from 4:~m0_21, from 6:~m0_29
# 2494| r2494_2(glval<bool>) = VariableAddress[b] :
# 2494| r2494_3(bool) = Load[b] : &:r2494_2, m2484_6
# 2494| v2494_4(void) = ConditionalBranch : r2494_3
#-----| False -> Block 7
#-----| True -> Block 6
# 2495| Block 6
# 2495| r2495_1(glval<ClassWithDestructor>) = VariableAddress[f] :
# 2495| m2495_2(ClassWithDestructor) = Uninitialized[f] : &:r2495_1
# 2495| r2495_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2495| v2495_4(void) = Call[ClassWithDestructor] : func:r2495_3, this:r2495_1
# 2495| m2495_5(unknown) = ^CallSideEffect : ~m2494_1
# 2495| m2495_6(unknown) = Chi : total:m2494_1, partial:m2495_5
# 2495| m2495_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2495_1
# 2495| m2495_8(ClassWithDestructor) = Chi : total:m2495_2, partial:m2495_7
#-----| r0_25(glval<ClassWithDestructor>) = VariableAddress[f] :
#-----| r0_26(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
#-----| v0_27(void) = Call[~ClassWithDestructor] : func:r0_26, this:r0_25
#-----| m0_28(unknown) = ^CallSideEffect : ~m2495_6
#-----| m0_29(unknown) = Chi : total:m2495_6, partial:m0_28
#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_25, m2495_8
#-----| m0_31(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r0_25
#-----| m0_32(ClassWithDestructor) = Chi : total:m2495_8, partial:m0_31
#-----| Goto (back edge) -> Block 5
# 2497| Block 7
# 2497| r2497_1(glval<int>) = VariableAddress[i] :
# 2497| r2497_2(int) = Constant[0] :
# 2497| m2497_3(int) = Store[i] : &:r2497_1, r2497_2
#-----| Goto -> Block 8
# 2497| Block 8
# 2497| m2497_4(unknown) = Phi : from 7:~m2494_1, from 9:~m0_37
# 2497| m2497_5(int) = Phi : from 7:m2497_3, from 9:m2497_15
# 2497| r2497_6(glval<int>) = VariableAddress[i] :
# 2497| r2497_7(int) = Load[i] : &:r2497_6, m2497_5
# 2497| r2497_8(int) = Constant[42] :
# 2497| r2497_9(bool) = CompareLT : r2497_7, r2497_8
# 2497| v2497_10(void) = ConditionalBranch : r2497_9
#-----| False -> Block 10
#-----| True -> Block 9
# 2498| Block 9
# 2498| r2498_1(glval<ClassWithDestructor>) = VariableAddress[g] :
# 2498| m2498_2(ClassWithDestructor) = Uninitialized[g] : &:r2498_1
# 2498| r2498_3(glval<unknown>) = FunctionAddress[ClassWithDestructor] :
# 2498| v2498_4(void) = Call[ClassWithDestructor] : func:r2498_3, this:r2498_1
# 2498| m2498_5(unknown) = ^CallSideEffect : ~m2497_4
# 2498| m2498_6(unknown) = Chi : total:m2497_4, partial:m2498_5
# 2498| m2498_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2498_1
# 2498| m2498_8(ClassWithDestructor) = Chi : total:m2498_2, partial:m2498_7
#-----| r0_33(glval<ClassWithDestructor>) = VariableAddress[g] :
#-----| r0_34(glval<unknown>) = FunctionAddress[~ClassWithDestructor] :
#-----| v0_35(void) = Call[~ClassWithDestructor] : func:r0_34, this:r0_33
#-----| m0_36(unknown) = ^CallSideEffect : ~m2498_6
#-----| m0_37(unknown) = Chi : total:m2498_6, partial:m0_36
#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_33, m2498_8
#-----| m0_39(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r0_33
#-----| m0_40(ClassWithDestructor) = Chi : total:m2498_8, partial:m0_39
# 2497| r2497_11(glval<int>) = VariableAddress[i] :
# 2497| r2497_12(int) = Load[i] : &:r2497_11, m2497_5
# 2497| r2497_13(int) = Constant[1] :
# 2497| r2497_14(int) = Add : r2497_12, r2497_13
# 2497| m2497_15(int) = Store[i] : &:r2497_11, r2497_14
#-----| Goto (back edge) -> Block 8
# 2499| Block 10
# 2499| v2499_1(void) = NoOp :
# 2484| v2484_7(void) = ReturnVoid :
# 2484| v2484_8(void) = AliasedUse : ~m2497_4
# 2484| v2484_9(void) = ExitFunction :
perf-regression.cpp:
# 6| void Big::Big()
# 6| Block 0
# 6| v6_1(void) = EnterFunction :
# 6| m6_2(unknown) = AliasedDefinition :
# 6| m6_3(unknown) = InitializeNonLocal :
# 6| m6_4(unknown) = Chi : total:m6_2, partial:m6_3
# 6| r6_5(glval<unknown>) = VariableAddress[#this] :
# 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_10(int) = Constant[0] :
# 6| r6_11(glval<char>) = PointerAdd[1] : r6_9, r6_10
# 6| r6_12(unknown[1073741824]) = Constant[0] :
# 6| m6_13(unknown[1073741824]) = Store[?] : &:r6_11, r6_12
# 6| m6_14(unknown) = Chi : total:m6_8, partial:m6_13
# 6| v6_15(void) = NoOp :
# 6| v6_16(void) = ReturnIndirection[#this] : &:r6_7, m6_14
# 6| v6_17(void) = ReturnVoid :
# 6| v6_18(void) = AliasedUse : m6_3
# 6| v6_19(void) = ExitFunction :
# 9| int main()
# 9| Block 0
# 9| v9_1(void) = EnterFunction :
# 9| m9_2(unknown) = AliasedDefinition :
# 9| m9_3(unknown) = InitializeNonLocal :
# 9| m9_4(unknown) = Chi : total:m9_2, partial:m9_3
# 10| r10_1(glval<Big *>) = VariableAddress[big] :
# 10| r10_2(glval<unknown>) = FunctionAddress[operator new] :
# 10| r10_3(unsigned long) = Constant[1073741824] :
# 10| r10_4(void *) = Call[operator new] : func:r10_2, 0:r10_3
# 10| m10_5(unknown) = ^CallSideEffect : ~m9_4
# 10| m10_6(unknown) = Chi : total:m9_4, partial:m10_5
# 10| m10_7(unknown) = ^InitializeDynamicAllocation : &:r10_4
# 10| r10_8(Big *) = Convert : r10_4
# 10| r10_9(glval<unknown>) = FunctionAddress[Big] :
# 10| v10_10(void) = Call[Big] : func:r10_9, this:r10_8
# 10| m10_11(unknown) = ^CallSideEffect : ~m10_6
# 10| m10_12(unknown) = Chi : total:m10_6, partial:m10_11
# 10| m10_13(Big) = ^IndirectMayWriteSideEffect[-1] : &:r10_8
# 10| m10_14(unknown) = Chi : total:m10_7, partial:m10_13
# 10| m10_15(Big *) = Store[big] : &:r10_1, r10_8
# 12| r12_1(glval<int>) = VariableAddress[#return] :
# 12| r12_2(int) = Constant[0] :
# 12| m12_3(int) = Store[#return] : &:r12_1, r12_2
# 9| r9_5(glval<int>) = VariableAddress[#return] :
# 9| v9_6(void) = ReturnValue : &:r9_5, m12_3
# 9| v9_7(void) = AliasedUse : ~m10_12
# 9| v9_8(void) = ExitFunction :
smart_ptr.cpp:
# 10| void call_unique_ptr_arg(int*)
# 10| Block 0
# 10| v10_1(void) = EnterFunction :
# 10| m10_2(unknown) = AliasedDefinition :
# 10| m10_3(unknown) = InitializeNonLocal :
# 10| m10_4(unknown) = Chi : total:m10_2, partial:m10_3
# 10| r10_5(glval<int *>) = VariableAddress[p] :
# 10| m10_6(int *) = InitializeParameter[p] : &:r10_5
# 10| r10_7(int *) = Load[p] : &:r10_5, m10_6
# 10| m10_8(unknown) = InitializeIndirection[p] : &:r10_7
# 10| m10_9(unknown) = Chi : total:m10_4, partial:m10_8
# 11| r11_1(glval<unique_ptr<int, default_delete<int>>>) = VariableAddress[up] :
# 11| m11_2(unique_ptr<int, default_delete<int>>) = Uninitialized[up] : &:r11_1
# 11| r11_3(glval<unknown>) = FunctionAddress[unique_ptr] :
# 11| r11_4(glval<int *>) = VariableAddress[p] :
# 11| r11_5(int *) = Load[p] : &:r11_4, m10_6
# 11| v11_6(void) = Call[unique_ptr] : func:r11_3, this:r11_1, 0:r11_5
# 11| m11_7(unknown) = ^CallSideEffect : ~m10_9
# 11| m11_8(unknown) = Chi : total:m10_9, partial:m11_7
# 11| m11_9(unique_ptr<int, default_delete<int>>) = ^IndirectMustWriteSideEffect[-1] : &:r11_1
# 12| r12_1(glval<unknown>) = FunctionAddress[unique_ptr_arg] :
# 12| r12_2(glval<unique_ptr<int, default_delete<int>>>) = VariableAddress[#temp12:20] :
# 12| r12_3(glval<unknown>) = FunctionAddress[move] :
# 12| r12_4(glval<unique_ptr<int, default_delete<int>>>) = VariableAddress[up] :
# 12| r12_5(unique_ptr<int, default_delete<int>> &) = CopyValue : r12_4
# 12| r12_6(unique_ptr<int, default_delete<int>> &&) = Call[move] : func:r12_3, 0:r12_5
# 12| r12_7(unique_ptr<int, default_delete<int>>) = Load[?] : &:r12_6, m11_9
# 12| m12_8(unique_ptr<int, default_delete<int>>) = Store[#temp12:20] : &:r12_2, r12_7
# 12| r12_9(unique_ptr<int, default_delete<int>>) = Load[#temp12:20] : &:r12_2, m12_8
# 12| v12_10(void) = Call[unique_ptr_arg] : func:r12_1, 0:r12_9
# 12| m12_11(unknown) = ^CallSideEffect : ~m11_8
# 12| m12_12(unknown) = Chi : total:m11_8, partial:m12_11
# 12| v12_13(void) = ^BufferReadSideEffect[0] : &:r12_9, ~m12_12
# 12| m12_14(unknown) = ^BufferMayWriteSideEffect[0] : &:r12_9
# 12| m12_15(unknown) = Chi : total:m12_12, partial:m12_14
# 12| r12_16(glval<unique_ptr<int, default_delete<int>>>) = CopyValue : r12_2
# 12| r12_17(glval<unknown>) = FunctionAddress[~unique_ptr] :
# 12| v12_18(void) = Call[~unique_ptr] : func:r12_17, this:r12_16
# 12| v12_19(void) = ^IndirectReadSideEffect[-1] : &:r12_16, m12_8
# 12| m12_20(unique_ptr<int, default_delete<int>>) = ^IndirectMustWriteSideEffect[-1] : &:r12_16
# 13| v13_1(void) = NoOp :
# 13| r13_2(glval<unique_ptr<int, default_delete<int>>>) = VariableAddress[up] :
# 13| r13_3(glval<unknown>) = FunctionAddress[~unique_ptr] :
# 13| v13_4(void) = Call[~unique_ptr] : func:r13_3, this:r13_2
# 13| v13_5(void) = ^IndirectReadSideEffect[-1] : &:r13_2, m11_9
# 13| m13_6(unique_ptr<int, default_delete<int>>) = ^IndirectMustWriteSideEffect[-1] : &:r13_2
# 10| v10_10(void) = ReturnIndirection[p] : &:r10_7, ~m12_15
# 10| v10_11(void) = ReturnVoid :
# 10| v10_12(void) = AliasedUse : ~m12_15
# 10| v10_13(void) = ExitFunction :
# 17| void call_shared_ptr_arg(float*)
# 17| Block 0
# 17| v17_1(void) = EnterFunction :
# 17| m17_2(unknown) = AliasedDefinition :
# 17| m17_3(unknown) = InitializeNonLocal :
# 17| m17_4(unknown) = Chi : total:m17_2, partial:m17_3
# 17| r17_5(glval<float *>) = VariableAddress[p] :
# 17| m17_6(float *) = InitializeParameter[p] : &:r17_5
# 17| r17_7(float *) = Load[p] : &:r17_5, m17_6
# 17| m17_8(unknown) = InitializeIndirection[p] : &:r17_7
# 17| m17_9(unknown) = Chi : total:m17_4, partial:m17_8
# 18| r18_1(glval<shared_ptr<float>>) = VariableAddress[sp] :
# 18| m18_2(shared_ptr<float>) = Uninitialized[sp] : &:r18_1
# 18| m18_3(unknown) = Chi : total:m17_9, partial:m18_2
# 18| r18_4(glval<unknown>) = FunctionAddress[shared_ptr] :
# 18| r18_5(glval<float *>) = VariableAddress[p] :
# 18| r18_6(float *) = Load[p] : &:r18_5, m17_6
# 18| v18_7(void) = Call[shared_ptr] : func:r18_4, this:r18_1, 0:r18_6
# 18| m18_8(unknown) = ^CallSideEffect : ~m18_3
# 18| m18_9(unknown) = Chi : total:m18_3, partial:m18_8
# 18| m18_10(shared_ptr<float>) = ^IndirectMustWriteSideEffect[-1] : &:r18_1
# 18| m18_11(unknown) = Chi : total:m18_9, partial:m18_10
# 19| r19_1(glval<unknown>) = FunctionAddress[shared_ptr_arg] :
# 19| r19_2(glval<shared_ptr<float>>) = VariableAddress[#temp19:20] :
# 19| m19_3(shared_ptr<float>) = Uninitialized[#temp19:20] : &:r19_2
# 19| r19_4(glval<unknown>) = FunctionAddress[shared_ptr] :
# 19| r19_5(glval<shared_ptr<float>>) = VariableAddress[sp] :
# 19| r19_6(glval<shared_ptr<float>>) = Convert : r19_5
# 19| r19_7(shared_ptr<float> &) = CopyValue : r19_6
# 19| v19_8(void) = Call[shared_ptr] : func:r19_4, this:r19_2, 0:r19_7
# 19| m19_9(unknown) = ^CallSideEffect : ~m18_11
# 19| m19_10(unknown) = Chi : total:m18_11, partial:m19_9
# 19| v19_11(void) = ^IndirectReadSideEffect[0] : &:r19_7, ~m19_10
# 19| m19_12(shared_ptr<float>) = ^IndirectMustWriteSideEffect[-1] : &:r19_2
# 19| r19_13(shared_ptr<float>) = Load[#temp19:20] : &:r19_2, m19_12
# 19| v19_14(void) = Call[shared_ptr_arg] : func:r19_1, 0:r19_13
# 19| m19_15(unknown) = ^CallSideEffect : ~m19_10
# 19| m19_16(unknown) = Chi : total:m19_10, partial:m19_15
# 19| v19_17(void) = ^BufferReadSideEffect[0] : &:r19_13, ~m19_16
# 19| m19_18(unknown) = ^BufferMayWriteSideEffect[0] : &:r19_13
# 19| m19_19(unknown) = Chi : total:m19_16, partial:m19_18
# 19| r19_20(glval<shared_ptr<float>>) = CopyValue : r19_2
# 19| r19_21(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 19| v19_22(void) = Call[~shared_ptr] : func:r19_21, this:r19_20
# 19| v19_23(void) = ^IndirectReadSideEffect[-1] : &:r19_20, m19_12
# 19| m19_24(shared_ptr<float>) = ^IndirectMustWriteSideEffect[-1] : &:r19_20
# 20| v20_1(void) = NoOp :
# 20| r20_2(glval<shared_ptr<float>>) = VariableAddress[sp] :
# 20| r20_3(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 20| v20_4(void) = Call[~shared_ptr] : func:r20_3, this:r20_2
# 20| v20_5(void) = ^IndirectReadSideEffect[-1] : &:r20_2, ~m19_19
# 20| m20_6(shared_ptr<float>) = ^IndirectMustWriteSideEffect[-1] : &:r20_2
# 20| m20_7(unknown) = Chi : total:m19_19, partial:m20_6
# 17| v17_10(void) = ReturnIndirection[p] : &:r17_7, ~m20_7
# 17| v17_11(void) = ReturnVoid :
# 17| v17_12(void) = AliasedUse : ~m19_19
# 17| v17_13(void) = ExitFunction :
# 28| void call_shared_ptr_consts()
# 28| Block 0
# 28| v28_1(void) = EnterFunction :
# 28| m28_2(unknown) = AliasedDefinition :
# 28| m28_3(unknown) = InitializeNonLocal :
# 28| m28_4(unknown) = Chi : total:m28_2, partial:m28_3
# 29| r29_1(glval<shared_ptr<const int>>) = VariableAddress[sp_const_int] :
# 29| m29_2(shared_ptr<const int>) = Uninitialized[sp_const_int] : &:r29_1
# 29| m29_3(unknown) = Chi : total:m28_4, partial:m29_2
# 31| r31_1(glval<unknown>) = FunctionAddress[shared_ptr_const_int] :
# 31| r31_2(glval<shared_ptr<const int>>) = VariableAddress[#temp31:26] :
# 31| m31_3(shared_ptr<const int>) = Uninitialized[#temp31:26] : &:r31_2
# 31| r31_4(glval<unknown>) = FunctionAddress[shared_ptr] :
# 31| r31_5(glval<shared_ptr<const int>>) = VariableAddress[sp_const_int] :
# 31| r31_6(glval<shared_ptr<const int>>) = Convert : r31_5
# 31| r31_7(shared_ptr<const int> &) = CopyValue : r31_6
# 31| v31_8(void) = Call[shared_ptr] : func:r31_4, this:r31_2, 0:r31_7
# 31| m31_9(unknown) = ^CallSideEffect : ~m29_3
# 31| m31_10(unknown) = Chi : total:m29_3, partial:m31_9
# 31| v31_11(void) = ^IndirectReadSideEffect[0] : &:r31_7, ~m31_10
# 31| m31_12(shared_ptr<const int>) = ^IndirectMustWriteSideEffect[-1] : &:r31_2
# 31| r31_13(shared_ptr<const int>) = Load[#temp31:26] : &:r31_2, m31_12
# 31| v31_14(void) = Call[shared_ptr_const_int] : func:r31_1, 0:r31_13
# 31| m31_15(unknown) = ^CallSideEffect : ~m31_10
# 31| m31_16(unknown) = Chi : total:m31_10, partial:m31_15
# 31| v31_17(void) = ^BufferReadSideEffect[0] : &:r31_13, ~m31_16
# 31| r31_18(glval<shared_ptr<const int>>) = CopyValue : r31_2
# 31| r31_19(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 31| v31_20(void) = Call[~shared_ptr] : func:r31_19, this:r31_18
# 31| v31_21(void) = ^IndirectReadSideEffect[-1] : &:r31_18, m31_12
# 31| m31_22(shared_ptr<const int>) = ^IndirectMustWriteSideEffect[-1] : &:r31_18
# 33| r33_1(glval<shared_ptr<int *const>>) = VariableAddress[sp_const_int_pointer] :
# 33| m33_2(shared_ptr<int *const>) = Uninitialized[sp_const_int_pointer] : &:r33_1
# 33| m33_3(unknown) = Chi : total:m31_16, partial:m33_2
# 35| r35_1(glval<unknown>) = FunctionAddress[shared_ptr_const_int_ptr] :
# 35| r35_2(glval<shared_ptr<int *const>>) = VariableAddress[#temp35:30] :
# 35| m35_3(shared_ptr<int *const>) = Uninitialized[#temp35:30] : &:r35_2
# 35| r35_4(glval<unknown>) = FunctionAddress[shared_ptr] :
# 35| r35_5(glval<shared_ptr<int *const>>) = VariableAddress[sp_const_int_pointer] :
# 35| r35_6(glval<shared_ptr<int *const>>) = Convert : r35_5
# 35| r35_7(shared_ptr<int *const> &) = CopyValue : r35_6
# 35| v35_8(void) = Call[shared_ptr] : func:r35_4, this:r35_2, 0:r35_7
# 35| m35_9(unknown) = ^CallSideEffect : ~m33_3
# 35| m35_10(unknown) = Chi : total:m33_3, partial:m35_9
# 35| v35_11(void) = ^IndirectReadSideEffect[0] : &:r35_7, ~m35_10
# 35| m35_12(shared_ptr<int *const>) = ^IndirectMustWriteSideEffect[-1] : &:r35_2
# 35| r35_13(shared_ptr<int *const>) = Load[#temp35:30] : &:r35_2, m35_12
# 35| v35_14(void) = Call[shared_ptr_const_int_ptr] : func:r35_1, 0:r35_13
# 35| m35_15(unknown) = ^CallSideEffect : ~m35_10
# 35| m35_16(unknown) = Chi : total:m35_10, partial:m35_15
# 35| v35_17(void) = ^BufferReadSideEffect[0] : &:r35_13, ~m35_16
# 35| m35_18(unknown) = ^BufferMayWriteSideEffect[0] : &:r35_13
# 35| m35_19(unknown) = Chi : total:m35_16, partial:m35_18
# 35| r35_20(glval<shared_ptr<int *const>>) = CopyValue : r35_2
# 35| r35_21(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 35| v35_22(void) = Call[~shared_ptr] : func:r35_21, this:r35_20
# 35| v35_23(void) = ^IndirectReadSideEffect[-1] : &:r35_20, m35_12
# 35| m35_24(shared_ptr<int *const>) = ^IndirectMustWriteSideEffect[-1] : &:r35_20
# 37| r37_1(glval<shared_ptr<shared_ptr<const int>>>) = VariableAddress[sp_sp_const_int] :
# 37| m37_2(shared_ptr<shared_ptr<const int>>) = Uninitialized[sp_sp_const_int] : &:r37_1
# 37| m37_3(unknown) = Chi : total:m35_19, partial:m37_2
# 39| r39_1(glval<unknown>) = FunctionAddress[shared_ptr_shared_ptr_const_int] :
# 39| r39_2(glval<shared_ptr<shared_ptr<const int>>>) = VariableAddress[#temp39:37] :
# 39| m39_3(shared_ptr<shared_ptr<const int>>) = Uninitialized[#temp39:37] : &:r39_2
# 39| r39_4(glval<unknown>) = FunctionAddress[shared_ptr] :
# 39| r39_5(glval<shared_ptr<shared_ptr<const int>>>) = VariableAddress[sp_sp_const_int] :
# 39| r39_6(glval<shared_ptr<shared_ptr<const int>>>) = Convert : r39_5
# 39| r39_7(shared_ptr<shared_ptr<const int>> &) = CopyValue : r39_6
# 39| v39_8(void) = Call[shared_ptr] : func:r39_4, this:r39_2, 0:r39_7
# 39| m39_9(unknown) = ^CallSideEffect : ~m37_3
# 39| m39_10(unknown) = Chi : total:m37_3, partial:m39_9
# 39| v39_11(void) = ^IndirectReadSideEffect[0] : &:r39_7, ~m39_10
# 39| m39_12(shared_ptr<shared_ptr<const int>>) = ^IndirectMustWriteSideEffect[-1] : &:r39_2
# 39| r39_13(shared_ptr<shared_ptr<const int>>) = Load[#temp39:37] : &:r39_2, m39_12
# 39| v39_14(void) = Call[shared_ptr_shared_ptr_const_int] : func:r39_1, 0:r39_13
# 39| m39_15(unknown) = ^CallSideEffect : ~m39_10
# 39| m39_16(unknown) = Chi : total:m39_10, partial:m39_15
# 39| v39_17(void) = ^BufferReadSideEffect[0] : &:r39_13, ~m39_16
# 39| m39_18(unknown) = ^BufferMayWriteSideEffect[0] : &:r39_13
# 39| m39_19(unknown) = Chi : total:m39_16, partial:m39_18
# 39| r39_20(glval<shared_ptr<shared_ptr<const int>>>) = CopyValue : r39_2
# 39| r39_21(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 39| v39_22(void) = Call[~shared_ptr] : func:r39_21, this:r39_20
# 39| v39_23(void) = ^IndirectReadSideEffect[-1] : &:r39_20, m39_12
# 39| m39_24(shared_ptr<shared_ptr<const int>>) = ^IndirectMustWriteSideEffect[-1] : &:r39_20
# 41| r41_1(glval<shared_ptr<const shared_ptr<int>>>) = VariableAddress[sp_const_sp_int] :
# 41| m41_2(shared_ptr<const shared_ptr<int>>) = Uninitialized[sp_const_sp_int] : &:r41_1
# 41| m41_3(unknown) = Chi : total:m39_19, partial:m41_2
# 43| r43_1(glval<unknown>) = FunctionAddress[shared_ptr_const_shared_ptr_int] :
# 43| r43_2(glval<shared_ptr<const shared_ptr<int>>>) = VariableAddress[#temp43:37] :
# 43| m43_3(shared_ptr<const shared_ptr<int>>) = Uninitialized[#temp43:37] : &:r43_2
# 43| r43_4(glval<unknown>) = FunctionAddress[shared_ptr] :
# 43| r43_5(glval<shared_ptr<const shared_ptr<int>>>) = VariableAddress[sp_const_sp_int] :
# 43| r43_6(glval<shared_ptr<const shared_ptr<int>>>) = Convert : r43_5
# 43| r43_7(shared_ptr<const shared_ptr<int>> &) = CopyValue : r43_6
# 43| v43_8(void) = Call[shared_ptr] : func:r43_4, this:r43_2, 0:r43_7
# 43| m43_9(unknown) = ^CallSideEffect : ~m41_3
# 43| m43_10(unknown) = Chi : total:m41_3, partial:m43_9
# 43| v43_11(void) = ^IndirectReadSideEffect[0] : &:r43_7, ~m43_10
# 43| m43_12(shared_ptr<const shared_ptr<int>>) = ^IndirectMustWriteSideEffect[-1] : &:r43_2
# 43| r43_13(shared_ptr<const shared_ptr<int>>) = Load[#temp43:37] : &:r43_2, m43_12
# 43| v43_14(void) = Call[shared_ptr_const_shared_ptr_int] : func:r43_1, 0:r43_13
# 43| m43_15(unknown) = ^CallSideEffect : ~m43_10
# 43| m43_16(unknown) = Chi : total:m43_10, partial:m43_15
# 43| v43_17(void) = ^BufferReadSideEffect[0] : &:r43_13, ~m43_16
# 43| m43_18(unknown) = ^BufferMayWriteSideEffect[0] : &:r43_13
# 43| m43_19(unknown) = Chi : total:m43_16, partial:m43_18
# 43| r43_20(glval<shared_ptr<const shared_ptr<int>>>) = CopyValue : r43_2
# 43| r43_21(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 43| v43_22(void) = Call[~shared_ptr] : func:r43_21, this:r43_20
# 43| v43_23(void) = ^IndirectReadSideEffect[-1] : &:r43_20, m43_12
# 43| m43_24(shared_ptr<const shared_ptr<int>>) = ^IndirectMustWriteSideEffect[-1] : &:r43_20
# 45| r45_1(glval<shared_ptr<const shared_ptr<const int>>>) = VariableAddress[sp_const_sp_const_int] :
# 45| m45_2(shared_ptr<const shared_ptr<const int>>) = Uninitialized[sp_const_sp_const_int] : &:r45_1
# 45| m45_3(unknown) = Chi : total:m43_19, partial:m45_2
# 47| r47_1(glval<unknown>) = FunctionAddress[shared_ptr_const_shared_ptr_const_int] :
# 47| r47_2(glval<shared_ptr<const shared_ptr<const int>>>) = VariableAddress[#temp47:43] :
# 47| m47_3(shared_ptr<const shared_ptr<const int>>) = Uninitialized[#temp47:43] : &:r47_2
# 47| r47_4(glval<unknown>) = FunctionAddress[shared_ptr] :
# 47| r47_5(glval<shared_ptr<const shared_ptr<const int>>>) = VariableAddress[sp_const_sp_const_int] :
# 47| r47_6(glval<shared_ptr<const shared_ptr<const int>>>) = Convert : r47_5
# 47| r47_7(shared_ptr<const shared_ptr<const int>> &) = CopyValue : r47_6
# 47| v47_8(void) = Call[shared_ptr] : func:r47_4, this:r47_2, 0:r47_7
# 47| m47_9(unknown) = ^CallSideEffect : ~m45_3
# 47| m47_10(unknown) = Chi : total:m45_3, partial:m47_9
# 47| v47_11(void) = ^IndirectReadSideEffect[0] : &:r47_7, ~m47_10
# 47| m47_12(shared_ptr<const shared_ptr<const int>>) = ^IndirectMustWriteSideEffect[-1] : &:r47_2
# 47| r47_13(shared_ptr<const shared_ptr<const int>>) = Load[#temp47:43] : &:r47_2, m47_12
# 47| v47_14(void) = Call[shared_ptr_const_shared_ptr_const_int] : func:r47_1, 0:r47_13
# 47| m47_15(unknown) = ^CallSideEffect : ~m47_10
# 47| m47_16(unknown) = Chi : total:m47_10, partial:m47_15
# 47| v47_17(void) = ^BufferReadSideEffect[0] : &:r47_13, ~m47_16
# 47| r47_18(glval<shared_ptr<const shared_ptr<const int>>>) = CopyValue : r47_2
# 47| r47_19(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 47| v47_20(void) = Call[~shared_ptr] : func:r47_19, this:r47_18
# 47| v47_21(void) = ^IndirectReadSideEffect[-1] : &:r47_18, m47_12
# 47| m47_22(shared_ptr<const shared_ptr<const int>>) = ^IndirectMustWriteSideEffect[-1] : &:r47_18
# 48| v48_1(void) = NoOp :
# 48| r48_2(glval<shared_ptr<const shared_ptr<const int>>>) = VariableAddress[sp_const_sp_const_int] :
# 48| r48_3(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 48| v48_4(void) = Call[~shared_ptr] : func:r48_3, this:r48_2
# 48| v48_5(void) = ^IndirectReadSideEffect[-1] : &:r48_2, ~m47_16
# 48| m48_6(shared_ptr<const shared_ptr<const int>>) = ^IndirectMustWriteSideEffect[-1] : &:r48_2
# 48| m48_7(unknown) = Chi : total:m47_16, partial:m48_6
# 48| r48_8(glval<shared_ptr<const shared_ptr<int>>>) = VariableAddress[sp_const_sp_int] :
# 48| r48_9(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 48| v48_10(void) = Call[~shared_ptr] : func:r48_9, this:r48_8
# 48| v48_11(void) = ^IndirectReadSideEffect[-1] : &:r48_8, ~m47_16
# 48| m48_12(shared_ptr<const shared_ptr<int>>) = ^IndirectMustWriteSideEffect[-1] : &:r48_8
# 48| m48_13(unknown) = Chi : total:m48_7, partial:m48_12
# 48| r48_14(glval<shared_ptr<shared_ptr<const int>>>) = VariableAddress[sp_sp_const_int] :
# 48| r48_15(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 48| v48_16(void) = Call[~shared_ptr] : func:r48_15, this:r48_14
# 48| v48_17(void) = ^IndirectReadSideEffect[-1] : &:r48_14, ~m47_16
# 48| m48_18(shared_ptr<shared_ptr<const int>>) = ^IndirectMustWriteSideEffect[-1] : &:r48_14
# 48| m48_19(unknown) = Chi : total:m48_13, partial:m48_18
# 48| r48_20(glval<shared_ptr<int *const>>) = VariableAddress[sp_const_int_pointer] :
# 48| r48_21(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 48| v48_22(void) = Call[~shared_ptr] : func:r48_21, this:r48_20
# 48| v48_23(void) = ^IndirectReadSideEffect[-1] : &:r48_20, ~m47_16
# 48| m48_24(shared_ptr<int *const>) = ^IndirectMustWriteSideEffect[-1] : &:r48_20
# 48| m48_25(unknown) = Chi : total:m48_19, partial:m48_24
# 48| r48_26(glval<shared_ptr<const int>>) = VariableAddress[sp_const_int] :
# 48| r48_27(glval<unknown>) = FunctionAddress[~shared_ptr] :
# 48| v48_28(void) = Call[~shared_ptr] : func:r48_27, this:r48_26
# 48| v48_29(void) = ^IndirectReadSideEffect[-1] : &:r48_26, ~m47_16
# 48| m48_30(shared_ptr<const int>) = ^IndirectMustWriteSideEffect[-1] : &:r48_26
# 48| m48_31(unknown) = Chi : total:m48_25, partial:m48_30
# 28| v28_5(void) = ReturnVoid :
# 28| v28_6(void) = AliasedUse : ~m47_16
# 28| v28_7(void) = ExitFunction :
struct_init.cpp:
# 9| Info infos_in_file[]
# 9| Block 0
# 9| v9_1(void) = EnterFunction :
# 9| m9_2(unknown) = AliasedDefinition :
# 9| r9_3(glval<Info[]>) = VariableAddress[infos_in_file] :
# 9| r9_4(int) = Constant[0] :
# 9| r9_5(glval<Info>) = PointerAdd[16] : r9_3, r9_4
# 10| r10_1(glval<char *>) = FieldAddress[name] : r9_5
# 10| r10_2(glval<char[2]>) = StringConstant["1"] :
# 10| r10_3(char *) = Convert : r10_2
# 10| m10_4(char *) = Store[?] : &:r10_1, r10_3
# 10| m10_5(unknown) = Chi : total:m9_2, partial:m10_4
# 10| r10_6(glval<..(*)(..)>) = FieldAddress[handler] : r9_5
# 10| r10_7(..(*)(..)) = FunctionAddress[handler1] :
# 10| m10_8(..(*)(..)) = Store[?] : &:r10_6, r10_7
# 10| m10_9(unknown) = Chi : total:m10_5, partial:m10_8
# 9| r9_6(int) = Constant[1] :
# 9| r9_7(glval<Info>) = PointerAdd[16] : r9_3, r9_6
# 11| r11_1(glval<char *>) = FieldAddress[name] : r9_7
# 11| r11_2(glval<char[2]>) = StringConstant["3"] :
# 11| r11_3(char *) = Convert : r11_2
# 11| m11_4(char *) = Store[?] : &:r11_1, r11_3
# 11| m11_5(unknown) = Chi : total:m10_9, partial:m11_4
# 11| r11_6(glval<..(*)(..)>) = FieldAddress[handler] : r9_7
# 11| r11_7(glval<..()(..)>) = FunctionAddress[handler2] :
# 11| r11_8(..(*)(..)) = CopyValue : r11_7
# 11| m11_9(..(*)(..)) = Store[?] : &:r11_6, r11_8
# 11| m11_10(unknown) = Chi : total:m11_5, partial:m11_9
# 9| v9_8(void) = ReturnVoid :
# 9| v9_9(void) = AliasedUse : ~m11_10
# 9| v9_10(void) = ExitFunction :
# 16| void let_info_escape(Info*)
# 16| Block 0
# 16| v16_1(void) = EnterFunction :
# 16| m16_2(unknown) = AliasedDefinition :
# 16| m16_3(unknown) = InitializeNonLocal :
# 16| m16_4(unknown) = Chi : total:m16_2, partial:m16_3
# 16| r16_5(glval<Info *>) = VariableAddress[info] :
# 16| m16_6(Info *) = InitializeParameter[info] : &:r16_5
# 16| r16_7(Info *) = Load[info] : &:r16_5, m16_6
# 16| m16_8(unknown) = InitializeIndirection[info] : &:r16_7
# 16| m16_9(unknown) = Chi : total:m16_4, partial:m16_8
# 17| r17_1(glval<Info *>) = VariableAddress[info] :
# 17| r17_2(Info *) = Load[info] : &:r17_1, m16_6
# 17| r17_3(glval<Info *>) = VariableAddress[global_pointer] :
# 17| m17_4(Info *) = Store[global_pointer] : &:r17_3, r17_2
# 17| m17_5(unknown) = Chi : total:m16_9, partial:m17_4
# 18| v18_1(void) = NoOp :
# 16| v16_10(void) = ReturnIndirection[info] : &:r16_7, ~m17_5
# 16| v16_11(void) = ReturnVoid :
# 16| v16_12(void) = AliasedUse : ~m17_5
# 16| v16_13(void) = ExitFunction :
# 20| void declare_static_infos()
# 20| Block 0
# 20| v20_1(void) = EnterFunction :
# 20| m20_2(unknown) = AliasedDefinition :
# 20| m20_3(unknown) = InitializeNonLocal :
# 20| m20_4(unknown) = Chi : total:m20_2, partial:m20_3
# 25| r25_1(glval<unknown>) = FunctionAddress[let_info_escape] :
# 25| r25_2(glval<Info[2]>) = VariableAddress[static_infos] :
# 25| r25_3(Info *) = Convert : r25_2
# 25| v25_4(void) = Call[let_info_escape] : func:r25_1, 0:r25_3
# 25| m25_5(unknown) = ^CallSideEffect : ~m20_4
# 25| m25_6(unknown) = Chi : total:m20_4, partial:m25_5
# 25| v25_7(void) = ^BufferReadSideEffect[0] : &:r25_3, ~m25_6
# 25| m25_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r25_3
# 25| m25_9(unknown) = Chi : total:m25_6, partial:m25_8
# 26| v26_1(void) = NoOp :
# 20| v20_5(void) = ReturnVoid :
# 20| v20_6(void) = AliasedUse : ~m25_9
# 20| v20_7(void) = ExitFunction :
# 21| Info[] static_infos
# 21| Block 0
# 21| v21_1(void) = EnterFunction :
# 21| m21_2(unknown) = AliasedDefinition :
# 21| r21_3(glval<Info[]>) = VariableAddress[static_infos] :
# 21| r21_4(int) = Constant[0] :
# 21| r21_5(glval<Info>) = PointerAdd[16] : r21_3, r21_4
# 22| r22_1(glval<char *>) = FieldAddress[name] : r21_5
# 22| r22_2(glval<char[2]>) = StringConstant["1"] :
# 22| r22_3(char *) = Convert : r22_2
# 22| m22_4(char *) = Store[?] : &:r22_1, r22_3
# 22| m22_5(unknown) = Chi : total:m21_2, partial:m22_4
# 22| r22_6(glval<..(*)(..)>) = FieldAddress[handler] : r21_5
# 22| r22_7(..(*)(..)) = FunctionAddress[handler1] :
# 22| m22_8(..(*)(..)) = Store[?] : &:r22_6, r22_7
# 22| m22_9(unknown) = Chi : total:m22_5, partial:m22_8
# 21| r21_6(int) = Constant[1] :
# 21| r21_7(glval<Info>) = PointerAdd[16] : r21_3, r21_6
# 23| r23_1(glval<char *>) = FieldAddress[name] : r21_7
# 23| r23_2(glval<char[2]>) = StringConstant["2"] :
# 23| r23_3(char *) = Convert : r23_2
# 23| m23_4(char *) = Store[?] : &:r23_1, r23_3
# 23| m23_5(unknown) = Chi : total:m22_9, partial:m23_4
# 23| r23_6(glval<..(*)(..)>) = FieldAddress[handler] : r21_7
# 23| r23_7(glval<..()(..)>) = FunctionAddress[handler2] :
# 23| r23_8(..(*)(..)) = CopyValue : r23_7
# 23| m23_9(..(*)(..)) = Store[?] : &:r23_6, r23_8
# 23| m23_10(unknown) = Chi : total:m23_5, partial:m23_9
# 21| v21_8(void) = ReturnVoid :
# 21| v21_9(void) = AliasedUse : ~m23_10
# 21| v21_10(void) = ExitFunction :
# 28| void declare_local_infos()
# 28| Block 0
# 28| v28_1(void) = EnterFunction :
# 28| m28_2(unknown) = AliasedDefinition :
# 28| m28_3(unknown) = InitializeNonLocal :
# 28| m28_4(unknown) = Chi : total:m28_2, partial:m28_3
# 29| r29_1(glval<Info[2]>) = VariableAddress[local_infos] :
# 29| m29_2(Info[2]) = Uninitialized[local_infos] : &:r29_1
# 29| m29_3(unknown) = Chi : total:m28_4, partial:m29_2
# 29| r29_4(int) = Constant[0] :
# 29| r29_5(glval<Info>) = PointerAdd[16] : r29_1, r29_4
# 30| r30_1(glval<char *>) = FieldAddress[name] : r29_5
# 30| r30_2(glval<char[2]>) = StringConstant["1"] :
# 30| r30_3(char *) = Convert : r30_2
# 30| m30_4(char *) = Store[?] : &:r30_1, r30_3
# 30| m30_5(unknown) = Chi : total:m29_3, partial:m30_4
# 30| r30_6(glval<..(*)(..)>) = FieldAddress[handler] : r29_5
# 30| r30_7(..(*)(..)) = FunctionAddress[handler1] :
# 30| m30_8(..(*)(..)) = Store[?] : &:r30_6, r30_7
# 30| m30_9(unknown) = Chi : total:m30_5, partial:m30_8
# 29| r29_6(int) = Constant[1] :
# 29| r29_7(glval<Info>) = PointerAdd[16] : r29_1, r29_6
# 31| r31_1(glval<char *>) = FieldAddress[name] : r29_7
# 31| r31_2(glval<char[2]>) = StringConstant["2"] :
# 31| r31_3(char *) = Convert : r31_2
# 31| m31_4(char *) = Store[?] : &:r31_1, r31_3
# 31| m31_5(unknown) = Chi : total:m30_9, partial:m31_4
# 31| r31_6(glval<..(*)(..)>) = FieldAddress[handler] : r29_7
# 31| r31_7(glval<..()(..)>) = FunctionAddress[handler2] :
# 31| r31_8(..(*)(..)) = CopyValue : r31_7
# 31| m31_9(..(*)(..)) = Store[?] : &:r31_6, r31_8
# 31| m31_10(unknown) = Chi : total:m31_5, partial:m31_9
# 33| r33_1(glval<unknown>) = FunctionAddress[let_info_escape] :
# 33| r33_2(glval<Info[2]>) = VariableAddress[local_infos] :
# 33| r33_3(Info *) = Convert : r33_2
# 33| v33_4(void) = Call[let_info_escape] : func:r33_1, 0:r33_3
# 33| m33_5(unknown) = ^CallSideEffect : ~m31_10
# 33| m33_6(unknown) = Chi : total:m31_10, partial:m33_5
# 33| v33_7(void) = ^BufferReadSideEffect[0] : &:r33_3, ~m33_6
# 33| m33_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r33_3
# 33| m33_9(unknown) = Chi : total:m33_6, partial:m33_8
# 34| v34_1(void) = NoOp :
# 28| v28_5(void) = ReturnVoid :
# 28| v28_6(void) = AliasedUse : ~m33_6
# 28| v28_7(void) = ExitFunction :
# 36| void declare_static_runtime_infos(char const*)
# 36| Block 0
# 36| v36_1(void) = EnterFunction :
# 36| m36_2(unknown) = AliasedDefinition :
# 36| m36_3(unknown) = InitializeNonLocal :
# 36| m36_4(unknown) = Chi : total:m36_2, partial:m36_3
# 36| r36_5(glval<char *>) = VariableAddress[name1] :
# 36| m36_6(char *) = InitializeParameter[name1] : &:r36_5
# 36| r36_7(char *) = Load[name1] : &:r36_5, m36_6
# 36| m36_8(unknown) = InitializeIndirection[name1] : &:r36_7
# 36| m36_9(unknown) = Chi : total:m36_4, partial:m36_8
# 37| r37_1(glval<bool>) = VariableAddress[static_infos#init] :
# 37| r37_2(bool) = Load[static_infos#init] : &:r37_1, ~m36_3
# 37| v37_3(void) = ConditionalBranch : r37_2
#-----| False -> Block 1
#-----| True -> Block 2
# 37| Block 1
# 37| r37_4(glval<Info[2]>) = VariableAddress[static_infos] :
# 37| r37_5(int) = Constant[0] :
# 37| r37_6(glval<Info>) = PointerAdd[16] : r37_4, r37_5
# 38| r38_1(glval<char *>) = FieldAddress[name] : r37_6
# 38| r38_2(glval<char *>) = VariableAddress[name1] :
# 38| r38_3(char *) = Load[name1] : &:r38_2, m36_6
# 38| m38_4(char *) = Store[?] : &:r38_1, r38_3
# 38| m38_5(unknown) = Chi : total:m36_9, partial:m38_4
# 38| r38_6(glval<..(*)(..)>) = FieldAddress[handler] : r37_6
# 38| r38_7(..(*)(..)) = FunctionAddress[handler1] :
# 38| m38_8(..(*)(..)) = Store[?] : &:r38_6, r38_7
# 38| m38_9(unknown) = Chi : total:m38_5, partial:m38_8
# 37| r37_7(int) = Constant[1] :
# 37| r37_8(glval<Info>) = PointerAdd[16] : r37_4, r37_7
# 39| r39_1(glval<char *>) = FieldAddress[name] : r37_8
# 39| r39_2(glval<char[2]>) = StringConstant["2"] :
# 39| r39_3(char *) = Convert : r39_2
# 39| m39_4(char *) = Store[?] : &:r39_1, r39_3
# 39| m39_5(unknown) = Chi : total:m38_9, partial:m39_4
# 39| r39_6(glval<..(*)(..)>) = FieldAddress[handler] : r37_8
# 39| r39_7(glval<..()(..)>) = FunctionAddress[handler2] :
# 39| r39_8(..(*)(..)) = CopyValue : r39_7
# 39| m39_9(..(*)(..)) = Store[?] : &:r39_6, r39_8
# 39| m39_10(unknown) = Chi : total:m39_5, partial:m39_9
# 37| r37_9(bool) = Constant[1] :
# 37| m37_10(bool) = Store[static_infos#init] : &:r37_1, r37_9
# 37| m37_11(unknown) = Chi : total:m39_10, partial:m37_10
#-----| Goto -> Block 2
# 41| Block 2
# 41| m41_1(unknown) = Phi : from 0:~m36_9, from 1:~m37_11
# 41| r41_2(glval<unknown>) = FunctionAddress[let_info_escape] :
# 41| r41_3(glval<Info[2]>) = VariableAddress[static_infos] :
# 41| r41_4(Info *) = Convert : r41_3
# 41| v41_5(void) = Call[let_info_escape] : func:r41_2, 0:r41_4
# 41| m41_6(unknown) = ^CallSideEffect : ~m41_1
# 41| m41_7(unknown) = Chi : total:m41_1, partial:m41_6
# 41| v41_8(void) = ^BufferReadSideEffect[0] : &:r41_4, ~m41_7
# 41| m41_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r41_4
# 41| m41_10(unknown) = Chi : total:m41_7, partial:m41_9
# 42| v42_1(void) = NoOp :
# 36| v36_10(void) = ReturnIndirection[name1] : &:r36_7, ~m41_10
# 36| v36_11(void) = ReturnVoid :
# 36| v36_12(void) = AliasedUse : ~m41_10
# 36| v36_13(void) = ExitFunction :
try_except.c:
# 6| void f()
# 6| Block 0
# 6| v6_1(void) = EnterFunction :
# 6| m6_2(unknown) = AliasedDefinition :
# 6| m6_3(unknown) = InitializeNonLocal :
# 6| m6_4(unknown) = Chi : total:m6_2, partial:m6_3
# 7| r7_1(glval<int>) = VariableAddress[x] :
# 7| m7_2(int) = Uninitialized[x] : &:r7_1
# 7| r7_3(glval<int>) = VariableAddress[y] :
# 7| r7_4(int) = Constant[0] :
# 7| m7_5(int) = Store[y] : &:r7_3, r7_4
# 9| r9_1(glval<unknown>) = FunctionAddress[ProbeFunction] :
# 9| r9_2(int) = Constant[0] :
# 9| v9_3(void) = Call[ProbeFunction] : func:r9_1, 0:r9_2
# 9| m9_4(unknown) = ^CallSideEffect : ~m6_4
# 9| m9_5(unknown) = Chi : total:m6_4, partial:m9_4
# 10| r10_1(glval<int>) = VariableAddress[y] :
# 10| r10_2(int) = Load[y] : &:r10_1, m7_5
# 10| r10_3(glval<int>) = VariableAddress[x] :
# 10| m10_4(int) = Store[x] : &:r10_3, r10_2
# 11| r11_1(glval<unknown>) = FunctionAddress[ProbeFunction] :
# 11| r11_2(int) = Constant[0] :
# 11| v11_3(void) = Call[ProbeFunction] : func:r11_1, 0:r11_2
# 11| m11_4(unknown) = ^CallSideEffect : ~m9_5
# 11| m11_5(unknown) = Chi : total:m9_5, partial:m11_4
# 16| v16_1(void) = NoOp :
# 6| v6_5(void) = ReturnVoid :
# 6| v6_6(void) = AliasedUse : ~m11_5
# 6| v6_7(void) = ExitFunction :
# 6| Block 1
# 6| v6_8(void) = Unreached :
# 18| void g()
# 18| Block 0
# 18| v18_1(void) = EnterFunction :
# 18| m18_2(unknown) = AliasedDefinition :
# 18| m18_3(unknown) = InitializeNonLocal :
# 18| m18_4(unknown) = Chi : total:m18_2, partial:m18_3
# 19| r19_1(glval<int>) = VariableAddress[x] :
# 19| m19_2(int) = Uninitialized[x] : &:r19_1
# 19| r19_3(glval<int>) = VariableAddress[y] :
# 19| r19_4(int) = Constant[0] :
# 19| m19_5(int) = Store[y] : &:r19_3, r19_4
# 21| r21_1(glval<unknown>) = FunctionAddress[ProbeFunction] :
# 21| r21_2(int) = Constant[0] :
# 21| v21_3(void) = Call[ProbeFunction] : func:r21_1, 0:r21_2
# 21| m21_4(unknown) = ^CallSideEffect : ~m18_4
# 21| m21_5(unknown) = Chi : total:m18_4, partial:m21_4
# 22| r22_1(glval<int>) = VariableAddress[y] :
# 22| r22_2(int) = Load[y] : &:r22_1, m19_5
# 22| r22_3(glval<int>) = VariableAddress[x] :
# 22| m22_4(int) = Store[x] : &:r22_3, r22_2
# 23| r23_1(glval<unknown>) = FunctionAddress[ProbeFunction] :
# 23| r23_2(int) = Constant[0] :
# 23| v23_3(void) = Call[ProbeFunction] : func:r23_1, 0:r23_2
# 23| m23_4(unknown) = ^CallSideEffect : ~m21_5
# 23| m23_5(unknown) = Chi : total:m21_5, partial:m23_4
# 26| r26_1(glval<unknown>) = FunctionAddress[sink] :
# 26| r26_2(glval<int>) = VariableAddress[x] :
# 26| r26_3(int) = Load[x] : &:r26_2, m22_4
# 26| v26_4(void) = Call[sink] : func:r26_1, 0:r26_3
# 26| m26_5(unknown) = ^CallSideEffect : ~m23_5
# 26| m26_6(unknown) = Chi : total:m23_5, partial:m26_5
# 28| v28_1(void) = NoOp :
# 18| v18_5(void) = ReturnVoid :
# 18| v18_6(void) = AliasedUse : ~m26_6
# 18| v18_7(void) = ExitFunction :
# 32| void h(int)
# 32| Block 0
# 32| v32_1(void) = EnterFunction :
# 32| m32_2(unknown) = AliasedDefinition :
# 32| m32_3(unknown) = InitializeNonLocal :
# 32| m32_4(unknown) = Chi : total:m32_2, partial:m32_3
# 32| r32_5(glval<int>) = VariableAddress[b] :
# 32| m32_6(int) = InitializeParameter[b] : &:r32_5
# 33| r33_1(glval<int>) = VariableAddress[x] :
# 33| r33_2(int) = Constant[0] :
# 33| m33_3(int) = Store[x] : &:r33_1, r33_2
# 35| r35_1(glval<int>) = VariableAddress[b] :
# 35| r35_2(int) = Load[b] : &:r35_1, m32_6
# 35| v35_3(void) = ConditionalBranch : r35_2
#-----| False -> Block 2
#-----| True -> Block 1
# 36| Block 1
# 36| r36_1(glval<unknown>) = FunctionAddress[AfxThrowMemoryException] :
# 36| v36_2(void) = Call[AfxThrowMemoryException] : func:r36_1
# 36| m36_3(unknown) = ^CallSideEffect : ~m32_4
# 36| m36_4(unknown) = Chi : total:m32_4, partial:m36_3
#-----| Goto -> Block 2
# 42| Block 2
# 42| m42_1(unknown) = Phi : from 0:~m32_4, from 1:~m36_4
# 42| v42_2(void) = NoOp :
# 32| v32_7(void) = ReturnVoid :
# 32| v32_8(void) = AliasedUse : ~m42_1
# 32| v32_9(void) = ExitFunction :
# 32| Block 3
# 32| v32_10(void) = Unreached :
try_except.cpp:
# 6| void f_cpp()
# 6| Block 0
# 6| v6_1(void) = EnterFunction :
# 6| m6_2(unknown) = AliasedDefinition :
# 6| m6_3(unknown) = InitializeNonLocal :
# 6| m6_4(unknown) = Chi : total:m6_2, partial:m6_3
# 7| r7_1(glval<int>) = VariableAddress[x] :
# 7| m7_2(int) = Uninitialized[x] : &:r7_1
# 7| r7_3(glval<int>) = VariableAddress[y] :
# 7| r7_4(int) = Constant[0] :
# 7| m7_5(int) = Store[y] : &:r7_3, r7_4
# 9| r9_1(glval<unknown>) = FunctionAddress[ProbeFunction] :
# 9| r9_2(int) = Constant[0] :
# 9| v9_3(void) = Call[ProbeFunction] : func:r9_1, 0:r9_2
# 9| m9_4(unknown) = ^CallSideEffect : ~m6_4
# 9| m9_5(unknown) = Chi : total:m6_4, partial:m9_4
# 10| r10_1(glval<int>) = VariableAddress[y] :
# 10| r10_2(int) = Load[y] : &:r10_1, m7_5
# 10| r10_3(glval<int>) = VariableAddress[x] :
# 10| m10_4(int) = Store[x] : &:r10_3, r10_2
# 11| r11_1(glval<unknown>) = FunctionAddress[ProbeFunction] :
# 11| r11_2(int) = Constant[0] :
# 11| v11_3(void) = Call[ProbeFunction] : func:r11_1, 0:r11_2
# 11| m11_4(unknown) = ^CallSideEffect : ~m9_5
# 11| m11_5(unknown) = Chi : total:m9_5, partial:m11_4
# 16| v16_1(void) = NoOp :
# 6| v6_5(void) = ReturnVoid :
# 6| v6_6(void) = AliasedUse : ~m11_5
# 6| v6_7(void) = ExitFunction :
# 6| Block 1
# 6| v6_8(void) = Unreached :
# 18| void g_cpp()
# 18| Block 0
# 18| v18_1(void) = EnterFunction :
# 18| m18_2(unknown) = AliasedDefinition :
# 18| m18_3(unknown) = InitializeNonLocal :
# 18| m18_4(unknown) = Chi : total:m18_2, partial:m18_3
# 19| r19_1(glval<int>) = VariableAddress[x] :
# 19| m19_2(int) = Uninitialized[x] : &:r19_1
# 19| r19_3(glval<int>) = VariableAddress[y] :
# 19| r19_4(int) = Constant[0] :
# 19| m19_5(int) = Store[y] : &:r19_3, r19_4
# 21| r21_1(glval<unknown>) = FunctionAddress[ProbeFunction] :
# 21| r21_2(int) = Constant[0] :
# 21| v21_3(void) = Call[ProbeFunction] : func:r21_1, 0:r21_2
# 21| m21_4(unknown) = ^CallSideEffect : ~m18_4
# 21| m21_5(unknown) = Chi : total:m18_4, partial:m21_4
# 22| r22_1(glval<int>) = VariableAddress[y] :
# 22| r22_2(int) = Load[y] : &:r22_1, m19_5
# 22| r22_3(glval<int>) = VariableAddress[x] :
# 22| m22_4(int) = Store[x] : &:r22_3, r22_2
# 23| r23_1(glval<unknown>) = FunctionAddress[ProbeFunction] :
# 23| r23_2(int) = Constant[0] :
# 23| v23_3(void) = Call[ProbeFunction] : func:r23_1, 0:r23_2
# 23| m23_4(unknown) = ^CallSideEffect : ~m21_5
# 23| m23_5(unknown) = Chi : total:m21_5, partial:m23_4
# 26| r26_1(glval<unknown>) = FunctionAddress[sink] :
# 26| r26_2(glval<int>) = VariableAddress[x] :
# 26| r26_3(int) = Load[x] : &:r26_2, m22_4
# 26| v26_4(void) = Call[sink] : func:r26_1, 0:r26_3
# 26| m26_5(unknown) = ^CallSideEffect : ~m23_5
# 26| m26_6(unknown) = Chi : total:m23_5, partial:m26_5
# 28| v28_1(void) = NoOp :
# 18| v18_5(void) = ReturnVoid :
# 18| v18_6(void) = AliasedUse : ~m26_6
# 18| v18_7(void) = ExitFunction :
# 32| void h_cpp(int)
# 32| Block 0
# 32| v32_1(void) = EnterFunction :
# 32| m32_2(unknown) = AliasedDefinition :
# 32| m32_3(unknown) = InitializeNonLocal :
# 32| m32_4(unknown) = Chi : total:m32_2, partial:m32_3
# 32| r32_5(glval<int>) = VariableAddress[b] :
# 32| m32_6(int) = InitializeParameter[b] : &:r32_5
# 33| r33_1(glval<int>) = VariableAddress[x] :
# 33| r33_2(int) = Constant[0] :
# 33| m33_3(int) = Store[x] : &:r33_1, r33_2
# 35| r35_1(glval<int>) = VariableAddress[b] :
# 35| r35_2(int) = Load[b] : &:r35_1, m32_6
# 35| r35_3(int) = Constant[0] :
# 35| r35_4(bool) = CompareNE : r35_2, r35_3
# 35| v35_5(void) = ConditionalBranch : r35_4
#-----| False -> Block 2
#-----| True -> Block 1
# 36| Block 1
# 36| r36_1(glval<unknown>) = FunctionAddress[AfxThrowMemoryException] :
# 36| v36_2(void) = Call[AfxThrowMemoryException] : func:r36_1
# 36| m36_3(unknown) = ^CallSideEffect : ~m32_4
# 36| m36_4(unknown) = Chi : total:m32_4, partial:m36_3
#-----| Goto -> Block 2
# 42| Block 2
# 42| m42_1(unknown) = Phi : from 0:~m32_4, from 1:~m36_4
# 42| v42_2(void) = NoOp :
# 32| v32_7(void) = ReturnVoid :
# 32| v32_8(void) = AliasedUse : ~m42_1
# 32| v32_9(void) = ExitFunction :
# 32| Block 3
# 32| v32_10(void) = Unreached :
# 44| void throw_cpp(int)
# 44| Block 0
# 44| v44_1(void) = EnterFunction :
# 44| m44_2(unknown) = AliasedDefinition :
# 44| m44_3(unknown) = InitializeNonLocal :
# 44| m44_4(unknown) = Chi : total:m44_2, partial:m44_3
# 44| r44_5(glval<int>) = VariableAddress[b] :
# 44| m44_6(int) = InitializeParameter[b] : &:r44_5
# 45| r45_1(glval<int>) = VariableAddress[x] :
# 45| r45_2(int) = Constant[0] :
# 45| m45_3(int) = Store[x] : &:r45_1, r45_2
# 47| r47_1(glval<int>) = VariableAddress[b] :
# 47| r47_2(int) = Load[b] : &:r47_1, m44_6
# 47| r47_3(int) = Constant[0] :
# 47| r47_4(bool) = CompareNE : r47_2, r47_3
# 47| v47_5(void) = ConditionalBranch : r47_4
#-----| False -> Block 6
#-----| True -> Block 1
# 48| Block 1
# 48| r48_1(glval<int>) = VariableAddress[#throw48:13] :
# 48| r48_2(int) = Constant[1] :
# 48| m48_3(int) = Store[#throw48:13] : &:r48_1, r48_2
# 48| v48_4(void) = ThrowValue : &:r48_1, m48_3
#-----| Exception -> Block 4
# 51| Block 2
# 51| r51_1(int) = Constant[0] :
# 51| r51_2(bool) = CompareEQ : r51_7, r51_1
# 51| v51_3(void) = ConditionalBranch : r51_2
#-----| False -> Block 3
#-----| True -> Block 7
# 51| Block 3
# 51| r51_4(int) = Constant[1] :
# 51| r51_5(bool) = CompareEQ : r51_7, r51_4
# 51| v51_6(void) = ConditionalBranch : r51_5
#-----| False -> Block 7
#-----| True -> Block 5
# 51| Block 4
# 51| r51_7(int) = Constant[1] :
# 51| r51_8(int) = Constant[-1] :
# 51| r51_9(bool) = CompareEQ : r51_7, r51_8
# 51| v51_10(void) = ConditionalBranch : r51_9
#-----| False -> Block 2
#-----| True -> Block 7
# 52| Block 5
# 52| r52_1(glval<unknown>) = FunctionAddress[sink] :
# 52| r52_2(glval<int>) = VariableAddress[x] :
# 52| r52_3(int) = Load[x] : &:r52_2, m45_3
# 52| v52_4(void) = Call[sink] : func:r52_1, 0:r52_3
# 52| m52_5(unknown) = ^CallSideEffect : ~m44_4
# 52| m52_6(unknown) = Chi : total:m44_4, partial:m52_5
#-----| Goto -> Block 6
# 54| Block 6
# 54| m54_1(unknown) = Phi : from 0:~m44_4, from 5:~m52_6
# 54| v54_2(void) = NoOp :
# 44| v44_7(void) = ReturnVoid :
# 44| v44_8(void) = AliasedUse : ~m54_1
# 44| v44_9(void) = ExitFunction :
# 44| Block 7
# 44| v44_10(void) = Unreached :