Commit 7fb1186
authored
Currently, the way that recomputeLiveIns works is that it will recompute
the livein registers for that MachineBasicBlock but it matters what
order you call recomputeLiveIn which can result in incorrect register
allocations down the line.
Now we do not recompute the entire CFG but we do ensure that the newly
added MBB do reach convergence. This fixes a register allocation bug
introduced in AArch64 stack probing.
(cherry picked from commit ff4636a)
1 parent 0328b87 commit 7fb1186
File tree
12 files changed
+98
-46
lines changed- llvm
- include/llvm/CodeGen
- lib
- CodeGen
- Target
- AArch64
- ARM
- PowerPC
- SystemZ
- X86
- test/CodeGen
- SystemZ
- Thumb2/LowOverheadLoops
12 files changed
+98
-46
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | | - | |
197 | | - | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
198 | 199 | | |
| 200 | + | |
| 201 | + | |
199 | 202 | | |
200 | 203 | | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
201 | 208 | | |
202 | 209 | | |
203 | 210 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
111 | 111 | | |
112 | 112 | | |
113 | 113 | | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
114 | 118 | | |
115 | 119 | | |
116 | 120 | | |
| |||
473 | 477 | | |
474 | 478 | | |
475 | 479 | | |
| 480 | + | |
| 481 | + | |
476 | 482 | | |
477 | 483 | | |
478 | 484 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2048 | 2048 | | |
2049 | 2049 | | |
2050 | 2050 | | |
2051 | | - | |
2052 | | - | |
| 2051 | + | |
| 2052 | + | |
| 2053 | + | |
| 2054 | + | |
2053 | 2055 | | |
2054 | 2056 | | |
2055 | 2057 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4339 | 4339 | | |
4340 | 4340 | | |
4341 | 4341 | | |
4342 | | - | |
4343 | | - | |
| 4342 | + | |
| 4343 | + | |
| 4344 | + | |
| 4345 | + | |
4344 | 4346 | | |
4345 | 4347 | | |
4346 | 4348 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9587 | 9587 | | |
9588 | 9588 | | |
9589 | 9589 | | |
9590 | | - | |
9591 | | - | |
9592 | | - | |
| 9590 | + | |
| 9591 | + | |
| 9592 | + | |
| 9593 | + | |
| 9594 | + | |
| 9595 | + | |
| 9596 | + | |
9593 | 9597 | | |
9594 | 9598 | | |
9595 | 9599 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1806 | 1806 | | |
1807 | 1807 | | |
1808 | 1808 | | |
1809 | | - | |
1810 | | - | |
1811 | | - | |
1812 | | - | |
1813 | | - | |
1814 | | - | |
| 1809 | + | |
| 1810 | + | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
1815 | 1816 | | |
1816 | 1817 | | |
1817 | 1818 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
211 | | - | |
212 | | - | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
213 | 215 | | |
214 | 216 | | |
215 | 217 | | |
| |||
286 | 288 | | |
287 | 289 | | |
288 | 290 | | |
289 | | - | |
290 | | - | |
291 | | - | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
292 | 296 | | |
293 | 297 | | |
294 | 298 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1441 | 1441 | | |
1442 | 1442 | | |
1443 | 1443 | | |
1444 | | - | |
1445 | | - | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
| 1447 | + | |
| 1448 | + | |
1446 | 1449 | | |
1447 | 1450 | | |
1448 | 1451 | | |
| |||
1534 | 1537 | | |
1535 | 1538 | | |
1536 | 1539 | | |
1537 | | - | |
1538 | | - | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
1539 | 1544 | | |
1540 | 1545 | | |
1541 | 1546 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
840 | 840 | | |
841 | 841 | | |
842 | 842 | | |
843 | | - | |
844 | | - | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
845 | 847 | | |
846 | 848 | | |
847 | 849 | | |
| |||
1439 | 1441 | | |
1440 | 1442 | | |
1441 | 1443 | | |
1442 | | - | |
1443 | | - | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
| 1447 | + | |
1444 | 1448 | | |
1445 | 1449 | | |
1446 | 1450 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
885 | 885 | | |
886 | 886 | | |
887 | 887 | | |
888 | | - | |
889 | | - | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
890 | 892 | | |
891 | 893 | | |
892 | 894 | | |
| |||
1378 | 1380 | | |
1379 | 1381 | | |
1380 | 1382 | | |
1381 | | - | |
1382 | | - | |
1383 | | - | |
1384 | | - | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
1385 | 1388 | | |
1386 | 1389 | | |
1387 | 1390 | | |
| |||
0 commit comments