@@ -62,7 +62,9 @@ astGuardsCompare
62
62
| 26 | x >= 0+1 when ... > ... is true |
63
63
| 31 | - ... != x+0 when ... == ... is false |
64
64
| 31 | - ... == x+0 when ... == ... is true |
65
+ | 31 | x != -1 when ... == ... is false |
65
66
| 31 | x != - ...+0 when ... == ... is false |
67
+ | 31 | x == -1 when ... == ... is true |
66
68
| 31 | x == - ...+0 when ... == ... is true |
67
69
| 34 | 10 < j+1 when ... < ... is false |
68
70
| 34 | 10 >= j+1 when ... < ... is true |
@@ -86,31 +88,44 @@ astGuardsCompare
86
88
| 58 | 0 < y+1 when ... \|\| ... is false |
87
89
| 58 | 0 == x+0 when ... == ... is true |
88
90
| 58 | 0 >= y+1 when ... < ... is true |
91
+ | 58 | x != 0 when ... == ... is false |
92
+ | 58 | x != 0 when ... \|\| ... is false |
89
93
| 58 | x != 0+0 when ... == ... is false |
90
94
| 58 | x != 0+0 when ... \|\| ... is false |
95
+ | 58 | x == 0 when ... == ... is true |
91
96
| 58 | x == 0+0 when ... == ... is true |
92
97
| 58 | y < 0+0 when ... < ... is true |
93
98
| 58 | y >= 0+0 when ... < ... is false |
94
99
| 58 | y >= 0+0 when ... \|\| ... is false |
95
100
| 75 | 0 != x+0 when ... == ... is false |
96
101
| 75 | 0 == x+0 when ... == ... is true |
102
+ | 75 | x != 0 when ... == ... is false |
97
103
| 75 | x != 0+0 when ... == ... is false |
104
+ | 75 | x == 0 when ... == ... is true |
98
105
| 75 | x == 0+0 when ... == ... is true |
99
106
| 85 | 0 != x+0 when ... == ... is false |
100
107
| 85 | 0 != y+0 when ... != ... is true |
101
108
| 85 | 0 != y+0 when ... && ... is true |
102
109
| 85 | 0 == x+0 when ... && ... is true |
103
110
| 85 | 0 == x+0 when ... == ... is true |
104
111
| 85 | 0 == y+0 when ... != ... is false |
112
+ | 85 | x != 0 when ... == ... is false |
105
113
| 85 | x != 0+0 when ... == ... is false |
114
+ | 85 | x == 0 when ... && ... is true |
115
+ | 85 | x == 0 when ... == ... is true |
106
116
| 85 | x == 0+0 when ... && ... is true |
107
117
| 85 | x == 0+0 when ... == ... is true |
118
+ | 85 | y != 0 when ... != ... is true |
119
+ | 85 | y != 0 when ... && ... is true |
108
120
| 85 | y != 0+0 when ... != ... is true |
109
121
| 85 | y != 0+0 when ... && ... is true |
122
+ | 85 | y == 0 when ... != ... is false |
110
123
| 85 | y == 0+0 when ... != ... is false |
111
124
| 94 | 0 != x+0 when ... != ... is true |
112
125
| 94 | 0 == x+0 when ... != ... is false |
126
+ | 94 | x != 0 when ... != ... is true |
113
127
| 94 | x != 0+0 when ... != ... is true |
128
+ | 94 | x == 0 when ... != ... is false |
114
129
| 94 | x == 0+0 when ... != ... is false |
115
130
| 102 | 10 < j+1 when ... < ... is false |
116
131
| 102 | 10 >= j+1 when ... < ... is true |
@@ -122,8 +137,11 @@ astGuardsCompare
122
137
| 109 | 0 < y+1 when ... \|\| ... is false |
123
138
| 109 | 0 == x+0 when ... == ... is true |
124
139
| 109 | 0 >= y+1 when ... < ... is true |
140
+ | 109 | x != 0 when ... == ... is false |
141
+ | 109 | x != 0 when ... \|\| ... is false |
125
142
| 109 | x != 0+0 when ... == ... is false |
126
143
| 109 | x != 0+0 when ... \|\| ... is false |
144
+ | 109 | x == 0 when ... == ... is true |
127
145
| 109 | x == 0+0 when ... == ... is true |
128
146
| 109 | y < 0+0 when ... < ... is true |
129
147
| 109 | y >= 0+0 when ... < ... is false |
@@ -162,7 +180,9 @@ astGuardsCompare
162
180
| 165 | y >= x+43 when ... < ... is true |
163
181
| 175 | 0 != call to foo+0 when ... == ... is false |
164
182
| 175 | 0 == call to foo+0 when ... == ... is true |
183
+ | 175 | call to foo != 0 when ... == ... is false |
165
184
| 175 | call to foo != 0+0 when ... == ... is false |
185
+ | 175 | call to foo == 0 when ... == ... is true |
166
186
| 175 | call to foo == 0+0 when ... == ... is true |
167
187
astGuardsControl
168
188
| test.c:7:9:7:13 | ... > ... | false | 10 | 11 |
@@ -443,6 +463,34 @@ astGuardsEnsure
443
463
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | != | test.cpp:31:7:31:7 | x | 0 | 34 | 34 |
444
464
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | == | test.cpp:31:7:31:7 | x | 0 | 30 | 30 |
445
465
| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | == | test.cpp:31:7:31:7 | x | 0 | 31 | 32 |
466
+ astGuardsEnsure_const
467
+ | test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 58 | 58 |
468
+ | test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 |
469
+ | test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 |
470
+ | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | != | 0 | 78 | 79 |
471
+ | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 75 | 77 |
472
+ | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 85 | 85 |
473
+ | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 |
474
+ | test.c:85:8:85:23 | ... && ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 |
475
+ | test.c:85:8:85:23 | ... && ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 |
476
+ | test.c:85:18:85:23 | ... != ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 |
477
+ | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | != | 0 | 94 | 96 |
478
+ | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 70 | 70 |
479
+ | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 99 | 102 |
480
+ | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 102 | 102 |
481
+ | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 107 | 109 |
482
+ | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 109 |
483
+ | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 117 |
484
+ | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 113 | 113 |
485
+ | test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 109 | 109 |
486
+ | test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 |
487
+ | test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 |
488
+ | test.c:175:13:175:32 | ... == ... | test.c:175:13:175:15 | call to foo | != | 0 | 175 | 175 |
489
+ | test.c:175:13:175:32 | ... == ... | test.c:175:13:175:15 | call to foo | == | 0 | 175 | 175 |
490
+ | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | -1 | 30 | 30 |
491
+ | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | -1 | 34 | 34 |
492
+ | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 30 | 30 |
493
+ | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 31 | 32 |
446
494
irGuards
447
495
| test.c:7:9:7:13 | CompareGT: ... > ... |
448
496
| test.c:17:8:17:12 | CompareLT: ... < ... |
@@ -497,7 +545,9 @@ irGuardsCompare
497
545
| 26 | x >= 0+1 when CompareGT: ... > ... is true |
498
546
| 31 | - ... != x+0 when CompareEQ: ... == ... is false |
499
547
| 31 | - ... == x+0 when CompareEQ: ... == ... is true |
548
+ | 31 | x != -1 when CompareEQ: ... == ... is false |
500
549
| 31 | x != - ...+0 when CompareEQ: ... == ... is false |
550
+ | 31 | x == -1 when CompareEQ: ... == ... is true |
501
551
| 31 | x == - ...+0 when CompareEQ: ... == ... is true |
502
552
| 34 | 10 < j+1 when CompareLT: ... < ... is false |
503
553
| 34 | 10 >= j+1 when CompareLT: ... < ... is true |
@@ -519,25 +569,35 @@ irGuardsCompare
519
569
| 58 | 0 < y+1 when CompareLT: ... < ... is false |
520
570
| 58 | 0 == x+0 when CompareEQ: ... == ... is true |
521
571
| 58 | 0 >= y+1 when CompareLT: ... < ... is true |
572
+ | 58 | x != 0 when CompareEQ: ... == ... is false |
522
573
| 58 | x != 0+0 when CompareEQ: ... == ... is false |
574
+ | 58 | x == 0 when CompareEQ: ... == ... is true |
523
575
| 58 | x == 0+0 when CompareEQ: ... == ... is true |
524
576
| 58 | y < 0+0 when CompareLT: ... < ... is true |
525
577
| 58 | y >= 0+0 when CompareLT: ... < ... is false |
526
578
| 75 | 0 != x+0 when CompareEQ: ... == ... is false |
527
579
| 75 | 0 == x+0 when CompareEQ: ... == ... is true |
580
+ | 75 | x != 0 when CompareEQ: ... == ... is false |
528
581
| 75 | x != 0+0 when CompareEQ: ... == ... is false |
582
+ | 75 | x == 0 when CompareEQ: ... == ... is true |
529
583
| 75 | x == 0+0 when CompareEQ: ... == ... is true |
530
584
| 85 | 0 != x+0 when CompareEQ: ... == ... is false |
531
585
| 85 | 0 != y+0 when CompareNE: ... != ... is true |
532
586
| 85 | 0 == x+0 when CompareEQ: ... == ... is true |
533
587
| 85 | 0 == y+0 when CompareNE: ... != ... is false |
588
+ | 85 | x != 0 when CompareEQ: ... == ... is false |
534
589
| 85 | x != 0+0 when CompareEQ: ... == ... is false |
590
+ | 85 | x == 0 when CompareEQ: ... == ... is true |
535
591
| 85 | x == 0+0 when CompareEQ: ... == ... is true |
592
+ | 85 | y != 0 when CompareNE: ... != ... is true |
536
593
| 85 | y != 0+0 when CompareNE: ... != ... is true |
594
+ | 85 | y == 0 when CompareNE: ... != ... is false |
537
595
| 85 | y == 0+0 when CompareNE: ... != ... is false |
538
596
| 94 | 0 != x+0 when CompareNE: ... != ... is true |
539
597
| 94 | 0 == x+0 when CompareNE: ... != ... is false |
598
+ | 94 | x != 0 when CompareNE: ... != ... is true |
540
599
| 94 | x != 0+0 when CompareNE: ... != ... is true |
600
+ | 94 | x == 0 when CompareNE: ... != ... is false |
541
601
| 94 | x == 0+0 when CompareNE: ... != ... is false |
542
602
| 102 | 10 < j+1 when CompareLT: ... < ... is false |
543
603
| 102 | 10 >= j+1 when CompareLT: ... < ... is true |
@@ -547,7 +607,9 @@ irGuardsCompare
547
607
| 109 | 0 < y+1 when CompareLT: ... < ... is false |
548
608
| 109 | 0 == x+0 when CompareEQ: ... == ... is true |
549
609
| 109 | 0 >= y+1 when CompareLT: ... < ... is true |
610
+ | 109 | x != 0 when CompareEQ: ... == ... is false |
550
611
| 109 | x != 0+0 when CompareEQ: ... == ... is false |
612
+ | 109 | x == 0 when CompareEQ: ... == ... is true |
551
613
| 109 | x == 0+0 when CompareEQ: ... == ... is true |
552
614
| 109 | y < 0+0 when CompareLT: ... < ... is true |
553
615
| 109 | y >= 0+0 when CompareLT: ... < ... is false |
@@ -585,7 +647,9 @@ irGuardsCompare
585
647
| 165 | y >= x+43 when CompareLT: ... < ... is true |
586
648
| 175 | 0 != call to foo+0 when CompareEQ: ... == ... is false |
587
649
| 175 | 0 == call to foo+0 when CompareEQ: ... == ... is true |
650
+ | 175 | call to foo != 0 when CompareEQ: ... == ... is false |
588
651
| 175 | call to foo != 0+0 when CompareEQ: ... == ... is false |
652
+ | 175 | call to foo == 0 when CompareEQ: ... == ... is true |
589
653
| 175 | call to foo == 0+0 when CompareEQ: ... == ... is true |
590
654
irGuardsControl
591
655
| test.c:7:9:7:13 | CompareGT: ... > ... | false | 11 | 11 |
@@ -841,3 +905,27 @@ irGuardsEnsure
841
905
| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:12:31:13 | Constant: - ... | != | test.cpp:31:7:31:7 | Load: x | 0 | 34 | 34 |
842
906
| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:12:31:13 | Constant: - ... | == | test.cpp:31:7:31:7 | Load: x | 0 | 30 | 30 |
843
907
| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:12:31:13 | Constant: - ... | == | test.cpp:31:7:31:7 | Load: x | 0 | 32 | 32 |
908
+ irGuardsEnsure_const
909
+ | test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:9 | Load: x | != | 0 | 58 | 58 |
910
+ | test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:9 | Load: x | != | 0 | 62 | 62 |
911
+ | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | != | 0 | 79 | 79 |
912
+ | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | 0 | 76 | 76 |
913
+ | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | 0 | 85 | 85 |
914
+ | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | 0 | 86 | 86 |
915
+ | test.c:85:18:85:23 | CompareNE: ... != ... | test.c:85:18:85:18 | Load: y | != | 0 | 86 | 86 |
916
+ | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | != | 0 | 95 | 95 |
917
+ | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 70 | 70 |
918
+ | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 99 | 99 |
919
+ | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 102 | 102 |
920
+ | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 103 | 103 |
921
+ | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 107 | 107 |
922
+ | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 109 | 109 |
923
+ | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 110 | 110 |
924
+ | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 113 | 113 |
925
+ | test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:9 | Load: x | != | 0 | 109 | 109 |
926
+ | test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:9 | Load: x | != | 0 | 113 | 113 |
927
+ | test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:15 | Call: call to foo | != | 0 | 175 | 175 |
928
+ | test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:15 | Call: call to foo | == | 0 | 175 | 175 |
929
+ | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | != | -1 | 34 | 34 |
930
+ | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | == | -1 | 30 | 30 |
931
+ | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | == | -1 | 32 | 32 |
0 commit comments