[llvm] [X86][CodeGen] Teach frame lowering to spill/reload registers w/ PUSHP/POPP, PUSH2[P]/POP2[P] (PR #73292)
Phoebe Wang via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 27 00:54:40 PST 2023
================
@@ -2958,15 +3066,30 @@ bool X86FrameLowering::restoreCalleeSavedRegisters(
}
// POP GPRs.
- unsigned Opc = STI.is64Bit() ? X86::POP64r : X86::POP32r;
+ MachineInstrBuilder MIB;
+ bool IncompletePop2 = false;
----------------
phoebewang wrote:
It can simplify for Push2Pop2 at least, e.g.,
```
if (X86FI->isCandidateForPush2Pop2(Reg)) {
MIB = BuildMI(MBB, MI, DL, TII.get(getPOP2Opcode(STI)), Reg)
.addReg(++I->getReg())
.setMIFlag(MachineInstr::FrameDestroy);
}
```
https://github.com/llvm/llvm-project/pull/73292
More information about the llvm-commits
mailing list