Commit 0289d31
committed
ITE and binary relations are constant when all operands are constants
This expands the definition of is_constantt to cover if-then-else as
well as binary relations and logic or bit operations. In many, but not,
cases the simplifier will have turned these into simpler constants. The
included regression test is derived from Rust code, where the
intermediate representation (together with constant propagation) will
yield such comparisons.1 parent e024ecb commit 0289d31
File tree
3 files changed
+23
-2
lines changed- regression/cbmc/constant_folding3
- src/util
3 files changed
+23
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
239 | 239 | | |
240 | 240 | | |
241 | 241 | | |
242 | | - | |
243 | | - | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
244 | 248 | | |
245 | 249 | | |
246 | 250 | | |
| |||
0 commit comments