test.cpp: # 1| void test00(int, int) # 1| Block 0 # 1| v1_1(void) = EnterFunction : # 1| m1_2(unknown) = AliasedDefinition : # 1| valnum = unique # 1| m1_3(unknown) = InitializeNonLocal : # 1| valnum = unique # 1| m1_4(unknown) = Chi : total:m1_2, partial:m1_3 # 1| valnum = unique # 1| r1_5(glval) = VariableAddress[p0] : # 1| valnum = r1_5, r5_1, r6_1 # 1| m1_6(int) = InitializeParameter[p0] : &:r1_5 # 1| valnum = m1_6, r5_2, r6_2 # 1| r1_7(glval) = VariableAddress[p1] : # 1| valnum = r1_7, r5_3, r6_3 # 1| m1_8(int) = InitializeParameter[p1] : &:r1_7 # 1| valnum = m1_8, r5_4, r6_4 # 2| r2_1(glval) = VariableAddress[x] : # 2| valnum = r2_1, r5_6, r6_6, r7_1 # 2| m2_2(int) = Uninitialized[x] : &:r2_1 # 2| valnum = unique # 2| r2_3(glval) = VariableAddress[y] : # 2| valnum = r2_3, r7_3 # 2| m2_4(int) = Uninitialized[y] : &:r2_3 # 2| valnum = unique # 3| r3_1(glval) = VariableAddress[b] : # 3| valnum = unique # 3| m3_2(unsigned char) = Uninitialized[b] : &:r3_1 # 3| valnum = unique # 5| r5_1(glval) = VariableAddress[p0] : # 5| valnum = r1_5, r5_1, r6_1 # 5| r5_2(int) = Load[p0] : &:r5_1, m1_6 # 5| valnum = m1_6, r5_2, r6_2 # 5| r5_3(glval) = VariableAddress[p1] : # 5| valnum = r1_7, r5_3, r6_3 # 5| r5_4(int) = Load[p1] : &:r5_3, m1_8 # 5| valnum = m1_8, r5_4, r6_4 # 5| r5_5(int) = Add : r5_2, r5_4 # 5| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2 # 5| r5_6(glval) = VariableAddress[x] : # 5| valnum = r2_1, r5_6, r6_6, r7_1 # 5| m5_7(int) = Store[x] : &:r5_6, r5_5 # 5| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2 # 6| r6_1(glval) = VariableAddress[p0] : # 6| valnum = r1_5, r5_1, r6_1 # 6| r6_2(int) = Load[p0] : &:r6_1, m1_6 # 6| valnum = m1_6, r5_2, r6_2 # 6| r6_3(glval) = VariableAddress[p1] : # 6| valnum = r1_7, r5_3, r6_3 # 6| r6_4(int) = Load[p1] : &:r6_3, m1_8 # 6| valnum = m1_8, r5_4, r6_4 # 6| r6_5(int) = Add : r6_2, r6_4 # 6| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2 # 6| r6_6(glval) = VariableAddress[x] : # 6| valnum = r2_1, r5_6, r6_6, r7_1 # 6| m6_7(int) = Store[x] : &:r6_6, r6_5 # 6| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2 # 7| r7_1(glval) = VariableAddress[x] : # 7| valnum = r2_1, r5_6, r6_6, r7_1 # 7| r7_2(int) = Load[x] : &:r7_1, m6_7 # 7| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2 # 7| r7_3(glval) = VariableAddress[y] : # 7| valnum = r2_3, r7_3 # 7| m7_4(int) = Store[y] : &:r7_3, r7_2 # 7| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2 # 8| v8_1(void) = NoOp : # 1| v1_9(void) = ReturnVoid : # 1| v1_10(void) = AliasedUse : m1_3 # 1| v1_11(void) = ExitFunction : # 10| int global01 # 10| Block 0 # 10| v10_1(void) = EnterFunction : # 10| m10_2(unknown) = AliasedDefinition : # 10| valnum = unique # 10| r10_3(glval) = VariableAddress[global01] : # 10| valnum = unique # 10| r10_4(int) = Constant[1] : # 10| valnum = m10_5, r10_4 # 10| m10_5(int) = Store[global01] : &:r10_3, r10_4 # 10| valnum = m10_5, r10_4 # 10| m10_6(unknown) = Chi : total:m10_2, partial:m10_5 # 10| valnum = unique # 10| v10_7(void) = ReturnVoid : # 10| v10_8(void) = AliasedUse : ~m10_6 # 10| v10_9(void) = ExitFunction : # 12| void test01(int, int) # 12| Block 0 # 12| v12_1(void) = EnterFunction : # 12| m12_2(unknown) = AliasedDefinition : # 12| valnum = unique # 12| m12_3(unknown) = InitializeNonLocal : # 12| valnum = unique # 12| m12_4(unknown) = Chi : total:m12_2, partial:m12_3 # 12| valnum = unique # 12| r12_5(glval) = VariableAddress[p0] : # 12| valnum = r12_5, r16_1, r17_1 # 12| m12_6(int) = InitializeParameter[p0] : &:r12_5 # 12| valnum = m12_6, r16_2, r17_2 # 12| r12_7(glval) = VariableAddress[p1] : # 12| valnum = r12_7, r16_3, r17_3 # 12| m12_8(int) = InitializeParameter[p1] : &:r12_7 # 12| valnum = m12_8, r16_4, r17_4 # 13| r13_1(glval) = VariableAddress[x] : # 13| valnum = r13_1, r16_9, r17_9, r18_1 # 13| m13_2(int) = Uninitialized[x] : &:r13_1 # 13| valnum = unique # 13| r13_3(glval) = VariableAddress[y] : # 13| valnum = r13_3, r18_3 # 13| m13_4(int) = Uninitialized[y] : &:r13_3 # 13| valnum = unique # 14| r14_1(glval) = VariableAddress[b] : # 14| valnum = unique # 14| m14_2(unsigned char) = Uninitialized[b] : &:r14_1 # 14| valnum = unique # 16| r16_1(glval) = VariableAddress[p0] : # 16| valnum = r12_5, r16_1, r17_1 # 16| r16_2(int) = Load[p0] : &:r16_1, m12_6 # 16| valnum = m12_6, r16_2, r17_2 # 16| r16_3(glval) = VariableAddress[p1] : # 16| valnum = r12_7, r16_3, r17_3 # 16| r16_4(int) = Load[p1] : &:r16_3, m12_8 # 16| valnum = m12_8, r16_4, r17_4 # 16| r16_5(int) = Add : r16_2, r16_4 # 16| valnum = r16_5, r17_5 # 16| r16_6(glval) = VariableAddress[global01] : # 16| valnum = r16_6, r17_6 # 16| r16_7(int) = Load[global01] : &:r16_6, ~m12_3 # 16| valnum = r16_7, r17_7 # 16| r16_8(int) = Add : r16_5, r16_7 # 16| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2 # 16| r16_9(glval) = VariableAddress[x] : # 16| valnum = r13_1, r16_9, r17_9, r18_1 # 16| m16_10(int) = Store[x] : &:r16_9, r16_8 # 16| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2 # 17| r17_1(glval) = VariableAddress[p0] : # 17| valnum = r12_5, r16_1, r17_1 # 17| r17_2(int) = Load[p0] : &:r17_1, m12_6 # 17| valnum = m12_6, r16_2, r17_2 # 17| r17_3(glval) = VariableAddress[p1] : # 17| valnum = r12_7, r16_3, r17_3 # 17| r17_4(int) = Load[p1] : &:r17_3, m12_8 # 17| valnum = m12_8, r16_4, r17_4 # 17| r17_5(int) = Add : r17_2, r17_4 # 17| valnum = r16_5, r17_5 # 17| r17_6(glval) = VariableAddress[global01] : # 17| valnum = r16_6, r17_6 # 17| r17_7(int) = Load[global01] : &:r17_6, ~m12_3 # 17| valnum = r16_7, r17_7 # 17| r17_8(int) = Add : r17_5, r17_7 # 17| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2 # 17| r17_9(glval) = VariableAddress[x] : # 17| valnum = r13_1, r16_9, r17_9, r18_1 # 17| m17_10(int) = Store[x] : &:r17_9, r17_8 # 17| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2 # 18| r18_1(glval) = VariableAddress[x] : # 18| valnum = r13_1, r16_9, r17_9, r18_1 # 18| r18_2(int) = Load[x] : &:r18_1, m17_10 # 18| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2 # 18| r18_3(glval) = VariableAddress[y] : # 18| valnum = r13_3, r18_3 # 18| m18_4(int) = Store[y] : &:r18_3, r18_2 # 18| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2 # 19| v19_1(void) = NoOp : # 12| v12_9(void) = ReturnVoid : # 12| v12_10(void) = AliasedUse : m12_3 # 12| v12_11(void) = ExitFunction : # 21| int global02 # 21| Block 0 # 21| v21_1(void) = EnterFunction : # 21| m21_2(unknown) = AliasedDefinition : # 21| valnum = unique # 21| r21_3(glval) = VariableAddress[global02] : # 21| valnum = unique # 21| r21_4(int) = Constant[2] : # 21| valnum = m21_5, r21_4 # 21| m21_5(int) = Store[global02] : &:r21_3, r21_4 # 21| valnum = m21_5, r21_4 # 21| m21_6(unknown) = Chi : total:m21_2, partial:m21_5 # 21| valnum = unique # 21| v21_7(void) = ReturnVoid : # 21| v21_8(void) = AliasedUse : ~m21_6 # 21| v21_9(void) = ExitFunction : # 25| void test02(int, int) # 25| Block 0 # 25| v25_1(void) = EnterFunction : # 25| m25_2(unknown) = AliasedDefinition : # 25| valnum = unique # 25| m25_3(unknown) = InitializeNonLocal : # 25| valnum = unique # 25| m25_4(unknown) = Chi : total:m25_2, partial:m25_3 # 25| valnum = unique # 25| r25_5(glval) = VariableAddress[p0] : # 25| valnum = r25_5, r29_1, r31_1 # 25| m25_6(int) = InitializeParameter[p0] : &:r25_5 # 25| valnum = m25_6, r29_2, r31_2 # 25| r25_7(glval) = VariableAddress[p1] : # 25| valnum = r25_7, r29_3, r31_3 # 25| m25_8(int) = InitializeParameter[p1] : &:r25_7 # 25| valnum = m25_8, r29_4, r31_4 # 26| r26_1(glval) = VariableAddress[x] : # 26| valnum = r26_1, r29_9, r31_9, r32_1 # 26| m26_2(int) = Uninitialized[x] : &:r26_1 # 26| valnum = unique # 26| r26_3(glval) = VariableAddress[y] : # 26| valnum = r26_3, r32_3 # 26| m26_4(int) = Uninitialized[y] : &:r26_3 # 26| valnum = unique # 27| r27_1(glval) = VariableAddress[b] : # 27| valnum = unique # 27| m27_2(unsigned char) = Uninitialized[b] : &:r27_1 # 27| valnum = unique # 29| r29_1(glval) = VariableAddress[p0] : # 29| valnum = r25_5, r29_1, r31_1 # 29| r29_2(int) = Load[p0] : &:r29_1, m25_6 # 29| valnum = m25_6, r29_2, r31_2 # 29| r29_3(glval) = VariableAddress[p1] : # 29| valnum = r25_7, r29_3, r31_3 # 29| r29_4(int) = Load[p1] : &:r29_3, m25_8 # 29| valnum = m25_8, r29_4, r31_4 # 29| r29_5(int) = Add : r29_2, r29_4 # 29| valnum = r29_5, r31_5 # 29| r29_6(glval) = VariableAddress[global02] : # 29| valnum = r29_6, r31_6 # 29| r29_7(int) = Load[global02] : &:r29_6, ~m25_3 # 29| valnum = unique # 29| r29_8(int) = Add : r29_5, r29_7 # 29| valnum = m29_10, r29_8 # 29| r29_9(glval) = VariableAddress[x] : # 29| valnum = r26_1, r29_9, r31_9, r32_1 # 29| m29_10(int) = Store[x] : &:r29_9, r29_8 # 29| valnum = m29_10, r29_8 # 30| r30_1(glval) = FunctionAddress[change_global02] : # 30| valnum = unique # 30| v30_2(void) = Call[change_global02] : func:r30_1 # 30| m30_3(unknown) = ^CallSideEffect : ~m25_4 # 30| valnum = unique # 30| m30_4(unknown) = Chi : total:m25_4, partial:m30_3 # 30| valnum = unique # 31| r31_1(glval) = VariableAddress[p0] : # 31| valnum = r25_5, r29_1, r31_1 # 31| r31_2(int) = Load[p0] : &:r31_1, m25_6 # 31| valnum = m25_6, r29_2, r31_2 # 31| r31_3(glval) = VariableAddress[p1] : # 31| valnum = r25_7, r29_3, r31_3 # 31| r31_4(int) = Load[p1] : &:r31_3, m25_8 # 31| valnum = m25_8, r29_4, r31_4 # 31| r31_5(int) = Add : r31_2, r31_4 # 31| valnum = r29_5, r31_5 # 31| r31_6(glval) = VariableAddress[global02] : # 31| valnum = r29_6, r31_6 # 31| r31_7(int) = Load[global02] : &:r31_6, ~m30_4 # 31| valnum = unique # 31| r31_8(int) = Add : r31_5, r31_7 # 31| valnum = m31_10, m32_4, r31_8, r32_2 # 31| r31_9(glval) = VariableAddress[x] : # 31| valnum = r26_1, r29_9, r31_9, r32_1 # 31| m31_10(int) = Store[x] : &:r31_9, r31_8 # 31| valnum = m31_10, m32_4, r31_8, r32_2 # 32| r32_1(glval) = VariableAddress[x] : # 32| valnum = r26_1, r29_9, r31_9, r32_1 # 32| r32_2(int) = Load[x] : &:r32_1, m31_10 # 32| valnum = m31_10, m32_4, r31_8, r32_2 # 32| r32_3(glval) = VariableAddress[y] : # 32| valnum = r26_3, r32_3 # 32| m32_4(int) = Store[y] : &:r32_3, r32_2 # 32| valnum = m31_10, m32_4, r31_8, r32_2 # 33| v33_1(void) = NoOp : # 25| v25_9(void) = ReturnVoid : # 25| v25_10(void) = AliasedUse : ~m30_4 # 25| v25_11(void) = ExitFunction : # 35| int global03 # 35| Block 0 # 35| v35_1(void) = EnterFunction : # 35| m35_2(unknown) = AliasedDefinition : # 35| valnum = unique # 35| r35_3(glval) = VariableAddress[global03] : # 35| valnum = unique # 35| r35_4(int) = Constant[3] : # 35| valnum = m35_5, r35_4 # 35| m35_5(int) = Store[global03] : &:r35_3, r35_4 # 35| valnum = m35_5, r35_4 # 35| m35_6(unknown) = Chi : total:m35_2, partial:m35_5 # 35| valnum = unique # 35| v35_7(void) = ReturnVoid : # 35| v35_8(void) = AliasedUse : ~m35_6 # 35| v35_9(void) = ExitFunction : # 39| void test03(int, int, int*) # 39| Block 0 # 39| v39_1(void) = EnterFunction : # 39| m39_2(unknown) = AliasedDefinition : # 39| valnum = unique # 39| m39_3(unknown) = InitializeNonLocal : # 39| valnum = unique # 39| m39_4(unknown) = Chi : total:m39_2, partial:m39_3 # 39| valnum = unique # 39| r39_5(glval) = VariableAddress[p0] : # 39| valnum = r39_5, r43_1, r45_1 # 39| m39_6(int) = InitializeParameter[p0] : &:r39_5 # 39| valnum = m39_6, r43_2, r45_2 # 39| r39_7(glval) = VariableAddress[p1] : # 39| valnum = r39_7, r43_3, r45_3 # 39| m39_8(int) = InitializeParameter[p1] : &:r39_7 # 39| valnum = m39_8, r43_4, r45_4 # 39| r39_9(glval) = VariableAddress[p2] : # 39| valnum = r39_9, r44_2 # 39| m39_10(int *) = InitializeParameter[p2] : &:r39_9 # 39| valnum = m39_10, r39_11, r44_3, r44_4 # 39| r39_11(int *) = Load[p2] : &:r39_9, m39_10 # 39| valnum = m39_10, r39_11, r44_3, r44_4 # 39| m39_12(unknown) = InitializeIndirection[p2] : &:r39_11 # 39| valnum = unique # 40| r40_1(glval) = VariableAddress[x] : # 40| valnum = r40_1, r43_9, r45_9, r46_1 # 40| m40_2(int) = Uninitialized[x] : &:r40_1 # 40| valnum = unique # 40| r40_3(glval) = VariableAddress[y] : # 40| valnum = r40_3, r46_3 # 40| m40_4(int) = Uninitialized[y] : &:r40_3 # 40| valnum = unique # 41| r41_1(glval) = VariableAddress[b] : # 41| valnum = unique # 41| m41_2(unsigned char) = Uninitialized[b] : &:r41_1 # 41| valnum = unique # 43| r43_1(glval) = VariableAddress[p0] : # 43| valnum = r39_5, r43_1, r45_1 # 43| r43_2(int) = Load[p0] : &:r43_1, m39_6 # 43| valnum = m39_6, r43_2, r45_2 # 43| r43_3(glval) = VariableAddress[p1] : # 43| valnum = r39_7, r43_3, r45_3 # 43| r43_4(int) = Load[p1] : &:r43_3, m39_8 # 43| valnum = m39_8, r43_4, r45_4 # 43| r43_5(int) = Add : r43_2, r43_4 # 43| valnum = r43_5, r45_5 # 43| r43_6(glval) = VariableAddress[global03] : # 43| valnum = r43_6, r45_6 # 43| r43_7(int) = Load[global03] : &:r43_6, ~m39_3 # 43| valnum = r43_7, r45_7 # 43| r43_8(int) = Add : r43_5, r43_7 # 43| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2 # 43| r43_9(glval) = VariableAddress[x] : # 43| valnum = r40_1, r43_9, r45_9, r46_1 # 43| m43_10(int) = Store[x] : &:r43_9, r43_8 # 43| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2 # 44| r44_1(int) = Constant[0] : # 44| valnum = m44_5, r44_1 # 44| r44_2(glval) = VariableAddress[p2] : # 44| valnum = r39_9, r44_2 # 44| r44_3(int *) = Load[p2] : &:r44_2, m39_10 # 44| valnum = m39_10, r39_11, r44_3, r44_4 # 44| r44_4(glval) = CopyValue : r44_3 # 44| valnum = m39_10, r39_11, r44_3, r44_4 # 44| m44_5(int) = Store[?] : &:r44_4, r44_1 # 44| valnum = m44_5, r44_1 # 44| m44_6(unknown) = Chi : total:m39_12, partial:m44_5 # 44| valnum = unique # 45| r45_1(glval) = VariableAddress[p0] : # 45| valnum = r39_5, r43_1, r45_1 # 45| r45_2(int) = Load[p0] : &:r45_1, m39_6 # 45| valnum = m39_6, r43_2, r45_2 # 45| r45_3(glval) = VariableAddress[p1] : # 45| valnum = r39_7, r43_3, r45_3 # 45| r45_4(int) = Load[p1] : &:r45_3, m39_8 # 45| valnum = m39_8, r43_4, r45_4 # 45| r45_5(int) = Add : r45_2, r45_4 # 45| valnum = r43_5, r45_5 # 45| r45_6(glval) = VariableAddress[global03] : # 45| valnum = r43_6, r45_6 # 45| r45_7(int) = Load[global03] : &:r45_6, ~m39_3 # 45| valnum = r43_7, r45_7 # 45| r45_8(int) = Add : r45_5, r45_7 # 45| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2 # 45| r45_9(glval) = VariableAddress[x] : # 45| valnum = r40_1, r43_9, r45_9, r46_1 # 45| m45_10(int) = Store[x] : &:r45_9, r45_8 # 45| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2 # 46| r46_1(glval) = VariableAddress[x] : # 46| valnum = r40_1, r43_9, r45_9, r46_1 # 46| r46_2(int) = Load[x] : &:r46_1, m45_10 # 46| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2 # 46| r46_3(glval) = VariableAddress[y] : # 46| valnum = r40_3, r46_3 # 46| m46_4(int) = Store[y] : &:r46_3, r46_2 # 46| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2 # 47| v47_1(void) = NoOp : # 39| v39_13(void) = ReturnIndirection[p2] : &:r39_11, m44_6 # 39| v39_14(void) = ReturnVoid : # 39| v39_15(void) = AliasedUse : m39_3 # 39| v39_16(void) = ExitFunction : # 49| unsigned int my_strspn(char const*, char const*) # 49| Block 0 # 49| v49_1(void) = EnterFunction : # 49| m49_2(unknown) = AliasedDefinition : # 49| valnum = unique # 49| m49_3(unknown) = InitializeNonLocal : # 49| valnum = unique # 49| m49_4(unknown) = Chi : total:m49_2, partial:m49_3 # 49| valnum = unique # 49| r49_5(glval) = VariableAddress[str] : # 49| valnum = r49_5, r53_2, r56_6 # 49| m49_6(char *) = InitializeParameter[str] : &:r49_5 # 49| valnum = m49_6, r49_7, r53_3, r56_7 # 49| r49_7(char *) = Load[str] : &:r49_5, m49_6 # 49| valnum = m49_6, r49_7, r53_3, r56_7 # 49| m49_8(unknown) = InitializeIndirection[str] : &:r49_7 # 49| valnum = unique # 49| r49_9(glval) = VariableAddress[chars] : # 49| valnum = r49_9, r55_1 # 49| m49_10(char *) = InitializeParameter[chars] : &:r49_9 # 49| valnum = m49_10, m55_4, r49_11, r55_2 # 49| r49_11(char *) = Load[chars] : &:r49_9, m49_10 # 49| valnum = m49_10, m55_4, r49_11, r55_2 # 49| m49_12(unknown) = InitializeIndirection[chars] : &:r49_11 # 49| valnum = unique # 50| r50_1(glval) = VariableAddress[ptr] : # 50| valnum = r50_1, r55_3, r56_12, r56_19, r56_2, r59_1 # 50| m50_2(char *) = Uninitialized[ptr] : &:r50_1 # 50| valnum = unique # 51| r51_1(glval) = VariableAddress[result] : # 51| valnum = r51_1, r62_1, r65_2 # 51| r51_2(unsigned int) = Constant[0] : # 51| valnum = m51_3, r51_2 # 51| m51_3(unsigned int) = Store[result] : &:r51_1, r51_2 # 51| valnum = m51_3, r51_2 #-----| Goto -> Block 1 # 53| Block 1 # 53| m53_1(unsigned int) = Phi : from 0:m51_3, from 8:m62_5 # 53| valnum = m53_1, m65_4, r62_2, r65_3 # 53| r53_2(glval) = VariableAddress[str] : # 53| valnum = r49_5, r53_2, r56_6 # 53| r53_3(char *) = Load[str] : &:r53_2, m49_6 # 53| valnum = m49_6, r49_7, r53_3, r56_7 # 53| r53_4(char) = Load[?] : &:r53_3, ~m49_8 # 53| valnum = r53_4, r56_8 # 53| r53_5(int) = Convert : r53_4 # 53| valnum = r53_5, r56_9 # 53| r53_6(int) = Constant[0] : # 53| valnum = r53_6, r56_16, r59_5 # 53| r53_7(bool) = CompareNE : r53_5, r53_6 # 53| valnum = unique # 53| v53_8(void) = ConditionalBranch : r53_7 #-----| False -> Block 9 #-----| True -> Block 2 # 55| Block 2 # 55| r55_1(glval) = VariableAddress[chars] : # 55| valnum = r49_9, r55_1 # 55| r55_2(char *) = Load[chars] : &:r55_1, m49_10 # 55| valnum = m49_10, m55_4, r49_11, r55_2 # 55| r55_3(glval) = VariableAddress[ptr] : # 55| valnum = r50_1, r55_3, r56_12, r56_19, r56_2, r59_1 # 55| m55_4(char *) = Store[ptr] : &:r55_3, r55_2 # 55| valnum = m49_10, m55_4, r49_11, r55_2 #-----| Goto -> Block 3 # 56| Block 3 # 56| m56_1(char *) = Phi : from 2:m55_4, from 5:m56_23 # 56| valnum = m56_1, r56_13, r56_20, r56_3, r59_2 # 56| r56_2(glval) = VariableAddress[ptr] : # 56| valnum = r50_1, r55_3, r56_12, r56_19, r56_2, r59_1 # 56| r56_3(char *) = Load[ptr] : &:r56_2, m56_1 # 56| valnum = m56_1, r56_13, r56_20, r56_3, r59_2 # 56| r56_4(char) = Load[?] : &:r56_3, ~m49_12 # 56| valnum = r56_14, r56_4, r59_3 # 56| r56_5(int) = Convert : r56_4 # 56| valnum = r56_15, r56_5, r59_4 # 56| r56_6(glval) = VariableAddress[str] : # 56| valnum = r49_5, r53_2, r56_6 # 56| r56_7(char *) = Load[str] : &:r56_6, m49_6 # 56| valnum = m49_6, r49_7, r53_3, r56_7 # 56| r56_8(char) = Load[?] : &:r56_7, ~m49_8 # 56| valnum = r53_4, r56_8 # 56| r56_9(int) = Convert : r56_8 # 56| valnum = r53_5, r56_9 # 56| r56_10(bool) = CompareNE : r56_5, r56_9 # 56| valnum = unique # 56| v56_11(void) = ConditionalBranch : r56_10 #-----| False -> Block 6 #-----| True -> Block 4 # 56| Block 4 # 56| r56_12(glval) = VariableAddress[ptr] : # 56| valnum = r50_1, r55_3, r56_12, r56_19, r56_2, r59_1 # 56| r56_13(char *) = Load[ptr] : &:r56_12, m56_1 # 56| valnum = m56_1, r56_13, r56_20, r56_3, r59_2 # 56| r56_14(char) = Load[?] : &:r56_13, ~m49_12 # 56| valnum = r56_14, r56_4, r59_3 # 56| r56_15(int) = Convert : r56_14 # 56| valnum = r56_15, r56_5, r59_4 # 56| r56_16(int) = Constant[0] : # 56| valnum = r53_6, r56_16, r59_5 # 56| r56_17(bool) = CompareNE : r56_15, r56_16 # 56| valnum = unique # 56| v56_18(void) = ConditionalBranch : r56_17 #-----| False -> Block 6 #-----| True -> Block 5 # 56| Block 5 # 56| r56_19(glval) = VariableAddress[ptr] : # 56| valnum = r50_1, r55_3, r56_12, r56_19, r56_2, r59_1 # 56| r56_20(char *) = Load[ptr] : &:r56_19, m56_1 # 56| valnum = m56_1, r56_13, r56_20, r56_3, r59_2 # 56| r56_21(int) = Constant[1] : # 56| valnum = unique # 56| r56_22(char *) = PointerAdd[1] : r56_20, r56_21 # 56| valnum = m56_23, r56_22 # 56| m56_23(char *) = Store[ptr] : &:r56_19, r56_22 # 56| valnum = m56_23, r56_22 #-----| Goto (back edge) -> Block 3 # 59| Block 6 # 59| r59_1(glval) = VariableAddress[ptr] : # 59| valnum = r50_1, r55_3, r56_12, r56_19, r56_2, r59_1 # 59| r59_2(char *) = Load[ptr] : &:r59_1, m56_1 # 59| valnum = m56_1, r56_13, r56_20, r56_3, r59_2 # 59| r59_3(char) = Load[?] : &:r59_2, ~m49_12 # 59| valnum = r56_14, r56_4, r59_3 # 59| r59_4(int) = Convert : r59_3 # 59| valnum = r56_15, r56_5, r59_4 # 59| r59_5(int) = Constant[0] : # 59| valnum = r53_6, r56_16, r59_5 # 59| r59_6(bool) = CompareEQ : r59_4, r59_5 # 59| valnum = unique # 59| v59_7(void) = ConditionalBranch : r59_6 #-----| False -> Block 8 #-----| True -> Block 7 # 60| Block 7 # 60| v60_1(void) = NoOp : #-----| Goto -> Block 9 # 62| Block 8 # 62| r62_1(glval) = VariableAddress[result] : # 62| valnum = r51_1, r62_1, r65_2 # 62| r62_2(unsigned int) = Load[result] : &:r62_1, m53_1 # 62| valnum = m53_1, m65_4, r62_2, r65_3 # 62| r62_3(unsigned int) = Constant[1] : # 62| valnum = unique # 62| r62_4(unsigned int) = Add : r62_2, r62_3 # 62| valnum = m62_5, r62_4 # 62| m62_5(unsigned int) = Store[result] : &:r62_1, r62_4 # 62| valnum = m62_5, r62_4 #-----| Goto (back edge) -> Block 1 # 63| Block 9 # 63| v63_1(void) = NoOp : # 65| r65_1(glval) = VariableAddress[#return] : # 65| valnum = r49_15, r65_1 # 65| r65_2(glval) = VariableAddress[result] : # 65| valnum = r51_1, r62_1, r65_2 # 65| r65_3(unsigned int) = Load[result] : &:r65_2, m53_1 # 65| valnum = m53_1, m65_4, r62_2, r65_3 # 65| m65_4(unsigned int) = Store[#return] : &:r65_1, r65_3 # 65| valnum = m53_1, m65_4, r62_2, r65_3 # 49| v49_13(void) = ReturnIndirection[str] : &:r49_7, m49_8 # 49| v49_14(void) = ReturnIndirection[chars] : &:r49_11, m49_12 # 49| r49_15(glval) = VariableAddress[#return] : # 49| valnum = r49_15, r65_1 # 49| v49_16(void) = ReturnValue : &:r49_15, m65_4 # 49| v49_17(void) = AliasedUse : m49_3 # 49| v49_18(void) = ExitFunction : # 75| void test04(two_values*) # 75| Block 0 # 75| v75_1(void) = EnterFunction : # 75| m75_2(unknown) = AliasedDefinition : # 75| valnum = unique # 75| m75_3(unknown) = InitializeNonLocal : # 75| valnum = unique # 75| m75_4(unknown) = Chi : total:m75_2, partial:m75_3 # 75| valnum = unique # 75| r75_5(glval) = VariableAddress[vals] : # 75| valnum = r75_5, r79_4, r79_9 # 75| m75_6(two_values *) = InitializeParameter[vals] : &:r75_5 # 75| valnum = m75_6, r75_7, r79_10, r79_5 # 75| r75_7(two_values *) = Load[vals] : &:r75_5, m75_6 # 75| valnum = m75_6, r75_7, r79_10, r79_5 # 75| m75_8(unknown) = InitializeIndirection[vals] : &:r75_7 # 75| valnum = unique # 77| r77_1(glval) = VariableAddress[v] : # 77| valnum = r77_1, r79_1, r80_6 # 77| r77_2(glval) = FunctionAddress[getAValue] : # 77| valnum = unique # 77| r77_3(int) = Call[getAValue] : func:r77_2 # 77| valnum = unique # 77| m77_4(unknown) = ^CallSideEffect : ~m75_4 # 77| valnum = unique # 77| m77_5(unknown) = Chi : total:m75_4, partial:m77_4 # 77| valnum = unique # 77| r77_6(signed short) = Convert : r77_3 # 77| valnum = m77_7, r77_6, r79_2 # 77| m77_7(signed short) = Store[v] : &:r77_1, r77_6 # 77| valnum = m77_7, r77_6, r79_2 # 79| r79_1(glval) = VariableAddress[v] : # 79| valnum = r77_1, r79_1, r80_6 # 79| r79_2(signed short) = Load[v] : &:r79_1, m77_7 # 79| valnum = m77_7, r77_6, r79_2 # 79| r79_3(int) = Convert : r79_2 # 79| valnum = unique # 79| r79_4(glval) = VariableAddress[vals] : # 79| valnum = r75_5, r79_4, r79_9 # 79| r79_5(two_values *) = Load[vals] : &:r79_4, m75_6 # 79| valnum = m75_6, r75_7, r79_10, r79_5 # 79| r79_6(glval) = FieldAddress[val1] : r79_5 # 79| valnum = unique # 79| r79_7(signed short) = Load[?] : &:r79_6, ~m75_8 # 79| valnum = unique # 79| r79_8(int) = Convert : r79_7 # 79| valnum = unique # 79| r79_9(glval) = VariableAddress[vals] : # 79| valnum = r75_5, r79_4, r79_9 # 79| r79_10(two_values *) = Load[vals] : &:r79_9, m75_6 # 79| valnum = m75_6, r75_7, r79_10, r79_5 # 79| r79_11(glval) = FieldAddress[val2] : r79_10 # 79| valnum = unique # 79| r79_12(signed short) = Load[?] : &:r79_11, ~m75_8 # 79| valnum = unique # 79| r79_13(int) = Convert : r79_12 # 79| valnum = unique # 79| r79_14(int) = Add : r79_8, r79_13 # 79| valnum = unique # 79| r79_15(bool) = CompareLT : r79_3, r79_14 # 79| valnum = unique # 79| v79_16(void) = ConditionalBranch : r79_15 #-----| False -> Block 2 #-----| True -> Block 1 # 80| Block 1 # 80| r80_1(glval) = FunctionAddress[getAValue] : # 80| valnum = unique # 80| r80_2(int) = Call[getAValue] : func:r80_1 # 80| valnum = unique # 80| m80_3(unknown) = ^CallSideEffect : ~m77_5 # 80| valnum = unique # 80| m80_4(unknown) = Chi : total:m77_5, partial:m80_3 # 80| valnum = unique # 80| r80_5(signed short) = Convert : r80_2 # 80| valnum = m80_7, r80_5 # 80| r80_6(glval) = VariableAddress[v] : # 80| valnum = r77_1, r79_1, r80_6 # 80| m80_7(signed short) = Store[v] : &:r80_6, r80_5 # 80| valnum = m80_7, r80_5 #-----| Goto -> Block 2 # 82| Block 2 # 82| m82_1(unknown) = Phi : from 0:~m77_5, from 1:~m80_4 # 82| valnum = unique # 82| v82_2(void) = NoOp : # 75| v75_9(void) = ReturnIndirection[vals] : &:r75_7, m75_8 # 75| v75_10(void) = ReturnVoid : # 75| v75_11(void) = AliasedUse : ~m82_1 # 75| v75_12(void) = ExitFunction : # 84| void test05(int, int, void*) # 84| Block 0 # 84| v84_1(void) = EnterFunction : # 84| m84_2(unknown) = AliasedDefinition : # 84| valnum = unique # 84| m84_3(unknown) = InitializeNonLocal : # 84| valnum = unique # 84| m84_4(unknown) = Chi : total:m84_2, partial:m84_3 # 84| valnum = unique # 84| r84_5(glval) = VariableAddress[x] : # 84| valnum = r84_5, r88_11 # 84| m84_6(int) = InitializeParameter[x] : &:r84_5 # 84| valnum = m84_6, m88_14, r88_12 # 84| r84_7(glval) = VariableAddress[y] : # 84| valnum = r84_7, r88_15 # 84| m84_8(int) = InitializeParameter[y] : &:r84_7 # 84| valnum = m84_8, m88_18, r88_16 # 84| r84_9(glval) = VariableAddress[p] : # 84| valnum = r84_9, r88_1 # 84| m84_10(void *) = InitializeParameter[p] : &:r84_9 # 84| valnum = m84_10, r84_11, r88_2 # 84| r84_11(void *) = Load[p] : &:r84_9, m84_10 # 84| valnum = m84_10, r84_11, r88_2 # 84| m84_12(unknown) = InitializeIndirection[p] : &:r84_11 # 84| valnum = unique # 86| r86_1(glval) = VariableAddress[v] : # 86| valnum = r86_1, r88_9 # 86| m86_2(int) = Uninitialized[v] : &:r86_1 # 86| valnum = unique # 88| r88_1(glval) = VariableAddress[p] : # 88| valnum = r84_9, r88_1 # 88| r88_2(void *) = Load[p] : &:r88_1, m84_10 # 88| valnum = m84_10, r84_11, r88_2 # 88| r88_3(void *) = Constant[0] : # 88| valnum = unique # 88| r88_4(bool) = CompareNE : r88_2, r88_3 # 88| valnum = unique # 88| v88_5(void) = ConditionalBranch : r88_4 #-----| False -> Block 3 #-----| True -> Block 2 # 88| Block 1 # 88| m88_6(int) = Phi : from 2:m88_14, from 3:m88_18 # 88| valnum = m88_10, m88_6, r88_8 # 88| r88_7(glval) = VariableAddress[#temp88:7] : # 88| valnum = r88_13, r88_17, r88_7 # 88| r88_8(int) = Load[#temp88:7] : &:r88_7, m88_6 # 88| valnum = m88_10, m88_6, r88_8 # 88| r88_9(glval) = VariableAddress[v] : # 88| valnum = r86_1, r88_9 # 88| m88_10(int) = Store[v] : &:r88_9, r88_8 # 88| valnum = m88_10, m88_6, r88_8 # 89| v89_1(void) = NoOp : # 84| v84_13(void) = ReturnIndirection[p] : &:r84_11, m84_12 # 84| v84_14(void) = ReturnVoid : # 84| v84_15(void) = AliasedUse : m84_3 # 84| v84_16(void) = ExitFunction : # 88| Block 2 # 88| r88_11(glval) = VariableAddress[x] : # 88| valnum = r84_5, r88_11 # 88| r88_12(int) = Load[x] : &:r88_11, m84_6 # 88| valnum = m84_6, m88_14, r88_12 # 88| r88_13(glval) = VariableAddress[#temp88:7] : # 88| valnum = r88_13, r88_17, r88_7 # 88| m88_14(int) = Store[#temp88:7] : &:r88_13, r88_12 # 88| valnum = m84_6, m88_14, r88_12 #-----| Goto -> Block 1 # 88| Block 3 # 88| r88_15(glval) = VariableAddress[y] : # 88| valnum = r84_7, r88_15 # 88| r88_16(int) = Load[y] : &:r88_15, m84_8 # 88| valnum = m84_8, m88_18, r88_16 # 88| r88_17(glval) = VariableAddress[#temp88:7] : # 88| valnum = r88_13, r88_17, r88_7 # 88| m88_18(int) = Store[#temp88:7] : &:r88_17, r88_16 # 88| valnum = m84_8, m88_18, r88_16 #-----| Goto -> Block 1 # 91| int regression_test00() # 91| Block 0 # 91| v91_1(void) = EnterFunction : # 91| m91_2(unknown) = AliasedDefinition : # 91| valnum = unique # 91| m91_3(unknown) = InitializeNonLocal : # 91| valnum = unique # 91| m91_4(unknown) = Chi : total:m91_2, partial:m91_3 # 91| valnum = unique # 92| r92_1(glval) = VariableAddress[x] : # 92| valnum = r92_1, r92_3, r93_2 # 92| r92_2(int) = Constant[10] : # 92| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3 # 92| r92_3(glval) = VariableAddress[x] : # 92| valnum = r92_1, r92_3, r93_2 # 92| m92_4(int) = Store[x] : &:r92_3, r92_2 # 92| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3 # 92| r92_5(int) = Load[x] : &:r92_3, m92_4 # 92| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3 # 92| m92_6(int) = Store[x] : &:r92_1, r92_5 # 92| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3 # 93| r93_1(glval) = VariableAddress[#return] : # 93| valnum = r91_5, r93_1 # 93| r93_2(glval) = VariableAddress[x] : # 93| valnum = r92_1, r92_3, r93_2 # 93| r93_3(int) = Load[x] : &:r93_2, m92_6 # 93| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3 # 93| m93_4(int) = Store[#return] : &:r93_1, r93_3 # 93| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3 # 91| r91_5(glval) = VariableAddress[#return] : # 91| valnum = r91_5, r93_1 # 91| v91_6(void) = ReturnValue : &:r91_5, m93_4 # 91| v91_7(void) = AliasedUse : m91_3 # 91| v91_8(void) = ExitFunction : # 104| int inheritanceConversions(Derived*) # 104| Block 0 # 104| v104_1(void) = EnterFunction : # 104| m104_2(unknown) = AliasedDefinition : # 104| valnum = unique # 104| m104_3(unknown) = InitializeNonLocal : # 104| valnum = unique # 104| m104_4(unknown) = Chi : total:m104_2, partial:m104_3 # 104| valnum = unique # 104| r104_5(glval) = VariableAddress[pd] : # 104| valnum = r104_5, r105_2, r106_2 # 104| m104_6(Derived *) = InitializeParameter[pd] : &:r104_5 # 104| valnum = m104_6, r104_7, r105_3, r106_3 # 104| r104_7(Derived *) = Load[pd] : &:r104_5, m104_6 # 104| valnum = m104_6, r104_7, r105_3, r106_3 # 104| m104_8(unknown) = InitializeIndirection[pd] : &:r104_7 # 104| valnum = unique # 105| r105_1(glval) = VariableAddress[x] : # 105| valnum = unique # 105| r105_2(glval) = VariableAddress[pd] : # 105| valnum = r104_5, r105_2, r106_2 # 105| r105_3(Derived *) = Load[pd] : &:r105_2, m104_6 # 105| valnum = m104_6, r104_7, r105_3, r106_3 # 105| r105_4(Base *) = ConvertToNonVirtualBase[Derived : Base] : r105_3 # 105| valnum = m106_5, r105_4, r106_4, r107_3 # 105| r105_5(glval) = FieldAddress[b] : r105_4 # 105| valnum = r105_5, r107_4 # 105| r105_6(int) = Load[?] : &:r105_5, ~m104_8 # 105| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3 # 105| m105_7(int) = Store[x] : &:r105_1, r105_6 # 105| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3 # 106| r106_1(glval) = VariableAddress[pb] : # 106| valnum = r106_1, r107_2 # 106| r106_2(glval) = VariableAddress[pd] : # 106| valnum = r104_5, r105_2, r106_2 # 106| r106_3(Derived *) = Load[pd] : &:r106_2, m104_6 # 106| valnum = m104_6, r104_7, r105_3, r106_3 # 106| r106_4(Base *) = ConvertToNonVirtualBase[Derived : Base] : r106_3 # 106| valnum = m106_5, r105_4, r106_4, r107_3 # 106| m106_5(Base *) = Store[pb] : &:r106_1, r106_4 # 106| valnum = m106_5, r105_4, r106_4, r107_3 # 107| r107_1(glval) = VariableAddress[y] : # 107| valnum = r107_1, r109_2 # 107| r107_2(glval) = VariableAddress[pb] : # 107| valnum = r106_1, r107_2 # 107| r107_3(Base *) = Load[pb] : &:r107_2, m106_5 # 107| valnum = m106_5, r105_4, r106_4, r107_3 # 107| r107_4(glval) = FieldAddress[b] : r107_3 # 107| valnum = r105_5, r107_4 # 107| r107_5(int) = Load[?] : &:r107_4, ~m104_8 # 107| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3 # 107| m107_6(int) = Store[y] : &:r107_1, r107_5 # 107| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3 # 109| r109_1(glval) = VariableAddress[#return] : # 109| valnum = r104_10, r109_1 # 109| r109_2(glval) = VariableAddress[y] : # 109| valnum = r107_1, r109_2 # 109| r109_3(int) = Load[y] : &:r109_2, m107_6 # 109| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3 # 109| m109_4(int) = Store[#return] : &:r109_1, r109_3 # 109| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3 # 104| v104_9(void) = ReturnIndirection[pd] : &:r104_7, m104_8 # 104| r104_10(glval) = VariableAddress[#return] : # 104| valnum = r104_10, r109_1 # 104| v104_11(void) = ReturnValue : &:r104_10, m109_4 # 104| v104_12(void) = AliasedUse : m104_3 # 104| v104_13(void) = ExitFunction : # 112| void test06() # 112| Block 0 # 112| v112_1(void) = EnterFunction : # 112| m112_2(unknown) = AliasedDefinition : # 112| valnum = unique # 112| m112_3(unknown) = InitializeNonLocal : # 112| valnum = unique # 112| m112_4(unknown) = Chi : total:m112_2, partial:m112_3 # 112| valnum = unique # 113| r113_1(glval) = StringConstant["a"] : # 113| valnum = r113_1, r115_1 # 114| r114_1(glval) = StringConstant["b"] : # 114| valnum = unique # 115| r115_1(glval) = StringConstant["a"] : # 115| valnum = r113_1, r115_1 # 116| r116_1(glval) = StringConstant["c"] : # 116| valnum = unique # 117| v117_1(void) = NoOp : # 112| v112_5(void) = ReturnVoid : # 112| v112_6(void) = AliasedUse : m112_3 # 112| v112_7(void) = ExitFunction : # 124| void test_read_arg_same(A*, int) # 124| Block 0 # 124| v124_1(void) = EnterFunction : # 124| m124_2(unknown) = AliasedDefinition : # 124| valnum = unique # 124| m124_3(unknown) = InitializeNonLocal : # 124| valnum = unique # 124| m124_4(unknown) = Chi : total:m124_2, partial:m124_3 # 124| valnum = unique # 124| r124_5(glval) = VariableAddress[pa] : # 124| valnum = r124_5, r125_2, r126_2, r128_3, r129_2 # 124| m124_6(A *) = InitializeParameter[pa] : &:r124_5 # 124| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3 # 124| r124_7(A *) = Load[pa] : &:r124_5, m124_6 # 124| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3 # 124| m124_8(unknown) = InitializeIndirection[pa] : &:r124_7 # 124| valnum = unique # 124| r124_9(glval) = VariableAddress[n] : # 124| valnum = r124_9, r128_1 # 124| m124_10(int) = InitializeParameter[n] : &:r124_9 # 124| valnum = m124_10, m128_6, m129_6, r128_2, r129_5 # 125| r125_1(glval) = VariableAddress[b] : # 125| valnum = unique # 125| r125_2(glval) = VariableAddress[pa] : # 125| valnum = r124_5, r125_2, r126_2, r128_3, r129_2 # 125| r125_3(A *) = Load[pa] : &:r125_2, m124_6 # 125| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3 # 125| r125_4(glval) = FieldAddress[x] : r125_3 # 125| valnum = r125_4, r126_4, r128_5, r129_4 # 125| r125_5(int) = Load[?] : &:r125_4, ~m124_8 # 125| valnum = m125_6, m126_6, r125_5, r126_5 # 125| m125_6(int) = Store[b] : &:r125_1, r125_5 # 125| valnum = m125_6, m126_6, r125_5, r126_5 # 126| r126_1(glval) = VariableAddress[c] : # 126| valnum = unique # 126| r126_2(glval) = VariableAddress[pa] : # 126| valnum = r124_5, r125_2, r126_2, r128_3, r129_2 # 126| r126_3(A *) = Load[pa] : &:r126_2, m124_6 # 126| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3 # 126| r126_4(glval) = FieldAddress[x] : r126_3 # 126| valnum = r125_4, r126_4, r128_5, r129_4 # 126| r126_5(int) = Load[?] : &:r126_4, ~m124_8 # 126| valnum = m125_6, m126_6, r125_5, r126_5 # 126| m126_6(int) = Store[c] : &:r126_1, r126_5 # 126| valnum = m125_6, m126_6, r125_5, r126_5 # 128| r128_1(glval) = VariableAddress[n] : # 128| valnum = r124_9, r128_1 # 128| r128_2(int) = Load[n] : &:r128_1, m124_10 # 128| valnum = m124_10, m128_6, m129_6, r128_2, r129_5 # 128| r128_3(glval) = VariableAddress[pa] : # 128| valnum = r124_5, r125_2, r126_2, r128_3, r129_2 # 128| r128_4(A *) = Load[pa] : &:r128_3, m124_6 # 128| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3 # 128| r128_5(glval) = FieldAddress[x] : r128_4 # 128| valnum = r125_4, r126_4, r128_5, r129_4 # 128| m128_6(int) = Store[?] : &:r128_5, r128_2 # 128| valnum = m124_10, m128_6, m129_6, r128_2, r129_5 # 128| m128_7(unknown) = Chi : total:m124_8, partial:m128_6 # 128| valnum = unique # 129| r129_1(glval) = VariableAddress[d] : # 129| valnum = unique # 129| r129_2(glval) = VariableAddress[pa] : # 129| valnum = r124_5, r125_2, r126_2, r128_3, r129_2 # 129| r129_3(A *) = Load[pa] : &:r129_2, m124_6 # 129| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3 # 129| r129_4(glval) = FieldAddress[x] : r129_3 # 129| valnum = r125_4, r126_4, r128_5, r129_4 # 129| r129_5(int) = Load[?] : &:r129_4, m128_6 # 129| valnum = m124_10, m128_6, m129_6, r128_2, r129_5 # 129| m129_6(int) = Store[d] : &:r129_1, r129_5 # 129| valnum = m124_10, m128_6, m129_6, r128_2, r129_5 # 130| v130_1(void) = NoOp : # 124| v124_11(void) = ReturnIndirection[pa] : &:r124_7, m128_7 # 124| v124_12(void) = ReturnVoid : # 124| v124_13(void) = AliasedUse : m124_3 # 124| v124_14(void) = ExitFunction : # 135| void test_read_global_same() # 135| Block 0 # 135| v135_1(void) = EnterFunction : # 135| m135_2(unknown) = AliasedDefinition : # 135| valnum = unique # 135| m135_3(unknown) = InitializeNonLocal : # 135| valnum = unique # 135| m135_4(unknown) = Chi : total:m135_2, partial:m135_3 # 135| valnum = unique # 136| r136_1(glval) = VariableAddress[b] : # 136| valnum = unique # 136| r136_2(glval) = VariableAddress[global_a] : # 136| valnum = r136_2, r137_2, r139_3, r140_2 # 136| r136_3(A *) = Load[global_a] : &:r136_2, ~m135_3 # 136| valnum = r136_3, r137_3, r139_4 # 136| r136_4(glval) = FieldAddress[x] : r136_3 # 136| valnum = r136_4, r137_4, r139_5 # 136| r136_5(int) = Load[?] : &:r136_4, ~m135_4 # 136| valnum = m136_6, m137_6, r136_5, r137_5 # 136| m136_6(int) = Store[b] : &:r136_1, r136_5 # 136| valnum = m136_6, m137_6, r136_5, r137_5 # 137| r137_1(glval) = VariableAddress[c] : # 137| valnum = unique # 137| r137_2(glval) = VariableAddress[global_a] : # 137| valnum = r136_2, r137_2, r139_3, r140_2 # 137| r137_3(A *) = Load[global_a] : &:r137_2, ~m135_3 # 137| valnum = r136_3, r137_3, r139_4 # 137| r137_4(glval) = FieldAddress[x] : r137_3 # 137| valnum = r136_4, r137_4, r139_5 # 137| r137_5(int) = Load[?] : &:r137_4, ~m135_4 # 137| valnum = m136_6, m137_6, r136_5, r137_5 # 137| m137_6(int) = Store[c] : &:r137_1, r137_5 # 137| valnum = m136_6, m137_6, r136_5, r137_5 # 139| r139_1(glval) = VariableAddress[global_n] : # 139| valnum = unique # 139| r139_2(int) = Load[global_n] : &:r139_1, ~m135_3 # 139| valnum = m139_6, r139_2 # 139| r139_3(glval) = VariableAddress[global_a] : # 139| valnum = r136_2, r137_2, r139_3, r140_2 # 139| r139_4(A *) = Load[global_a] : &:r139_3, ~m135_3 # 139| valnum = r136_3, r137_3, r139_4 # 139| r139_5(glval) = FieldAddress[x] : r139_4 # 139| valnum = r136_4, r137_4, r139_5 # 139| m139_6(int) = Store[?] : &:r139_5, r139_2 # 139| valnum = m139_6, r139_2 # 139| m139_7(unknown) = Chi : total:m135_4, partial:m139_6 # 139| valnum = unique # 140| r140_1(glval) = VariableAddress[d] : # 140| valnum = unique # 140| r140_2(glval) = VariableAddress[global_a] : # 140| valnum = r136_2, r137_2, r139_3, r140_2 # 140| r140_3(A *) = Load[global_a] : &:r140_2, ~m139_7 # 140| valnum = unique # 140| r140_4(glval) = FieldAddress[x] : r140_3 # 140| valnum = unique # 140| r140_5(int) = Load[?] : &:r140_4, ~m139_7 # 140| valnum = m140_6, r140_5 # 140| m140_6(int) = Store[d] : &:r140_1, r140_5 # 140| valnum = m140_6, r140_5 # 141| v141_1(void) = NoOp : # 135| v135_5(void) = ReturnVoid : # 135| v135_6(void) = AliasedUse : ~m139_7 # 135| v135_7(void) = ExitFunction : # 143| void test_read_arg_different(A*) # 143| Block 0 # 143| v143_1(void) = EnterFunction : # 143| m143_2(unknown) = AliasedDefinition : # 143| valnum = unique # 143| m143_3(unknown) = InitializeNonLocal : # 143| valnum = unique # 143| m143_4(unknown) = Chi : total:m143_2, partial:m143_3 # 143| valnum = unique # 143| r143_5(glval) = VariableAddress[pa] : # 143| valnum = r143_5, r144_2, r145_2, r147_3, r149_2 # 143| m143_6(A *) = InitializeParameter[pa] : &:r143_5 # 143| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3 # 143| r143_7(A *) = Load[pa] : &:r143_5, m143_6 # 143| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3 # 143| m143_8(unknown) = InitializeIndirection[pa] : &:r143_7 # 143| valnum = unique # 144| r144_1(glval) = VariableAddress[b] : # 144| valnum = unique # 144| r144_2(glval) = VariableAddress[pa] : # 144| valnum = r143_5, r144_2, r145_2, r147_3, r149_2 # 144| r144_3(A *) = Load[pa] : &:r144_2, m143_6 # 144| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3 # 144| r144_4(glval) = FieldAddress[x] : r144_3 # 144| valnum = r144_4, r149_4 # 144| r144_5(int) = Load[?] : &:r144_4, ~m143_8 # 144| valnum = m144_6, m149_6, r144_5, r149_5 # 144| m144_6(int) = Store[b] : &:r144_1, r144_5 # 144| valnum = m144_6, m149_6, r144_5, r149_5 # 145| r145_1(glval) = VariableAddress[c] : # 145| valnum = unique # 145| r145_2(glval) = VariableAddress[pa] : # 145| valnum = r143_5, r144_2, r145_2, r147_3, r149_2 # 145| r145_3(A *) = Load[pa] : &:r145_2, m143_6 # 145| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3 # 145| r145_4(glval) = FieldAddress[y] : r145_3 # 145| valnum = r145_4, r147_5 # 145| r145_5(int) = Load[?] : &:r145_4, ~m143_8 # 145| valnum = m145_6, r145_5 # 145| m145_6(int) = Store[c] : &:r145_1, r145_5 # 145| valnum = m145_6, r145_5 # 147| r147_1(glval) = VariableAddress[global_n] : # 147| valnum = unique # 147| r147_2(int) = Load[global_n] : &:r147_1, ~m143_3 # 147| valnum = m147_6, r147_2 # 147| r147_3(glval) = VariableAddress[pa] : # 147| valnum = r143_5, r144_2, r145_2, r147_3, r149_2 # 147| r147_4(A *) = Load[pa] : &:r147_3, m143_6 # 147| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3 # 147| r147_5(glval) = FieldAddress[y] : r147_4 # 147| valnum = r145_4, r147_5 # 147| m147_6(int) = Store[?] : &:r147_5, r147_2 # 147| valnum = m147_6, r147_2 # 147| m147_7(unknown) = Chi : total:m143_8, partial:m147_6 # 147| valnum = unique # 149| r149_1(glval) = VariableAddress[d] : # 149| valnum = unique # 149| r149_2(glval) = VariableAddress[pa] : # 149| valnum = r143_5, r144_2, r145_2, r147_3, r149_2 # 149| r149_3(A *) = Load[pa] : &:r149_2, m143_6 # 149| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3 # 149| r149_4(glval) = FieldAddress[x] : r149_3 # 149| valnum = r144_4, r149_4 # 149| r149_5(int) = Load[?] : &:r149_4, ~m143_8 # 149| valnum = m144_6, m149_6, r144_5, r149_5 # 149| m149_6(int) = Store[d] : &:r149_1, r149_5 # 149| valnum = m144_6, m149_6, r144_5, r149_5 # 150| v150_1(void) = NoOp : # 143| v143_9(void) = ReturnIndirection[pa] : &:r143_7, m147_7 # 143| v143_10(void) = ReturnVoid : # 143| v143_11(void) = AliasedUse : m143_3 # 143| v143_12(void) = ExitFunction : # 152| void test_read_global_different(int) # 152| Block 0 # 152| v152_1(void) = EnterFunction : # 152| m152_2(unknown) = AliasedDefinition : # 152| valnum = unique # 152| m152_3(unknown) = InitializeNonLocal : # 152| valnum = unique # 152| m152_4(unknown) = Chi : total:m152_2, partial:m152_3 # 152| valnum = unique # 152| r152_5(glval) = VariableAddress[n] : # 152| valnum = r152_5, r156_1 # 152| m152_6(int) = InitializeParameter[n] : &:r152_5 # 152| valnum = m152_6, m156_6, r156_2 # 153| r153_1(glval) = VariableAddress[b] : # 153| valnum = unique # 153| r153_2(glval) = VariableAddress[global_a] : # 153| valnum = r153_2, r154_2, r156_3, r158_2 # 153| r153_3(A *) = Load[global_a] : &:r153_2, ~m152_3 # 153| valnum = r153_3, r154_3, r156_4 # 153| r153_4(glval) = FieldAddress[x] : r153_3 # 153| valnum = r153_4, r154_4 # 153| r153_5(int) = Load[?] : &:r153_4, ~m152_4 # 153| valnum = m153_6, m154_6, r153_5, r154_5 # 153| m153_6(int) = Store[b] : &:r153_1, r153_5 # 153| valnum = m153_6, m154_6, r153_5, r154_5 # 154| r154_1(glval) = VariableAddress[c] : # 154| valnum = unique # 154| r154_2(glval) = VariableAddress[global_a] : # 154| valnum = r153_2, r154_2, r156_3, r158_2 # 154| r154_3(A *) = Load[global_a] : &:r154_2, ~m152_3 # 154| valnum = r153_3, r154_3, r156_4 # 154| r154_4(glval) = FieldAddress[x] : r154_3 # 154| valnum = r153_4, r154_4 # 154| r154_5(int) = Load[?] : &:r154_4, ~m152_4 # 154| valnum = m153_6, m154_6, r153_5, r154_5 # 154| m154_6(int) = Store[c] : &:r154_1, r154_5 # 154| valnum = m153_6, m154_6, r153_5, r154_5 # 156| r156_1(glval) = VariableAddress[n] : # 156| valnum = r152_5, r156_1 # 156| r156_2(int) = Load[n] : &:r156_1, m152_6 # 156| valnum = m152_6, m156_6, r156_2 # 156| r156_3(glval) = VariableAddress[global_a] : # 156| valnum = r153_2, r154_2, r156_3, r158_2 # 156| r156_4(A *) = Load[global_a] : &:r156_3, ~m152_3 # 156| valnum = r153_3, r154_3, r156_4 # 156| r156_5(glval) = FieldAddress[y] : r156_4 # 156| valnum = unique # 156| m156_6(int) = Store[?] : &:r156_5, r156_2 # 156| valnum = m152_6, m156_6, r156_2 # 156| m156_7(unknown) = Chi : total:m152_4, partial:m156_6 # 156| valnum = unique # 158| r158_1(glval) = VariableAddress[d] : # 158| valnum = unique # 158| r158_2(glval) = VariableAddress[global_a] : # 158| valnum = r153_2, r154_2, r156_3, r158_2 # 158| r158_3(A *) = Load[global_a] : &:r158_2, ~m156_7 # 158| valnum = unique # 158| r158_4(glval) = FieldAddress[x] : r158_3 # 158| valnum = unique # 158| r158_5(int) = Load[?] : &:r158_4, ~m156_7 # 158| valnum = m158_6, r158_5 # 158| m158_6(int) = Store[d] : &:r158_1, r158_5 # 158| valnum = m158_6, r158_5 # 159| v159_1(void) = NoOp : # 152| v152_7(void) = ReturnVoid : # 152| v152_8(void) = AliasedUse : ~m156_7 # 152| v152_9(void) = ExitFunction : # 166| void test_constMemberFunction() # 166| Block 0 # 166| v166_1(void) = EnterFunction : # 166| m166_2(unknown) = AliasedDefinition : # 166| valnum = unique # 166| m166_3(unknown) = InitializeNonLocal : # 166| valnum = unique # 166| m166_4(unknown) = Chi : total:m166_2, partial:m166_3 # 166| valnum = unique # 167| r167_1(glval) = VariableAddress[s] : # 167| valnum = r167_1, r168_2, r169_1, r169_2 # 167| m167_2(StructWithConstMemberFunction) = Uninitialized[s] : &:r167_1 # 167| valnum = m167_2, m168_4, r168_3 # 167| m167_3(unknown) = Chi : total:m166_4, partial:m167_2 # 167| valnum = unique # 168| r168_1(glval) = VariableAddress[s2] : # 168| valnum = unique # 168| r168_2(glval) = VariableAddress[s] : # 168| valnum = r167_1, r168_2, r169_1, r169_2 # 168| r168_3(StructWithConstMemberFunction) = Load[s] : &:r168_2, m167_2 # 168| valnum = m167_2, m168_4, r168_3 # 168| m168_4(StructWithConstMemberFunction) = Store[s2] : &:r168_1, r168_3 # 168| valnum = m167_2, m168_4, r168_3 # 169| r169_1(glval) = VariableAddress[s] : # 169| valnum = r167_1, r168_2, r169_1, r169_2 # 169| r169_2(glval) = Convert : r169_1 # 169| valnum = r167_1, r168_2, r169_1, r169_2 # 169| r169_3(glval) = FunctionAddress[constMemberFunction] : # 169| valnum = unique # 169| v169_4(void) = Call[constMemberFunction] : func:r169_3, this:r169_2 # 169| m169_5(unknown) = ^CallSideEffect : ~m167_3 # 169| valnum = unique # 169| m169_6(unknown) = Chi : total:m167_3, partial:m169_5 # 169| valnum = unique # 169| v169_7(void) = ^IndirectReadSideEffect[-1] : &:r169_2, ~m169_6 # 170| v170_1(void) = NoOp : # 166| v166_5(void) = ReturnVoid : # 166| v166_6(void) = AliasedUse : ~m169_6 # 166| v166_7(void) = ExitFunction :