Commit bf83516
authored
[AArch64] Remove post-decoding instruction mutations (llvm#156364)
Add `bits<0>` fields to instructions using the ZTR/MPR/MPR8 register
classes. These register classes contain only one register, and it is
not encoded in the instruction. This way, the generated decoder can
completely decode instructions without having to perform a post-decoding
pass to insert missing operands.
Some immediate operands are also not encoded and have only one possible
value "zero". Use this trick for them, too.
Finally, remove `-ignore-non-decodable-operands` option from
`llvm-tblgen` invocation to ensure that non-decodable operands do not
appear in the future.1 parent cac54a8 commit bf83516
File tree
7 files changed
+153
-79
lines changed- llvm/lib/Target/AArch64
- Disassembler
- utils/bazel/llvm-project-overlay/llvm
7 files changed
+153
-79
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1561 | 1561 | | |
1562 | 1562 | | |
1563 | 1563 | | |
1564 | | - | |
1565 | | - | |
1566 | | - | |
1567 | | - | |
1568 | | - | |
1569 | | - | |
1570 | | - | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
1571 | 1570 | | |
1572 | 1571 | | |
1573 | 1572 | | |
| |||
1620 | 1619 | | |
1621 | 1620 | | |
1622 | 1621 | | |
| 1622 | + | |
1623 | 1623 | | |
1624 | 1624 | | |
1625 | 1625 | | |
| |||
1683 | 1683 | | |
1684 | 1684 | | |
1685 | 1685 | | |
| 1686 | + | |
1686 | 1687 | | |
1687 | 1688 | | |
1688 | 1689 | | |
| |||
1691 | 1692 | | |
1692 | 1693 | | |
1693 | 1694 | | |
| 1695 | + | |
1694 | 1696 | | |
1695 | 1697 | | |
1696 | 1698 | | |
| |||
8220 | 8222 | | |
8221 | 8223 | | |
8222 | 8224 | | |
| 8225 | + | |
8223 | 8226 | | |
8224 | 8227 | | |
8225 | 8228 | | |
| 8229 | + | |
8226 | 8230 | | |
8227 | 8231 | | |
8228 | 8232 | | |
| 8233 | + | |
8229 | 8234 | | |
8230 | 8235 | | |
8231 | 8236 | | |
| 8237 | + | |
8232 | 8238 | | |
8233 | 8239 | | |
8234 | 8240 | | |
| 8241 | + | |
8235 | 8242 | | |
8236 | 8243 | | |
8237 | 8244 | | |
| |||
8267 | 8274 | | |
8268 | 8275 | | |
8269 | 8276 | | |
| 8277 | + | |
8270 | 8278 | | |
8271 | 8279 | | |
8272 | 8280 | | |
| 8281 | + | |
8273 | 8282 | | |
8274 | 8283 | | |
8275 | 8284 | | |
| 8285 | + | |
8276 | 8286 | | |
8277 | 8287 | | |
8278 | 8288 | | |
| 8289 | + | |
8279 | 8290 | | |
8280 | 8291 | | |
8281 | 8292 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1875 | 1875 | | |
1876 | 1876 | | |
1877 | 1877 | | |
1878 | | - | |
| 1878 | + | |
1879 | 1879 | | |
1880 | 1880 | | |
1881 | | - | |
1882 | 1881 | | |
1883 | 1882 | | |
1884 | 1883 | | |
1885 | | - | |
1886 | | - | |
1887 | | - | |
| 1884 | + | |
| 1885 | + | |
| 1886 | + | |
1888 | 1887 | | |
1889 | 1888 | | |
1890 | 1889 | | |
| |||
1902 | 1901 | | |
1903 | 1902 | | |
1904 | 1903 | | |
1905 | | - | |
1906 | | - | |
| 1904 | + | |
1907 | 1905 | | |
1908 | 1906 | | |
1909 | 1907 | | |
1910 | | - | |
1911 | 1908 | | |
1912 | 1909 | | |
1913 | 1910 | | |
1914 | | - | |
1915 | | - | |
1916 | | - | |
1917 | | - | |
1918 | | - | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
| 1914 | + | |
| 1915 | + | |
1919 | 1916 | | |
1920 | | - | |
1921 | | - | |
1922 | | - | |
1923 | | - | |
1924 | | - | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
1925 | 1922 | | |
1926 | 1923 | | |
1927 | 1924 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
| 10 | + | |
12 | 11 | | |
13 | 12 | | |
14 | 13 | | |
| |||
Lines changed: 57 additions & 47 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
153 | 184 | | |
154 | 185 | | |
155 | 186 | | |
| |||
1392 | 1423 | | |
1393 | 1424 | | |
1394 | 1425 | | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
1395 | 1431 | | |
1396 | 1432 | | |
1397 | 1433 | | |
| |||
1540 | 1576 | | |
1541 | 1577 | | |
1542 | 1578 | | |
| 1579 | + | |
1543 | 1580 | | |
1544 | 1581 | | |
1545 | 1582 | | |
| |||
1583 | 1620 | | |
1584 | 1621 | | |
1585 | 1622 | | |
1586 | | - | |
1587 | | - | |
1588 | | - | |
1589 | | - | |
1590 | | - | |
1591 | | - | |
1592 | | - | |
1593 | | - | |
1594 | | - | |
1595 | | - | |
1596 | | - | |
1597 | | - | |
1598 | | - | |
1599 | | - | |
1600 | | - | |
1601 | | - | |
1602 | | - | |
1603 | | - | |
1604 | | - | |
1605 | | - | |
1606 | | - | |
1607 | | - | |
1608 | | - | |
1609 | | - | |
1610 | | - | |
1611 | | - | |
1612 | | - | |
1613 | 1623 | | |
1614 | 1624 | | |
1615 | 1625 | | |
| |||
0 commit comments