[llvm] [AMDGPU] Scavenge a VGPR to eliminate a frame index (PR #166979)
Shilei Tian via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 9 09:37:57 PST 2025
================
@@ -2983,10 +2983,36 @@ bool SIRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator MI,
: RS->scavengeRegisterBackwards(AMDGPU::SReg_32_XM0RegClass,
MI, false, 0, !UseSGPR);
- // TODO: for flat scratch another attempt can be made with a VGPR index
- // if no SGPRs can be scavenged.
- if ((!TmpSReg && !FrameReg) || (!TmpReg && !UseSGPR))
+ if ((!TmpSReg && !FrameReg) || (!TmpReg && !UseSGPR)) {
+ if (ST.hasFlatScratchSVSMode()) {
+ int SVOpcode = AMDGPU::getFlatScratchInstSVfromSS(MI->getOpcode());
----------------
shiltian wrote:
`getFlatScratchInstSVfromSS` can return -1, so either assert it is not -1, or error out.
https://github.com/llvm/llvm-project/pull/166979
More information about the llvm-commits
mailing list