Commit f49d280
committed
[WIP][AMDGPU] Change
In `emitCSRSpillStores`, a caller-saved SGPR is required to save `exec`, which
limits us to using SGPR0 through SGPR29
Currently, we assume that one is always available; however, this isn’t always
the case, as SGPR0 to SGPR29 are also used for inreg argument passing.
This PR is trying to fix this issue by not using all caller-saved SGPRs for
`inreg` argument passing. This will make sure that we will always have at least
two SGPRs available when it needs CSR spilling.
Fixes #113782.CC_AMDGPU_Func to only use SGPR0 to SGPR27 for inreg argument passing1 parent 0b07aae commit f49d280
File tree
2 files changed
+3
-3
lines changed- llvm
- docs
- lib/Target/AMDGPU
2 files changed
+3
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16545 | 16545 | | |
16546 | 16546 | | |
16547 | 16547 | | |
16548 | | - | |
| 16548 | + | |
16549 | 16549 | | |
16550 | 16550 | | |
16551 | 16551 | | |
| |||
16796 | 16796 | | |
16797 | 16797 | | |
16798 | 16798 | | |
16799 | | - | |
| 16799 | + | |
16800 | 16800 | | |
16801 | 16801 | | |
16802 | 16802 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| |||
0 commit comments