Commit 6f8afaf
authored
This PR folds:
`A == MIN_INT ? B != MIN_INT : A < B` to `A < B`
`A == MAX_INT ? B != MAX_INT : A > B` to `A > B`
Proof: https://alive2.llvm.org/ce/z/bR6E2s
This helps in optimizing comparison of optional unsigned non-zero types
in rust-lang/rust#49892.
Rust compiler's current output: https://rust.godbolt.org/z/9fxfq3Gn8
1 parent 94837c8 commit 6f8afaf
File tree
3 files changed
+501
-1
lines changed- llvm
- lib
- Analysis
- Transforms/InstCombine
- test/Transforms/InstCombine
3 files changed
+501
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7144 | 7144 | | |
7145 | 7145 | | |
7146 | 7146 | | |
7147 | | - | |
7148 | 7147 | | |
7149 | 7148 | | |
7150 | 7149 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1781 | 1781 | | |
1782 | 1782 | | |
1783 | 1783 | | |
| 1784 | + | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
| 1808 | + | |
| 1809 | + | |
| 1810 | + | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
| 1822 | + | |
| 1823 | + | |
1784 | 1824 | | |
1785 | 1825 | | |
1786 | 1826 | | |
| |||
1795 | 1835 | | |
1796 | 1836 | | |
1797 | 1837 | | |
| 1838 | + | |
| 1839 | + | |
| 1840 | + | |
| 1841 | + | |
1798 | 1842 | | |
1799 | 1843 | | |
1800 | 1844 | | |
| |||
0 commit comments