Commit 25f16d1
committed
[EarlyCSE] Fix dead store elimination for unwinding readnone calls
EarlyCSE already resets LastStore when it hits an potentially
unwinding instruction, as the memory state may be observed by the
caller after the unwind.
There also was a test specifically making sure that this works
even for unwinding readnone calls -- however, the call in that
test did not participate in EarlyCSE in the first place, because
it returns void (relaxing that is how I got here), so it was not
actually testing the right thing.
Move the check for unwinding instructions earlier, so it also
handles the readnone case.1 parent 4795b2b commit 25f16d1
File tree
3 files changed
+25
-24
lines changed- llvm
- lib/Transforms/Scalar
- test/Transforms/EarlyCSE
3 files changed
+25
-24
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1525 | 1525 | | |
1526 | 1526 | | |
1527 | 1527 | | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
1528 | 1533 | | |
1529 | 1534 | | |
1530 | 1535 | | |
| |||
1616 | 1621 | | |
1617 | 1622 | | |
1618 | 1623 | | |
1619 | | - | |
1620 | | - | |
| 1624 | + | |
1621 | 1625 | | |
1622 | 1626 | | |
1623 | 1627 | | |
1624 | 1628 | | |
1625 | | - | |
| 1629 | + | |
1626 | 1630 | | |
1627 | 1631 | | |
1628 | 1632 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
140 | | - | |
| 140 | + | |
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
| |||
212 | 212 | | |
213 | 213 | | |
214 | 214 | | |
215 | | - | |
| 215 | + | |
216 | 216 | | |
217 | 217 | | |
218 | | - | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
219 | 234 | | |
220 | 235 | | |
221 | 236 | | |
| |||
This file was deleted.
0 commit comments