Skip to content

Commit dc8da7d

Browse files
[AMDGPU] Reserved private memory register during PEI (#93536)
- Reserved newly selected private memory registers in entry Function Prologue generation. - Added assertion patch in eliminateFrameIndex to ensure register is reserved. Co-authored-by: PankajDwivedi-25 <[email protected]>
1 parent 74014b5 commit dc8da7d

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

llvm/lib/Target/AMDGPU/SIFrameLowering.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,7 @@ Register SIFrameLowering::getEntryFunctionReservedScratchRsrcReg(
579579
(!GITPtrLoReg || !TRI->isSubRegisterEq(Reg, GITPtrLoReg))) {
580580
MRI.replaceRegWith(ScratchRsrcReg, Reg);
581581
MFI->setScratchRSrcReg(Reg);
582+
MRI.reserveReg(Reg, TRI);
582583
return Reg;
583584
}
584585
}

llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2083,6 +2083,9 @@ bool SIRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator MI,
20832083

20842084
assert(SPAdj == 0 && "unhandled SP adjustment in call sequence?");
20852085

2086+
assert(MF->getRegInfo().isReserved(MFI->getScratchRSrcReg()) &&
2087+
"unreserved scratch RSRC register");
2088+
20862089
MachineOperand &FIOp = MI->getOperand(FIOperandNum);
20872090
int Index = MI->getOperand(FIOperandNum).getIndex();
20882091

0 commit comments

Comments
 (0)