Skip to content

Commit 94f5468

Browse files
committed
C++: Accept tests
1 parent bd89ee1 commit 94f5468

File tree

5 files changed

+207
-179
lines changed

5 files changed

+207
-179
lines changed

cpp/ql/test/library-tests/ir/ir/raw_ir.expected

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4664,58 +4664,65 @@ ir.cpp:
46644664
# 950| r950_2(unsigned long) = Constant[4] :
46654665
# 950| r950_3(void *) = Call : func:r950_1, 0:r950_2
46664666
# 950| mu950_4(unknown) = ^CallSideEffect : ~mu949_4
4667-
# 950| r950_5(int *) = Convert : r950_3
4667+
# 950| mu950_5(unknown) = ^InitializeDynamicAllocation : &:r950_3
4668+
# 950| r950_6(int *) = Convert : r950_3
46684669
# 951| r951_1(glval<unknown>) = FunctionAddress[operator new] :
46694670
# 951| r951_2(unsigned long) = Constant[4] :
46704671
# 951| r951_3(float) = Constant[1.0] :
46714672
# 951| r951_4(void *) = Call : func:r951_1, 0:r951_2, 1:r951_3
46724673
# 951| mu951_5(unknown) = ^CallSideEffect : ~mu949_4
4673-
# 951| r951_6(int *) = Convert : r951_4
4674+
# 951| mu951_6(unknown) = ^InitializeDynamicAllocation : &:r951_4
4675+
# 951| r951_7(int *) = Convert : r951_4
46744676
# 952| r952_1(glval<unknown>) = FunctionAddress[operator new] :
46754677
# 952| r952_2(unsigned long) = Constant[4] :
46764678
# 952| r952_3(void *) = Call : func:r952_1, 0:r952_2
46774679
# 952| mu952_4(unknown) = ^CallSideEffect : ~mu949_4
4678-
# 952| r952_5(int *) = Convert : r952_3
4679-
# 952| r952_6(int) = Constant[0] :
4680-
# 952| mu952_7(int) = Store : &:r952_5, r952_6
4680+
# 952| mu952_5(unknown) = ^InitializeDynamicAllocation : &:r952_3
4681+
# 952| r952_6(int *) = Convert : r952_3
4682+
# 952| r952_7(int) = Constant[0] :
4683+
# 952| mu952_8(int) = Store : &:r952_6, r952_7
46814684
# 953| r953_1(glval<unknown>) = FunctionAddress[operator new] :
46824685
# 953| r953_2(unsigned long) = Constant[8] :
46834686
# 953| r953_3(void *) = Call : func:r953_1, 0:r953_2
46844687
# 953| mu953_4(unknown) = ^CallSideEffect : ~mu949_4
4685-
# 953| r953_5(String *) = Convert : r953_3
4686-
# 953| r953_6(glval<unknown>) = FunctionAddress[String] :
4687-
# 953| v953_7(void) = Call : func:r953_6, this:r953_5
4688-
# 953| mu953_8(unknown) = ^CallSideEffect : ~mu949_4
4689-
# 953| mu953_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r953_5
4688+
# 953| mu953_5(unknown) = ^InitializeDynamicAllocation : &:r953_3
4689+
# 953| r953_6(String *) = Convert : r953_3
4690+
# 953| r953_7(glval<unknown>) = FunctionAddress[String] :
4691+
# 953| v953_8(void) = Call : func:r953_7, this:r953_6
4692+
# 953| mu953_9(unknown) = ^CallSideEffect : ~mu949_4
4693+
# 953| mu953_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r953_6
46904694
# 954| r954_1(glval<unknown>) = FunctionAddress[operator new] :
46914695
# 954| r954_2(unsigned long) = Constant[8] :
46924696
# 954| r954_3(float) = Constant[1.0] :
46934697
# 954| r954_4(void *) = Call : func:r954_1, 0:r954_2, 1:r954_3
46944698
# 954| mu954_5(unknown) = ^CallSideEffect : ~mu949_4
4695-
# 954| r954_6(String *) = Convert : r954_4
4696-
# 954| r954_7(glval<unknown>) = FunctionAddress[String] :
4697-
# 954| r954_8(glval<char[6]>) = StringConstant["hello"] :
4698-
# 954| r954_9(char *) = Convert : r954_8
4699-
# 954| v954_10(void) = Call : func:r954_7, this:r954_6, 0:r954_9
4700-
# 954| mu954_11(unknown) = ^CallSideEffect : ~mu949_4
4701-
# 954| mu954_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r954_6
4702-
# 954| v954_13(void) = ^BufferReadSideEffect[0] : &:r954_9, ~mu949_4
4703-
# 954| mu954_14(unknown) = ^BufferMayWriteSideEffect[0] : &:r954_9
4699+
# 954| mu954_6(unknown) = ^InitializeDynamicAllocation : &:r954_4
4700+
# 954| r954_7(String *) = Convert : r954_4
4701+
# 954| r954_8(glval<unknown>) = FunctionAddress[String] :
4702+
# 954| r954_9(glval<char[6]>) = StringConstant["hello"] :
4703+
# 954| r954_10(char *) = Convert : r954_9
4704+
# 954| v954_11(void) = Call : func:r954_8, this:r954_7, 0:r954_10
4705+
# 954| mu954_12(unknown) = ^CallSideEffect : ~mu949_4
4706+
# 954| mu954_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r954_7
4707+
# 954| v954_14(void) = ^BufferReadSideEffect[0] : &:r954_10, ~mu949_4
4708+
# 954| mu954_15(unknown) = ^BufferMayWriteSideEffect[0] : &:r954_10
47044709
# 955| r955_1(glval<unknown>) = FunctionAddress[operator new] :
47054710
# 955| r955_2(unsigned long) = Constant[256] :
47064711
# 955| r955_3(align_val_t) = Constant[128] :
47074712
# 955| r955_4(void *) = Call : func:r955_1, 0:r955_2, 1:r955_3
47084713
# 955| mu955_5(unknown) = ^CallSideEffect : ~mu949_4
4709-
# 955| r955_6(Overaligned *) = Convert : r955_4
4714+
# 955| mu955_6(unknown) = ^InitializeDynamicAllocation : &:r955_4
4715+
# 955| r955_7(Overaligned *) = Convert : r955_4
47104716
# 956| r956_1(glval<unknown>) = FunctionAddress[operator new] :
47114717
# 956| r956_2(unsigned long) = Constant[256] :
47124718
# 956| r956_3(align_val_t) = Constant[128] :
47134719
# 956| r956_4(float) = Constant[1.0] :
47144720
# 956| r956_5(void *) = Call : func:r956_1, 0:r956_2, 1:r956_3, 2:r956_4
47154721
# 956| mu956_6(unknown) = ^CallSideEffect : ~mu949_4
4716-
# 956| r956_7(Overaligned *) = Convert : r956_5
4717-
# 956| r956_8(Overaligned) = Constant[0] :
4718-
# 956| mu956_9(Overaligned) = Store : &:r956_7, r956_8
4722+
# 956| mu956_7(unknown) = ^InitializeDynamicAllocation : &:r956_5
4723+
# 956| r956_8(Overaligned *) = Convert : r956_5
4724+
# 956| r956_9(Overaligned) = Constant[0] :
4725+
# 956| mu956_10(Overaligned) = Store : &:r956_8, r956_9
47194726
# 957| v957_1(void) = NoOp :
47204727
# 949| v949_5(void) = ReturnVoid :
47214728
# 949| v949_6(void) = UnmodeledUse : mu*
@@ -6447,12 +6454,13 @@ perf-regression.cpp:
64476454
# 10| r10_3(unsigned long) = Constant[1073741824] :
64486455
# 10| r10_4(void *) = Call : func:r10_2, 0:r10_3
64496456
# 10| mu10_5(unknown) = ^CallSideEffect : ~mu9_4
6450-
# 10| r10_6(Big *) = Convert : r10_4
6451-
# 10| r10_7(glval<unknown>) = FunctionAddress[Big] :
6452-
# 10| v10_8(void) = Call : func:r10_7, this:r10_6
6453-
# 10| mu10_9(unknown) = ^CallSideEffect : ~mu9_4
6454-
# 10| mu10_10(Big) = ^IndirectMayWriteSideEffect[-1] : &:r10_6
6455-
# 10| mu10_11(Big *) = Store : &:r10_1, r10_6
6457+
# 10| mu10_6(unknown) = ^InitializeDynamicAllocation : &:r10_4
6458+
# 10| r10_7(Big *) = Convert : r10_4
6459+
# 10| r10_8(glval<unknown>) = FunctionAddress[Big] :
6460+
# 10| v10_9(void) = Call : func:r10_8, this:r10_7
6461+
# 10| mu10_10(unknown) = ^CallSideEffect : ~mu9_4
6462+
# 10| mu10_11(Big) = ^IndirectMayWriteSideEffect[-1] : &:r10_7
6463+
# 10| mu10_12(Big *) = Store : &:r10_1, r10_7
64566464
# 12| r12_1(glval<int>) = VariableAddress[#return] :
64576465
# 12| r12_2(int) = Constant[0] :
64586466
# 12| mu12_3(int) = Store : &:r12_1, r12_2

