================
@@ -3282,6 +3292,36 @@ bool ARMExpandPseudo::ExpandMI(MachineBasicBlock &MBB,
MI.eraseFromParent();
return true;
}
+ case ARM::WIN_RECOVER_FP: {
+ MachineBasicBlock &MBB = *MI.getParent();
+ MachineBasicBlock::iterator MBBI = MI.getIterator();
+ MachineFunction &MF = *MI.getMF();
+ DebugLoc dl = MI.getDebugLoc();
+ Register DstReg = MI.getOperand(0).getReg();
+ const ARMBaseRegisterInfo &RI = TII->getRegisterInfo();
+ Register BaseReg = RI.getBaseRegister();
+ Register LocalAddrReg = RI.getLocalAddressRegister(MF);
+ if (AFI->isBasePtrSpilled()) {
+ // If the handler itself uses R6, we must restore the parent's R6.
----------------
efriedma-quic wrote:
I want to see CHECK lines for the case where the register is spilled. (If this
can actually happen? Not sure.)
https://github.com/llvm/llvm-project/pull/184953
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits