BitVector Reserved(getNumRegs());
Reserved.set(ARM::SP);
Reserved.set(ARM::PC);
- // FP is reserved on Darwin even if we're not using it in this function.
if (STI.isTargetDarwin() || hasFP(MF))
Reserved.set(FramePtr);
// Some targets reserve R9.
return true;
case ARM::R7:
case ARM::R11:
- // FP is reserved on Darwin even if we're not using it in this function.
if (FramePtr == Reg && (STI.isTargetDarwin() || hasFP(MF)))
return true;
break;
///
bool ARMBaseRegisterInfo::hasFP(const MachineFunction &MF) const {
const MachineFrameInfo *MFI = MF.getFrameInfo();
- return ((STI.isTargetDarwin() && MFI->hasCalls()) ||
- NoFramePointerElim ||
+ return (NoFramePointerElim ||
needsStackRealignment(MF) ||
MFI->hasVarSizedObjects() ||
MFI->isFrameAddressTaken());