@@ -62,7 +62,9 @@ astGuardsCompare
6262| 26 | x >= 0+1 when ... > ... is true |
6363| 31 | - ... != x+0 when ... == ... is false |
6464| 31 | - ... == x+0 when ... == ... is true |
65+ | 31 | x != -1 when ... == ... is false |
6566| 31 | x != - ...+0 when ... == ... is false |
67+ | 31 | x == -1 when ... == ... is true |
6668| 31 | x == - ...+0 when ... == ... is true |
6769| 34 | 10 < j+1 when ... < ... is false |
6870| 34 | 10 >= j+1 when ... < ... is true |
@@ -86,31 +88,44 @@ astGuardsCompare
8688| 58 | 0 < y+1 when ... \|\| ... is false |
8789| 58 | 0 == x+0 when ... == ... is true |
8890| 58 | 0 >= y+1 when ... < ... is true |
91+ | 58 | x != 0 when ... == ... is false |
92+ | 58 | x != 0 when ... \|\| ... is false |
8993| 58 | x != 0+0 when ... == ... is false |
9094| 58 | x != 0+0 when ... \|\| ... is false |
95+ | 58 | x == 0 when ... == ... is true |
9196| 58 | x == 0+0 when ... == ... is true |
9297| 58 | y < 0+0 when ... < ... is true |
9398| 58 | y >= 0+0 when ... < ... is false |
9499| 58 | y >= 0+0 when ... \|\| ... is false |
95100| 75 | 0 != x+0 when ... == ... is false |
96101| 75 | 0 == x+0 when ... == ... is true |
102+ | 75 | x != 0 when ... == ... is false |
97103| 75 | x != 0+0 when ... == ... is false |
104+ | 75 | x == 0 when ... == ... is true |
98105| 75 | x == 0+0 when ... == ... is true |
99106| 85 | 0 != x+0 when ... == ... is false |
100107| 85 | 0 != y+0 when ... != ... is true |
101108| 85 | 0 != y+0 when ... && ... is true |
102109| 85 | 0 == x+0 when ... && ... is true |
103110| 85 | 0 == x+0 when ... == ... is true |
104111| 85 | 0 == y+0 when ... != ... is false |
112+ | 85 | x != 0 when ... == ... is false |
105113| 85 | x != 0+0 when ... == ... is false |
114+ | 85 | x == 0 when ... && ... is true |
115+ | 85 | x == 0 when ... == ... is true |
106116| 85 | x == 0+0 when ... && ... is true |
107117| 85 | x == 0+0 when ... == ... is true |
118+ | 85 | y != 0 when ... != ... is true |
119+ | 85 | y != 0 when ... && ... is true |
108120| 85 | y != 0+0 when ... != ... is true |
109121| 85 | y != 0+0 when ... && ... is true |
122+ | 85 | y == 0 when ... != ... is false |
110123| 85 | y == 0+0 when ... != ... is false |
111124| 94 | 0 != x+0 when ... != ... is true |
112125| 94 | 0 == x+0 when ... != ... is false |
126+ | 94 | x != 0 when ... != ... is true |
113127| 94 | x != 0+0 when ... != ... is true |
128+ | 94 | x == 0 when ... != ... is false |
114129| 94 | x == 0+0 when ... != ... is false |
115130| 102 | 10 < j+1 when ... < ... is false |
116131| 102 | 10 >= j+1 when ... < ... is true |
@@ -122,8 +137,11 @@ astGuardsCompare
122137| 109 | 0 < y+1 when ... \|\| ... is false |
123138| 109 | 0 == x+0 when ... == ... is true |
124139| 109 | 0 >= y+1 when ... < ... is true |
140+ | 109 | x != 0 when ... == ... is false |
141+ | 109 | x != 0 when ... \|\| ... is false |
125142| 109 | x != 0+0 when ... == ... is false |
126143| 109 | x != 0+0 when ... \|\| ... is false |
144+ | 109 | x == 0 when ... == ... is true |
127145| 109 | x == 0+0 when ... == ... is true |
128146| 109 | y < 0+0 when ... < ... is true |
129147| 109 | y >= 0+0 when ... < ... is false |
@@ -162,7 +180,9 @@ astGuardsCompare
162180| 165 | y >= x+43 when ... < ... is true |
163181| 175 | 0 != call to foo+0 when ... == ... is false |
164182| 175 | 0 == call to foo+0 when ... == ... is true |
183+ | 175 | call to foo != 0 when ... == ... is false |
165184| 175 | call to foo != 0+0 when ... == ... is false |
185+ | 175 | call to foo == 0 when ... == ... is true |
166186| 175 | call to foo == 0+0 when ... == ... is true |
167187astGuardsControl
168188| test.c:7:9:7:13 | ... > ... | false | 10 | 11 |
@@ -443,6 +463,34 @@ astGuardsEnsure
443463| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | != | test.cpp:31:7:31:7 | x | 0 | 34 | 34 |
444464| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | == | test.cpp:31:7:31:7 | x | 0 | 30 | 30 |
445465| 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 |
446494irGuards
447495| test.c:7:9:7:13 | CompareGT: ... > ... |
448496| test.c:17:8:17:12 | CompareLT: ... < ... |
@@ -497,7 +545,9 @@ irGuardsCompare
497545| 26 | x >= 0+1 when CompareGT: ... > ... is true |
498546| 31 | - ... != x+0 when CompareEQ: ... == ... is false |
499547| 31 | - ... == x+0 when CompareEQ: ... == ... is true |
548+ | 31 | x != -1 when CompareEQ: ... == ... is false |
500549| 31 | x != - ...+0 when CompareEQ: ... == ... is false |
550+ | 31 | x == -1 when CompareEQ: ... == ... is true |
501551| 31 | x == - ...+0 when CompareEQ: ... == ... is true |
502552| 34 | 10 < j+1 when CompareLT: ... < ... is false |
503553| 34 | 10 >= j+1 when CompareLT: ... < ... is true |
@@ -519,25 +569,35 @@ irGuardsCompare
519569| 58 | 0 < y+1 when CompareLT: ... < ... is false |
520570| 58 | 0 == x+0 when CompareEQ: ... == ... is true |
521571| 58 | 0 >= y+1 when CompareLT: ... < ... is true |
572+ | 58 | x != 0 when CompareEQ: ... == ... is false |
522573| 58 | x != 0+0 when CompareEQ: ... == ... is false |
574+ | 58 | x == 0 when CompareEQ: ... == ... is true |
523575| 58 | x == 0+0 when CompareEQ: ... == ... is true |
524576| 58 | y < 0+0 when CompareLT: ... < ... is true |
525577| 58 | y >= 0+0 when CompareLT: ... < ... is false |
526578| 75 | 0 != x+0 when CompareEQ: ... == ... is false |
527579| 75 | 0 == x+0 when CompareEQ: ... == ... is true |
580+ | 75 | x != 0 when CompareEQ: ... == ... is false |
528581| 75 | x != 0+0 when CompareEQ: ... == ... is false |
582+ | 75 | x == 0 when CompareEQ: ... == ... is true |
529583| 75 | x == 0+0 when CompareEQ: ... == ... is true |
530584| 85 | 0 != x+0 when CompareEQ: ... == ... is false |
531585| 85 | 0 != y+0 when CompareNE: ... != ... is true |
532586| 85 | 0 == x+0 when CompareEQ: ... == ... is true |
533587| 85 | 0 == y+0 when CompareNE: ... != ... is false |
588+ | 85 | x != 0 when CompareEQ: ... == ... is false |
534589| 85 | x != 0+0 when CompareEQ: ... == ... is false |
590+ | 85 | x == 0 when CompareEQ: ... == ... is true |
535591| 85 | x == 0+0 when CompareEQ: ... == ... is true |
592+ | 85 | y != 0 when CompareNE: ... != ... is true |
536593| 85 | y != 0+0 when CompareNE: ... != ... is true |
594+ | 85 | y == 0 when CompareNE: ... != ... is false |
537595| 85 | y == 0+0 when CompareNE: ... != ... is false |
538596| 94 | 0 != x+0 when CompareNE: ... != ... is true |
539597| 94 | 0 == x+0 when CompareNE: ... != ... is false |
598+ | 94 | x != 0 when CompareNE: ... != ... is true |
540599| 94 | x != 0+0 when CompareNE: ... != ... is true |
600+ | 94 | x == 0 when CompareNE: ... != ... is false |
541601| 94 | x == 0+0 when CompareNE: ... != ... is false |
542602| 102 | 10 < j+1 when CompareLT: ... < ... is false |
543603| 102 | 10 >= j+1 when CompareLT: ... < ... is true |
@@ -547,7 +607,9 @@ irGuardsCompare
547607| 109 | 0 < y+1 when CompareLT: ... < ... is false |
548608| 109 | 0 == x+0 when CompareEQ: ... == ... is true |
549609| 109 | 0 >= y+1 when CompareLT: ... < ... is true |
610+ | 109 | x != 0 when CompareEQ: ... == ... is false |
550611| 109 | x != 0+0 when CompareEQ: ... == ... is false |
612+ | 109 | x == 0 when CompareEQ: ... == ... is true |
551613| 109 | x == 0+0 when CompareEQ: ... == ... is true |
552614| 109 | y < 0+0 when CompareLT: ... < ... is true |
553615| 109 | y >= 0+0 when CompareLT: ... < ... is false |
@@ -585,7 +647,9 @@ irGuardsCompare
585647| 165 | y >= x+43 when CompareLT: ... < ... is true |
586648| 175 | 0 != call to foo+0 when CompareEQ: ... == ... is false |
587649| 175 | 0 == call to foo+0 when CompareEQ: ... == ... is true |
650+ | 175 | call to foo != 0 when CompareEQ: ... == ... is false |
588651| 175 | call to foo != 0+0 when CompareEQ: ... == ... is false |
652+ | 175 | call to foo == 0 when CompareEQ: ... == ... is true |
589653| 175 | call to foo == 0+0 when CompareEQ: ... == ... is true |
590654irGuardsControl
591655| test.c:7:9:7:13 | CompareGT: ... > ... | false | 11 | 11 |
@@ -841,3 +905,27 @@ irGuardsEnsure
841905| 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 |
842906| 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 |
843907| 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