[llvm] [AMDGPU] Restore SP from saved-FP or saved-BP (PR #124007)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 24 01:51:50 PST 2025
================
@@ -1256,6 +1256,17 @@ void SIFrameLowering::emitEpilogue(MachineFunction &MF,
Register FramePtrReg = FuncInfo->getFrameOffsetReg();
bool FPSaved = FuncInfo->hasPrologEpilogSGPRSpillEntry(FramePtrReg);
+ if (RoundedSize != 0) {
+ if (TRI.hasBasePointer(MF))
+ BuildMI(MBB, MBBI, DL, TII->get(AMDGPU::COPY), StackPtrReg)
+ .addReg(TRI.getBaseRegister())
+ .setMIFlag(MachineInstr::FrameDestroy);
+ else if (hasFP(MF))
+ BuildMI(MBB, MBBI, DL, TII->get(AMDGPU::COPY), StackPtrReg)
+ .addReg(FramePtrReg)
+ .setMIFlag(MachineInstr::FrameDestroy);
+ }
----------------
arsenm wrote:
```suggestion
if (TRI.hasBasePointer(MF)) {
BuildMI(MBB, MBBI, DL, TII->get(AMDGPU::COPY), StackPtrReg)
.addReg(TRI.getBaseRegister())
.setMIFlag(MachineInstr::FrameDestroy);
} else if (hasFP(MF)) {
BuildMI(MBB, MBBI, DL, TII->get(AMDGPU::COPY), StackPtrReg)
.addReg(FramePtrReg)
.setMIFlag(MachineInstr::FrameDestroy);
}
}
```
https://github.com/llvm/llvm-project/pull/124007
More information about the llvm-commits
mailing list