Java: Minor fix to modulus analysis to handle constant expressions and not only compile time constants

This commit is contained in:
Tamas Vajk
2020-09-25 17:15:47 +02:00
parent 5688210249
commit 40a7f5aa1f
3 changed files with 5 additions and 4 deletions

View File

@@ -22,6 +22,7 @@
| ModulusAnalysis.java:12:25:12:29 | seven | 0 | 7 | 0 |
| ModulusAnalysis.java:12:25:12:29 | seven | SSA def(seven) | 0 | 0 |
| ModulusAnalysis.java:13:32:13:34 | mul | 0 | 3 | 42 |
| ModulusAnalysis.java:13:32:13:34 | mul | 0 | 7 | 43 |
| ModulusAnalysis.java:13:32:13:34 | mul | SSA def(mul) | 0 | 0 |
| ModulusAnalysis.java:16:17:18:23 | ...?...:... | 0 | 3 | 4 |
| ModulusAnalysis.java:17:15:17:15 | i | SSA init(i) | 0 | 0 |

View File

@@ -10,7 +10,7 @@ class ModulusAnalysis
int seven = 7;
if (mul % c2 == seven) {
System.out.println(mul); // congruent 3 mod 42
System.out.println(mul); // congruent 3 mod 42, 7 mod 43
}
int j = cond