We were using reserved VGPRs for SGPR spilling and this was causing
some programs with a workgroup size of 1024 to use more than 64
registers, which is illegal.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/AMDGPU/SIRegisterInfo.cpp | ||
---|---|---|
952–954 ↗ | (On Diff #62820) | Instead of testing getReservedRegs you should check MRI.isAllocatable |
Comment Actions
FYI, This is a high priority bug. It prevents DiRT Showdown from working. Phoronix can't test the game due to that.
Comment Actions
LGTM except for one comment.
lib/Target/AMDGPU/SIRegisterInfo.cpp | ||
---|---|---|
965 ↗ | (On Diff #64486) | Reserved is unused now. |
Comment Actions
I think this fixed the issue I was seeing running BioShock at Ultra settings at 4K resolutions on my M395X