Commit 59bf605
authored
Refactor recomputeLiveIns to operate on whole CFG (#79498)
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. This PR fixes that by simply recomputing the liveins for the entire CFG until convergence is achieved. This makes it harder to introduce subtle bugs which alter liveness.1 parent 2a06850 commit 59bf605
File tree
30 files changed
+1996
-1698
lines changed- llvm
- include/llvm/CodeGen
- lib
- CodeGen
- Target
- AArch64
- ARM
- PowerPC
- SystemZ
- X86
- test/CodeGen
- AArch64
- SystemZ
- Thumb2/LowOverheadLoops
30 files changed
+1996
-1698
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
193 | 194 | | |
194 | 195 | | |
195 | 196 | | |
196 | | - | |
197 | | - | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
198 | 200 | | |
| 201 | + | |
| 202 | + | |
199 | 203 | | |
200 | 204 | | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
201 | 222 | | |
202 | 223 | | |
203 | 224 | | |
| |||
| 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 | + | |
2053 | 2052 | | |
2054 | 2053 | | |
2055 | 2054 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4339 | 4339 | | |
4340 | 4340 | | |
4341 | 4341 | | |
4342 | | - | |
4343 | | - | |
| 4342 | + | |
4344 | 4343 | | |
4345 | 4344 | | |
4346 | 4345 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9597 | 9597 | | |
9598 | 9598 | | |
9599 | 9599 | | |
9600 | | - | |
9601 | | - | |
9602 | | - | |
| 9600 | + | |
9603 | 9601 | | |
9604 | 9602 | | |
9605 | 9603 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1806 | 1806 | | |
1807 | 1807 | | |
1808 | 1808 | | |
1809 | | - | |
1810 | | - | |
1811 | | - | |
1812 | | - | |
1813 | | - | |
1814 | | - | |
| 1809 | + | |
1815 | 1810 | | |
1816 | 1811 | | |
1817 | 1812 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
211 | | - | |
212 | | - | |
| 211 | + | |
213 | 212 | | |
214 | 213 | | |
215 | 214 | | |
| |||
286 | 285 | | |
287 | 286 | | |
288 | 287 | | |
289 | | - | |
290 | | - | |
291 | | - | |
| 288 | + | |
292 | 289 | | |
293 | 290 | | |
294 | 291 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1441 | 1441 | | |
1442 | 1442 | | |
1443 | 1443 | | |
1444 | | - | |
1445 | | - | |
| 1444 | + | |
1446 | 1445 | | |
1447 | 1446 | | |
1448 | 1447 | | |
| |||
1534 | 1533 | | |
1535 | 1534 | | |
1536 | 1535 | | |
1537 | | - | |
1538 | | - | |
| 1536 | + | |
1539 | 1537 | | |
1540 | 1538 | | |
1541 | 1539 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
840 | 840 | | |
841 | 841 | | |
842 | 842 | | |
843 | | - | |
844 | | - | |
| 843 | + | |
845 | 844 | | |
846 | 845 | | |
847 | 846 | | |
| |||
1439 | 1438 | | |
1440 | 1439 | | |
1441 | 1440 | | |
1442 | | - | |
1443 | | - | |
| 1441 | + | |
1444 | 1442 | | |
1445 | 1443 | | |
1446 | 1444 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
885 | 885 | | |
886 | 886 | | |
887 | 887 | | |
888 | | - | |
889 | | - | |
| 888 | + | |
890 | 889 | | |
891 | 890 | | |
892 | 891 | | |
| |||
1378 | 1377 | | |
1379 | 1378 | | |
1380 | 1379 | | |
1381 | | - | |
1382 | | - | |
1383 | | - | |
1384 | | - | |
| 1380 | + | |
1385 | 1381 | | |
1386 | 1382 | | |
1387 | 1383 | | |
| |||
0 commit comments