Commit 4c6b882
authored
[DAG] Fold mul 0 -> 0 when expanding mul into parts. (#168780)
If the upper bits are zero, but we expand multiply then immediately
convert the multiple into a libcall, there is no opportunity to optimize
away the mul. Do so in getNode to make sure extending multiplies
optimise cleanly.1 parent c9ebc89 commit 4c6b882
File tree
6 files changed
+98
-139
lines changed- llvm
- lib/CodeGen/SelectionDAG
- test/CodeGen
- AArch64
- RISCV
- Thumb
6 files changed
+98
-139
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7656 | 7656 | | |
7657 | 7657 | | |
7658 | 7658 | | |
| 7659 | + | |
| 7660 | + | |
7659 | 7661 | | |
7660 | 7662 | | |
7661 | 7663 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1673 | 1673 | | |
1674 | 1674 | | |
1675 | 1675 | | |
1676 | | - | |
1677 | | - | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
1678 | 1679 | | |
1679 | 1680 | | |
1680 | 1681 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
279 | 279 | | |
280 | 280 | | |
281 | 281 | | |
282 | | - | |
283 | 282 | | |
284 | 283 | | |
285 | | - | |
286 | | - | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
287 | 287 | | |
288 | 288 | | |
289 | 289 | | |
| |||
853 | 853 | | |
854 | 854 | | |
855 | 855 | | |
856 | | - | |
| 856 | + | |
857 | 857 | | |
858 | 858 | | |
859 | 859 | | |
860 | | - | |
861 | | - | |
862 | | - | |
863 | | - | |
864 | | - | |
865 | | - | |
866 | | - | |
867 | | - | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
868 | 868 | | |
869 | | - | |
| 869 | + | |
870 | 870 | | |
871 | | - | |
| 871 | + | |
872 | 872 | | |
873 | 873 | | |
874 | 874 | | |
| |||
1733 | 1733 | | |
1734 | 1734 | | |
1735 | 1735 | | |
1736 | | - | |
1737 | | - | |
1738 | 1736 | | |
1739 | 1737 | | |
1740 | 1738 | | |
1741 | 1739 | | |
1742 | | - | |
1743 | | - | |
1744 | | - | |
1745 | | - | |
1746 | | - | |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
1747 | 1746 | | |
1748 | | - | |
1749 | | - | |
| 1747 | + | |
1750 | 1748 | | |
1751 | | - | |
| 1749 | + | |
| 1750 | + | |
1752 | 1751 | | |
| 1752 | + | |
1753 | 1753 | | |
1754 | 1754 | | |
1755 | 1755 | | |
| |||
2387 | 2387 | | |
2388 | 2388 | | |
2389 | 2389 | | |
2390 | | - | |
2391 | 2390 | | |
2392 | 2391 | | |
2393 | 2392 | | |
2394 | | - | |
2395 | | - | |
| 2393 | + | |
| 2394 | + | |
| 2395 | + | |
2396 | 2396 | | |
2397 | 2397 | | |
2398 | 2398 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
27 | 26 | | |
28 | 27 | | |
29 | | - | |
30 | | - | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
43 | 42 | | |
44 | 43 | | |
45 | | - | |
46 | | - | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
59 | 58 | | |
60 | 59 | | |
61 | | - | |
62 | | - | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1829 | 1829 | | |
1830 | 1830 | | |
1831 | 1831 | | |
1832 | | - | |
1833 | | - | |
1834 | | - | |
1835 | | - | |
1836 | | - | |
1837 | | - | |
| 1832 | + | |
| 1833 | + | |
| 1834 | + | |
| 1835 | + | |
1838 | 1836 | | |
1839 | 1837 | | |
1840 | 1838 | | |
1841 | 1839 | | |
1842 | 1840 | | |
1843 | | - | |
| 1841 | + | |
1844 | 1842 | | |
1845 | | - | |
| 1843 | + | |
1846 | 1844 | | |
1847 | 1845 | | |
1848 | 1846 | | |
1849 | 1847 | | |
1850 | | - | |
1851 | | - | |
| 1848 | + | |
| 1849 | + | |
1852 | 1850 | | |
1853 | | - | |
| 1851 | + | |
1854 | 1852 | | |
1855 | 1853 | | |
1856 | 1854 | | |
1857 | 1855 | | |
1858 | 1856 | | |
1859 | | - | |
1860 | | - | |
| 1857 | + | |
| 1858 | + | |
1861 | 1859 | | |
1862 | | - | |
| 1860 | + | |
1863 | 1861 | | |
1864 | 1862 | | |
1865 | | - | |
1866 | | - | |
1867 | | - | |
1868 | | - | |
1869 | | - | |
1870 | | - | |
1871 | | - | |
1872 | | - | |
1873 | | - | |
1874 | | - | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
1875 | 1866 | | |
1876 | 1867 | | |
1877 | | - | |
1878 | | - | |
| 1868 | + | |
| 1869 | + | |
1879 | 1870 | | |
1880 | | - | |
1881 | | - | |
1882 | | - | |
1883 | | - | |
1884 | | - | |
1885 | | - | |
1886 | | - | |
1887 | | - | |
1888 | | - | |
1889 | | - | |
1890 | | - | |
1891 | | - | |
1892 | | - | |
| 1871 | + | |
| 1872 | + | |
| 1873 | + | |
| 1874 | + | |
| 1875 | + | |
| 1876 | + | |
| 1877 | + | |
| 1878 | + | |
1893 | 1879 | | |
1894 | 1880 | | |
1895 | 1881 | | |
| |||
1899 | 1885 | | |
1900 | 1886 | | |
1901 | 1887 | | |
1902 | | - | |
1903 | | - | |
1904 | 1888 | | |
1905 | 1889 | | |
1906 | 1890 | | |
| |||
0 commit comments