cpp/ql/test/library-tests/ir/ssa/aliased_ssa_ir.expected

Lines changed: 48 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1410,69 +1410,74 @@ ssa.cpp:
14101410
# 292| r292_4(void *) = Call : func:r292_2, 0:r292_3
14111411
# 292| m292_5(unknown) = ^CallSideEffect : ~m291_4
14121412
# 292| m292_6(unknown) = Chi : total:m291_4, partial:m292_5
1413-
# 292| r292_7(Point *) = Convert : r292_4
1414-
# 292| m292_8(Point *) = Store : &:r292_1, r292_7
1413+
# 292| m292_7(unknown) = ^InitializeDynamicAllocation : &:r292_4
1414+
# 292| r292_8(Point *) = Convert : r292_4
1415+
# 292| m292_9(Point *) = Store : &:r292_1, r292_8
14151416
# 293| r293_1(glval<Point *>) = VariableAddress[q] :
14161417
# 293| r293_2(glval<unknown>) = FunctionAddress[operator new] :
14171418
# 293| r293_3(unsigned long) = Constant[8] :
14181419
# 293| r293_4(void *) = Call : func:r293_2, 0:r293_3
14191420
# 293| m293_5(unknown) = ^CallSideEffect : ~m292_6
14201421
# 293| m293_6(unknown) = Chi : total:m292_6, partial:m293_5
1421-
# 293| r293_7(Point *) = Convert : r293_4
1422-
# 293| m293_8(Point *) = Store : &:r293_1, r293_7
1422+
# 293| m293_7(unknown) = ^InitializeDynamicAllocation : &:r293_4
1423+
# 293| r293_8(Point *) = Convert : r293_4
1424+
# 293| m293_9(Point *) = Store : &:r293_1, r293_8
14231425
# 294| r294_1(glval<int>) = VariableAddress[j] :
14241426
# 294| r294_2(glval<unknown>) = FunctionAddress[operator new] :
14251427
# 294| r294_3(unsigned long) = Constant[4] :
14261428
# 294| r294_4(void *) = Call : func:r294_2, 0:r294_3
14271429
# 294| m294_5(unknown) = ^CallSideEffect : ~m293_6
14281430
# 294| m294_6(unknown) = Chi : total:m293_6, partial:m294_5
1429-
# 294| r294_7(A *) = Convert : r294_4
1430-
# 294| r294_8(glval<unknown>) = FunctionAddress[A] :
1431-
# 294| r294_9(glval<unknown>) = FunctionAddress[operator new] :
1432-
# 294| r294_10(unsigned long) = Constant[4] :
1433-
# 294| r294_11(void *) = Call : func:r294_9, 0:r294_10
1434-
# 294| m294_12(unknown) = ^CallSideEffect : ~m294_6
1435-
# 294| m294_13(unknown) = Chi : total:m294_6, partial:m294_12
1436-
# 294| r294_14(A *) = Convert : r294_11
1437-
# 294| r294_15(glval<unknown>) = FunctionAddress[A] :
1438-
# 294| r294_16(glval<int>) = VariableAddress[x] :
1439-
# 294| r294_17(int) = Load : &:r294_16, m291_7
1440-
# 294| v294_18(void) = Call : func:r294_15, this:r294_14, 0:r294_17
1441-
# 294| m294_19(unknown) = ^CallSideEffect : ~m294_13
1442-
# 294| m294_20(unknown) = Chi : total:m294_13, partial:m294_19
1443-
# 294| m294_21(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_14
1444-
# 294| m294_22(unknown) = Chi : total:m294_20, partial:m294_21
1445-
# 294| v294_23(void) = Call : func:r294_8, this:r294_7, 0:r294_14
1446-
# 294| m294_24(unknown) = ^CallSideEffect : ~m294_22
1447-
# 294| m294_25(unknown) = Chi : total:m294_22, partial:m294_24
1448-
# 294| m294_26(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_7
1449-
# 294| m294_27(unknown) = Chi : total:m294_25, partial:m294_26
1450-
# 294| v294_28(void) = ^BufferReadSideEffect[0] : &:r294_14, ~m294_27
1451-
# 294| m294_29(unknown) = ^BufferMayWriteSideEffect[0] : &:r294_14
1452-
# 294| m294_30(unknown) = Chi : total:m294_27, partial:m294_29
1453-
# 294| r294_31(glval<int>) = FieldAddress[i] : r294_7
1454-
# 294| r294_32(int) = Load : &:r294_31, ~m294_30
1455-
# 294| m294_33(int) = Store : &:r294_1, r294_32
1431+
# 294| m294_7(unknown) = ^InitializeDynamicAllocation : &:r294_4
1432+
# 294| r294_8(A *) = Convert : r294_4
1433+
# 294| r294_9(glval<unknown>) = FunctionAddress[A] :
1434+
# 294| r294_10(glval<unknown>) = FunctionAddress[operator new] :
1435+
# 294| r294_11(unsigned long) = Constant[4] :
1436+
# 294| r294_12(void *) = Call : func:r294_10, 0:r294_11
1437+
# 294| m294_13(unknown) = ^CallSideEffect : ~m294_6
1438+
# 294| m294_14(unknown) = Chi : total:m294_6, partial:m294_13
1439+
# 294| m294_15(unknown) = ^InitializeDynamicAllocation : &:r294_12
1440+
# 294| r294_16(A *) = Convert : r294_12
1441+
# 294| r294_17(glval<unknown>) = FunctionAddress[A] :
1442+
# 294| r294_18(glval<int>) = VariableAddress[x] :
1443+
# 294| r294_19(int) = Load : &:r294_18, m291_7
1444+
# 294| v294_20(void) = Call : func:r294_17, this:r294_16, 0:r294_19
1445+
# 294| m294_21(unknown) = ^CallSideEffect : ~m294_14
1446+
# 294| m294_22(unknown) = Chi : total:m294_14, partial:m294_21
1447+
# 294| m294_23(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_16
1448+
# 294| m294_24(unknown) = Chi : total:m294_15, partial:m294_23
1449+
# 294| v294_25(void) = Call : func:r294_9, this:r294_8, 0:r294_16
1450+
# 294| m294_26(unknown) = ^CallSideEffect : ~m294_22
1451+
# 294| m294_27(unknown) = Chi : total:m294_22, partial:m294_26
1452+
# 294| m294_28(A) = ^IndirectMayWriteSideEffect[-1] : &:r294_8
1453+
# 294| m294_29(unknown) = Chi : total:m294_7, partial:m294_28
1454+
# 294| v294_30(void) = ^BufferReadSideEffect[0] : &:r294_16, ~m294_24
1455+
# 294| m294_31(unknown) = ^BufferMayWriteSideEffect[0] : &:r294_16
1456+
# 294| m294_32(unknown) = Chi : total:m294_24, partial:m294_31
1457+
# 294| r294_33(glval<int>) = FieldAddress[i] : r294_8
1458+
# 294| r294_34(int) = Load : &:r294_33, ~m294_29
1459+
# 294| m294_35(int) = Store : &:r294_1, r294_34
14561460
# 295| r295_1(glval<A *>) = VariableAddress[a] :
14571461
# 295| r295_2(glval<unknown>) = FunctionAddress[operator new] :
14581462
# 295| r295_3(unsigned long) = Constant[4] :
14591463
# 295| r295_4(void *) = Call : func:r295_2, 0:r295_3
1460-
# 295| m295_5(unknown) = ^CallSideEffect : ~m294_30
1461-
# 295| m295_6(unknown) = Chi : total:m294_30, partial:m295_5
1462-
# 295| r295_7(A *) = Convert : r295_4
1463-
# 295| r295_8(glval<unknown>) = FunctionAddress[A] :
1464-
# 295| v295_9(void) = Call : func:r295_8, this:r295_7
1465-
# 295| m295_10(unknown) = ^CallSideEffect : ~m295_6
1466-
# 295| m295_11(unknown) = Chi : total:m295_6, partial:m295_10
1467-
# 295| m295_12(A) = ^IndirectMayWriteSideEffect[-1] : &:r295_7
1468-
# 295| m295_13(unknown) = Chi : total:m295_11, partial:m295_12
1469-
# 295| m295_14(A *) = Store : &:r295_1, r295_7
1464+
# 295| m295_5(unknown) = ^CallSideEffect : ~m294_27
1465+
# 295| m295_6(unknown) = Chi : total:m294_27, partial:m295_5
1466+
# 295| m295_7(unknown) = ^InitializeDynamicAllocation : &:r295_4
1467+
# 295| r295_8(A *) = Convert : r295_4
1468+
# 295| r295_9(glval<unknown>) = FunctionAddress[A] :
1469+
# 295| v295_10(void) = Call : func:r295_9, this:r295_8
1470+
# 295| m295_11(unknown) = ^CallSideEffect : ~m295_6
1471+
# 295| m295_12(unknown) = Chi : total:m295_6, partial:m295_11
1472+
# 295| m295_13(A) = ^IndirectMayWriteSideEffect[-1] : &:r295_8
1473+
# 295| m295_14(unknown) = Chi : total:m295_7, partial:m295_13
1474+
# 295| m295_15(A *) = Store : &:r295_1, r295_8
14701475
# 296| r296_1(glval<Point *>) = VariableAddress[#return] :
14711476
# 296| r296_2(glval<Point *>) = VariableAddress[p] :
1472-
# 296| r296_3(Point *) = Load : &:r296_2, m292_8
1477+
# 296| r296_3(Point *) = Load : &:r296_2, m292_9
14731478
# 296| m296_4(Point *) = Store : &:r296_1, r296_3
14741479
# 291| r291_8(glval<Point *>) = VariableAddress[#return] :
14751480
# 291| v291_9(void) = ReturnValue : &:r291_8, m296_4
14761481
# 291| v291_10(void) = UnmodeledUse : mu*
1477-
# 291| v291_11(void) = AliasedUse : ~m295_13
1482+
# 291| v291_11(void) = AliasedUse : ~m295_12
14781483
# 291| v291_12(void) = ExitFunction :

0 commit comments

Comments
 (0)