Commit cfcb788
authored
[EarlyCSE] Fix dead store elimination for unwinding readnone calls (llvm#145287)
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 e56384f commit cfcb788
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