Commit 8d2e11c
committed
[Reassociate] Invalidate analysis passes after canonicalizeOperands
When ranking operands for an expression tree the reassociate pass
also perform canonicalization, putting constants on the right
hand side. Such transforms was however not registered as modifying
the IR. So at the end of the pass, if not having made any other
changes, the pass returned that all analyses should be kept.
With this patch we make sure to set MadeChange to true when
modifying the IR via canonicalizeOperands. This is to make sure
analyses such as DemandedBits are properly invalidated when
instructions are modified.1 parent dd3de59 commit 8d2e11c
File tree
2 files changed
+35
-1
lines changed- llvm
- lib/Transforms/Scalar
- test/Transforms/Reassociate
2 files changed
+35
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
241 | 241 | | |
242 | 242 | | |
243 | 243 | | |
244 | | - | |
| 244 | + | |
245 | 245 | | |
| 246 | + | |
| 247 | + | |
246 | 248 | | |
247 | 249 | | |
248 | 250 | | |
| |||
Lines changed: 32 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
0 commit comments