summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCRegisterInfo.td
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCRegisterInfo.td')
-rw-r--r--llvm/lib/Target/PowerPC/PPCRegisterInfo.td10
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCRegisterInfo.td b/llvm/lib/Target/PowerPC/PPCRegisterInfo.td
index 2fbd41bd84a..879f26700c6 100644
--- a/llvm/lib/Target/PowerPC/PPCRegisterInfo.td
+++ b/llvm/lib/Target/PowerPC/PPCRegisterInfo.td
@@ -301,12 +301,13 @@ def GPRC : RegisterClass<"PPC", [i32], 32,
// When using the 32-bit SVR4 ABI, r13 is reserved for the Small Data Area
// pointer.
const PPCSubtarget &Subtarget = MF.getTarget().getSubtarget<PPCSubtarget>();
- const TargetFrameInfo *TFI = MF.getTarget().getFrameInfo();
+ const PPCFrameInfo *PPCFI =
+ static_cast<const PPCFrameInfo*>(MF.getTarget().getFrameInfo());
if (Subtarget.isPPC64() || Subtarget.isSVR4ABI())
return end()-5; // don't allocate R13, R31, R0, R1, LR
- if (TFI->hasFP(MF))
+ if (PPCFI->needsFP(MF))
return end()-4; // don't allocate R31, R0, R1, LR
else
return end()-3; // don't allocate R0, R1, LR
@@ -331,8 +332,9 @@ def G8RC : RegisterClass<"PPC", [i64], 64,
}
G8RCClass::iterator
G8RCClass::allocation_order_end(const MachineFunction &MF) const {
- const TargetFrameInfo *TFI = MF.getTarget().getFrameInfo();
- if (TFI->hasFP(MF))
+ const PPCFrameInfo *PPCFI =
+ static_cast<const PPCFrameInfo*>(MF.getTarget().getFrameInfo());
+ if (PPCFI->needsFP(MF))
return end()-5;
else
return end()-4;
OpenPOWER on IntegriCloud