Commit a8e39c2
committed
Propagate NSW in ~((-X) | Y) --> (X - 1) & (~Y)
https://alive2.llvm.org/ce/z/qojyPF
If -X is nsw, then X - 1 must be too.
This is because -X can only be nsw if X is any number that is not
INT_MIN. And if X is not INT_MIN, then X - 1 must be nsw.1 parent 641ae74 commit a8e39c2
File tree
2 files changed
+16
-2
lines changed- llvm
- lib/Transforms/InstCombine
- test/Transforms/InstCombine
2 files changed
+16
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4750 | 4750 | | |
4751 | 4751 | | |
4752 | 4752 | | |
| 4753 | + | |
| 4754 | + | |
| 4755 | + | |
| 4756 | + | |
| 4757 | + | |
| 4758 | + | |
| 4759 | + | |
| 4760 | + | |
| 4761 | + | |
| 4762 | + | |
| 4763 | + | |
4753 | 4764 | | |
4754 | 4765 | | |
| 4766 | + | |
| 4767 | + | |
| 4768 | + | |
4755 | 4769 | | |
4756 | 4770 | | |
4757 | 4771 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
438 | 438 | | |
439 | 439 | | |
440 | 440 | | |
441 | | - | |
| 441 | + | |
442 | 442 | | |
443 | 443 | | |
444 | 444 | | |
| |||
452 | 452 | | |
453 | 453 | | |
454 | 454 | | |
455 | | - | |
| 455 | + | |
456 | 456 | | |
457 | 457 | | |
458 | 458 | | |
| |||
0 commit comments