mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-10 20:33:15 +00:00
Migrage PPCRegisterInfo to use the cached subtarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227546 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e413c8afe0
commit
31f58f2c74
@ -164,8 +164,8 @@ void PPCRegisterInfo::adjustStackMapLiveOutMask(uint32_t *Mask) const {
|
||||
|
||||
BitVector PPCRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
||||
BitVector Reserved(getNumRegs());
|
||||
const PPCFrameLowering *PPCFI = static_cast<const PPCFrameLowering *>(
|
||||
MF.getSubtarget().getFrameLowering());
|
||||
const PPCFrameLowering *PPCFI =
|
||||
static_cast<const PPCFrameLowering *>(Subtarget.getFrameLowering());
|
||||
|
||||
// The ZERO register is not really a register, but the representation of r0
|
||||
// when used in instructions that treat r0 as the constant 0.
|
||||
@ -244,10 +244,9 @@ BitVector PPCRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
||||
return Reserved;
|
||||
}
|
||||
|
||||
unsigned
|
||||
PPCRegisterInfo::getRegPressureLimit(const TargetRegisterClass *RC,
|
||||
MachineFunction &MF) const {
|
||||
const TargetFrameLowering *TFI = MF.getSubtarget().getFrameLowering();
|
||||
unsigned PPCRegisterInfo::getRegPressureLimit(const TargetRegisterClass *RC,
|
||||
MachineFunction &MF) const {
|
||||
const TargetFrameLowering *TFI = Subtarget.getFrameLowering();
|
||||
const unsigned DefaultSafety = 1;
|
||||
|
||||
switch (RC->getID()) {
|
||||
@ -275,8 +274,8 @@ PPCRegisterInfo::getRegPressureLimit(const TargetRegisterClass *RC,
|
||||
}
|
||||
}
|
||||
|
||||
const TargetRegisterClass*
|
||||
PPCRegisterInfo::getLargestLegalSuperClass(const TargetRegisterClass *RC)const {
|
||||
const TargetRegisterClass *PPCRegisterInfo::getLargestLegalSuperClass(
|
||||
const TargetRegisterClass *RC) const {
|
||||
if (Subtarget.hasVSX()) {
|
||||
// With VSX, we can inflate various sub-register classes to the full VSX
|
||||
// register set.
|
||||
@ -311,7 +310,7 @@ void PPCRegisterInfo::lowerDynamicAlloc(MachineBasicBlock::iterator II) const {
|
||||
// Get the frame info.
|
||||
MachineFrameInfo *MFI = MF.getFrameInfo();
|
||||
// Get the instruction info.
|
||||
const TargetInstrInfo &TII = *MF.getSubtarget().getInstrInfo();
|
||||
const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
|
||||
// Determine whether 64-bit pointers are used.
|
||||
bool LP64 = Subtarget.isPPC64();
|
||||
DebugLoc dl = MI.getDebugLoc();
|
||||
@ -322,10 +321,7 @@ void PPCRegisterInfo::lowerDynamicAlloc(MachineBasicBlock::iterator II) const {
|
||||
unsigned FrameSize = MFI->getStackSize();
|
||||
|
||||
// Get stack alignments.
|
||||
unsigned TargetAlign = MF.getTarget()
|
||||
.getSubtargetImpl()
|
||||
->getFrameLowering()
|
||||
->getStackAlignment();
|
||||
unsigned TargetAlign = Subtarget.getFrameLowering()->getStackAlignment();
|
||||
unsigned MaxAlign = MFI->getMaxAlignment();
|
||||
assert((maxCallFrameSize & (MaxAlign-1)) == 0 &&
|
||||
"Maximum call-frame size not sufficiently aligned");
|
||||
@ -430,7 +426,7 @@ void PPCRegisterInfo::lowerCRSpilling(MachineBasicBlock::iterator II,
|
||||
// Get the instruction's basic block.
|
||||
MachineBasicBlock &MBB = *MI.getParent();
|
||||
MachineFunction &MF = *MBB.getParent();
|
||||
const TargetInstrInfo &TII = *MF.getSubtarget().getInstrInfo();
|
||||
const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
|
||||
DebugLoc dl = MI.getDebugLoc();
|
||||
|
||||
bool LP64 = Subtarget.isPPC64();
|
||||
@ -474,7 +470,7 @@ void PPCRegisterInfo::lowerCRRestore(MachineBasicBlock::iterator II,
|
||||
// Get the instruction's basic block.
|
||||
MachineBasicBlock &MBB = *MI.getParent();
|
||||
MachineFunction &MF = *MBB.getParent();
|
||||
const TargetInstrInfo &TII = *MF.getSubtarget().getInstrInfo();
|
||||
const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
|
||||
DebugLoc dl = MI.getDebugLoc();
|
||||
|
||||
bool LP64 = Subtarget.isPPC64();
|
||||
@ -547,7 +543,7 @@ void PPCRegisterInfo::lowerCRBitSpilling(MachineBasicBlock::iterator II,
|
||||
// Get the instruction's basic block.
|
||||
MachineBasicBlock &MBB = *MI.getParent();
|
||||
MachineFunction &MF = *MBB.getParent();
|
||||
const TargetInstrInfo &TII = *MF.getSubtarget().getInstrInfo();
|
||||
const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
|
||||
DebugLoc dl = MI.getDebugLoc();
|
||||
|
||||
bool LP64 = Subtarget.isPPC64();
|
||||
@ -590,7 +586,7 @@ void PPCRegisterInfo::lowerCRBitRestore(MachineBasicBlock::iterator II,
|
||||
// Get the instruction's basic block.
|
||||
MachineBasicBlock &MBB = *MI.getParent();
|
||||
MachineFunction &MF = *MBB.getParent();
|
||||
const TargetInstrInfo &TII = *MF.getSubtarget().getInstrInfo();
|
||||
const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
|
||||
DebugLoc dl = MI.getDebugLoc();
|
||||
|
||||
bool LP64 = Subtarget.isPPC64();
|
||||
@ -637,7 +633,7 @@ void PPCRegisterInfo::lowerVRSAVESpilling(MachineBasicBlock::iterator II,
|
||||
// Get the instruction's basic block.
|
||||
MachineBasicBlock &MBB = *MI.getParent();
|
||||
MachineFunction &MF = *MBB.getParent();
|
||||
const TargetInstrInfo &TII = *MF.getSubtarget().getInstrInfo();
|
||||
const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
|
||||
DebugLoc dl = MI.getDebugLoc();
|
||||
|
||||
const TargetRegisterClass *GPRC = &PPC::GPRCRegClass;
|
||||
@ -662,7 +658,7 @@ void PPCRegisterInfo::lowerVRSAVERestore(MachineBasicBlock::iterator II,
|
||||
// Get the instruction's basic block.
|
||||
MachineBasicBlock &MBB = *MI.getParent();
|
||||
MachineFunction &MF = *MBB.getParent();
|
||||
const TargetInstrInfo &TII = *MF.getSubtarget().getInstrInfo();
|
||||
const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
|
||||
DebugLoc dl = MI.getDebugLoc();
|
||||
|
||||
const TargetRegisterClass *GPRC = &PPC::GPRCRegClass;
|
||||
@ -745,7 +741,7 @@ PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
// Get the basic block's function.
|
||||
MachineFunction &MF = *MBB.getParent();
|
||||
// Get the instruction info.
|
||||
const TargetInstrInfo &TII = *MF.getSubtarget().getInstrInfo();
|
||||
const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
|
||||
// Get the frame info.
|
||||
MachineFrameInfo *MFI = MF.getFrameInfo();
|
||||
DebugLoc dl = MI.getDebugLoc();
|
||||
@ -873,7 +869,7 @@ PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
}
|
||||
|
||||
unsigned PPCRegisterInfo::getFrameRegister(const MachineFunction &MF) const {
|
||||
const TargetFrameLowering *TFI = MF.getSubtarget().getFrameLowering();
|
||||
const TargetFrameLowering *TFI = Subtarget.getFrameLowering();
|
||||
|
||||
if (!Subtarget.isPPC64())
|
||||
return TFI->hasFP(MF) ? PPC::R31 : PPC::R1;
|
||||
@ -917,10 +913,7 @@ bool PPCRegisterInfo::canRealignStack(const MachineFunction &MF) const {
|
||||
bool PPCRegisterInfo::needsStackRealignment(const MachineFunction &MF) const {
|
||||
const MachineFrameInfo *MFI = MF.getFrameInfo();
|
||||
const Function *F = MF.getFunction();
|
||||
unsigned StackAlign = MF.getTarget()
|
||||
.getSubtargetImpl()
|
||||
->getFrameLowering()
|
||||
->getStackAlignment();
|
||||
unsigned StackAlign = Subtarget.getFrameLowering()->getStackAlignment();
|
||||
bool requiresRealignment =
|
||||
((MFI->getMaxAlignment() > StackAlign) ||
|
||||
F->getAttributes().hasAttribute(AttributeSet::FunctionIndex,
|
||||
@ -958,8 +951,8 @@ needsFrameBaseReg(MachineInstr *MI, int64_t Offset) const {
|
||||
MachineBasicBlock &MBB = *MI->getParent();
|
||||
MachineFunction &MF = *MBB.getParent();
|
||||
|
||||
const PPCFrameLowering *PPCFI = static_cast<const PPCFrameLowering *>(
|
||||
MF.getSubtarget().getFrameLowering());
|
||||
const PPCFrameLowering *PPCFI =
|
||||
static_cast<const PPCFrameLowering *>(Subtarget.getFrameLowering());
|
||||
unsigned StackEst =
|
||||
PPCFI->determineFrameLayout(MF, false, true);
|
||||
|
||||
@ -993,7 +986,7 @@ materializeFrameBaseRegister(MachineBasicBlock *MBB,
|
||||
DL = Ins->getDebugLoc();
|
||||
|
||||
const MachineFunction &MF = *MBB->getParent();
|
||||
const TargetInstrInfo &TII = *MF.getSubtarget().getInstrInfo();
|
||||
const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
|
||||
const MCInstrDesc &MCID = TII.get(ADDriOpc);
|
||||
MachineRegisterInfo &MRI = MBB->getParent()->getRegInfo();
|
||||
MRI.constrainRegClass(BaseReg, TII.getRegClass(MCID, 0, this, MF));
|
||||
@ -1018,7 +1011,7 @@ void PPCRegisterInfo::resolveFrameIndex(MachineInstr &MI, unsigned BaseReg,
|
||||
|
||||
MachineBasicBlock &MBB = *MI.getParent();
|
||||
MachineFunction &MF = *MBB.getParent();
|
||||
const TargetInstrInfo &TII = *MF.getSubtarget().getInstrInfo();
|
||||
const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
|
||||
const MCInstrDesc &MCID = MI.getDesc();
|
||||
MachineRegisterInfo &MRI = MF.getRegInfo();
|
||||
MRI.constrainRegClass(BaseReg,
|
||||
|
Loading…
x
Reference in New Issue
Block a user