@@ -59,10 +59,6 @@ ARMBaseRegisterInfo::ARMBaseRegisterInfo()
59
59
ARM_MC::initLLVMToCVRegMapping (this );
60
60
}
61
61
62
- static unsigned getFramePointerReg (const ARMSubtarget &STI) {
63
- return STI.useR7AsFramePointer () ? ARM::R7 : ARM::R11;
64
- }
65
-
66
62
const MCPhysReg*
67
63
ARMBaseRegisterInfo::getCalleeSavedRegs (const MachineFunction *MF) const {
68
64
const ARMSubtarget &STI = MF->getSubtarget <ARMSubtarget>();
@@ -206,7 +202,7 @@ getReservedRegs(const MachineFunction &MF) const {
206
202
markSuperRegs (Reserved, ARM::FPSCR);
207
203
markSuperRegs (Reserved, ARM::APSR_NZCV);
208
204
if (TFI->hasFP (MF))
209
- markSuperRegs (Reserved, getFramePointerReg (STI ));
205
+ markSuperRegs (Reserved, STI. getFramePointerReg ());
210
206
if (hasBasePointer (MF))
211
207
markSuperRegs (Reserved, BasePtr);
212
208
// Some targets reserve R9.
@@ -243,7 +239,7 @@ bool ARMBaseRegisterInfo::isInlineAsmReadOnlyReg(const MachineFunction &MF,
243
239
BitVector Reserved (getNumRegs ());
244
240
markSuperRegs (Reserved, ARM::PC);
245
241
if (TFI->hasFP (MF))
246
- markSuperRegs (Reserved, getFramePointerReg (STI ));
242
+ markSuperRegs (Reserved, STI. getFramePointerReg ());
247
243
if (hasBasePointer (MF))
248
244
markSuperRegs (Reserved, BasePtr);
249
245
assert (checkAllSuperRegsMarked (Reserved));
@@ -444,14 +440,15 @@ bool ARMBaseRegisterInfo::hasBasePointer(const MachineFunction &MF) const {
444
440
bool ARMBaseRegisterInfo::canRealignStack (const MachineFunction &MF) const {
445
441
const MachineRegisterInfo *MRI = &MF.getRegInfo ();
446
442
const ARMFrameLowering *TFI = getFrameLowering (MF);
443
+ const ARMSubtarget &STI = MF.getSubtarget <ARMSubtarget>();
447
444
// We can't realign the stack if:
448
445
// 1. Dynamic stack realignment is explicitly disabled,
449
446
// 2. There are VLAs in the function and the base pointer is disabled.
450
447
if (!TargetRegisterInfo::canRealignStack (MF))
451
448
return false ;
452
449
// Stack realignment requires a frame pointer. If we already started
453
450
// register allocation with frame pointer elimination, it is too late now.
454
- if (!MRI->canReserveReg (getFramePointerReg (MF. getSubtarget <ARMSubtarget>() )))
451
+ if (!MRI->canReserveReg (STI. getFramePointerReg ()))
455
452
return false ;
456
453
// We may also need a base pointer if there are dynamic allocas or stack
457
454
// pointer adjustments around calls.
@@ -477,7 +474,7 @@ ARMBaseRegisterInfo::getFrameRegister(const MachineFunction &MF) const {
477
474
const ARMFrameLowering *TFI = getFrameLowering (MF);
478
475
479
476
if (TFI->hasFP (MF))
480
- return getFramePointerReg (STI );
477
+ return STI. getFramePointerReg ();
481
478
return ARM::SP;
482
479
}
483
480
0 commit comments