[llvm-branch-commits] [llvm] Use register pair for PC spill (PR #169098)
Matt Arsenault via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Nov 24 11:58:03 PST 2025
================
@@ -267,11 +267,19 @@ bool SILowerSGPRSpills::spillCalleeSavedRegs(
std::vector<CalleeSavedInfo> CSI;
const MCPhysReg *CSRegs = MRI.getCalleeSavedRegs();
+ Register RetAddrReg = TRI->getReturnAddressReg(MF);
+ bool SpillRetAddrReg = false;
for (unsigned I = 0; CSRegs[I]; ++I) {
MCRegister Reg = CSRegs[I];
if (SavedRegs.test(Reg)) {
+ if (Reg == TRI->getSubReg(RetAddrReg, AMDGPU::sub0) ||
+ Reg == TRI->getSubReg(RetAddrReg, AMDGPU::sub1)) {
----------------
arsenm wrote:
Pull the getSubRegs out of the loop
https://github.com/llvm/llvm-project/pull/169098
More information about the llvm-branch-commits
mailing list