mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-09 11:25:55 +00:00
cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105322 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -74,20 +74,6 @@ const unsigned* AlphaRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF)
|
|||||||
return CalleeSavedRegs;
|
return CalleeSavedRegs;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
AlphaRegisterInfo::getCalleeSavedRegClasses(const MachineFunction *MF) const {
|
|
||||||
static const TargetRegisterClass * const CalleeSavedRegClasses[] = {
|
|
||||||
&Alpha::GPRCRegClass, &Alpha::GPRCRegClass,
|
|
||||||
&Alpha::GPRCRegClass, &Alpha::GPRCRegClass,
|
|
||||||
&Alpha::GPRCRegClass, &Alpha::GPRCRegClass,
|
|
||||||
&Alpha::F8RCRegClass, &Alpha::F8RCRegClass,
|
|
||||||
&Alpha::F8RCRegClass, &Alpha::F8RCRegClass,
|
|
||||||
&Alpha::F8RCRegClass, &Alpha::F8RCRegClass,
|
|
||||||
&Alpha::F8RCRegClass, &Alpha::F8RCRegClass, 0
|
|
||||||
};
|
|
||||||
return CalleeSavedRegClasses;
|
|
||||||
}
|
|
||||||
|
|
||||||
BitVector AlphaRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
BitVector AlphaRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
||||||
BitVector Reserved(getNumRegs());
|
BitVector Reserved(getNumRegs());
|
||||||
Reserved.set(Alpha::R15);
|
Reserved.set(Alpha::R15);
|
||||||
|
@@ -30,9 +30,6 @@ struct AlphaRegisterInfo : public AlphaGenRegisterInfo {
|
|||||||
/// Code Generation virtual methods...
|
/// Code Generation virtual methods...
|
||||||
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
||||||
|
|
||||||
const TargetRegisterClass* const* getCalleeSavedRegClasses(
|
|
||||||
const MachineFunction *MF = 0) const;
|
|
||||||
|
|
||||||
BitVector getReservedRegs(const MachineFunction &MF) const;
|
BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||||
|
|
||||||
bool hasFP(const MachineFunction &MF) const;
|
bool hasFP(const MachineFunction &MF) const;
|
||||||
|
@@ -48,17 +48,6 @@ BlackfinRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
|
|||||||
return CalleeSavedRegs;
|
return CalleeSavedRegs;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TargetRegisterClass* const *BlackfinRegisterInfo::
|
|
||||||
getCalleeSavedRegClasses(const MachineFunction *MF) const {
|
|
||||||
using namespace BF;
|
|
||||||
static const TargetRegisterClass * const CalleeSavedRegClasses[] = {
|
|
||||||
&PRegClass,
|
|
||||||
&DRegClass, &DRegClass, &DRegClass, &DRegClass,
|
|
||||||
&PRegClass, &PRegClass, &PRegClass,
|
|
||||||
0 };
|
|
||||||
return CalleeSavedRegClasses;
|
|
||||||
}
|
|
||||||
|
|
||||||
BitVector
|
BitVector
|
||||||
BlackfinRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
BlackfinRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
||||||
using namespace BF;
|
using namespace BF;
|
||||||
|
@@ -33,9 +33,6 @@ namespace llvm {
|
|||||||
/// Code Generation virtual methods...
|
/// Code Generation virtual methods...
|
||||||
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
||||||
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
getCalleeSavedRegClasses(const MachineFunction *MF = 0) const;
|
|
||||||
|
|
||||||
BitVector getReservedRegs(const MachineFunction &MF) const;
|
BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||||
|
|
||||||
// getSubReg implemented by tablegen
|
// getSubReg implemented by tablegen
|
||||||
|
@@ -251,36 +251,6 @@ SPURegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const
|
|||||||
return SPU_CalleeSaveRegs;
|
return SPU_CalleeSaveRegs;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
SPURegisterInfo::getCalleeSavedRegClasses(const MachineFunction *MF) const
|
|
||||||
{
|
|
||||||
// Cell ABI Calling Convention
|
|
||||||
static const TargetRegisterClass * const SPU_CalleeSaveRegClasses[] = {
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, &SPU::GPRCRegClass, &SPU::GPRCRegClass,
|
|
||||||
&SPU::GPRCRegClass, /* environment pointer */
|
|
||||||
&SPU::GPRCRegClass, /* stack pointer */
|
|
||||||
&SPU::GPRCRegClass, /* link register */
|
|
||||||
0 /* end */
|
|
||||||
};
|
|
||||||
|
|
||||||
return SPU_CalleeSaveRegClasses;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
R0 (link register), R1 (stack pointer) and R2 (environment pointer -- this is
|
R0 (link register), R1 (stack pointer) and R2 (environment pointer -- this is
|
||||||
generally unused) are the Cell's reserved registers
|
generally unused) are the Cell's reserved registers
|
||||||
|
@@ -49,10 +49,6 @@ namespace llvm {
|
|||||||
//! Return the array of callee-saved registers
|
//! Return the array of callee-saved registers
|
||||||
virtual const unsigned* getCalleeSavedRegs(const MachineFunction *MF) const;
|
virtual const unsigned* getCalleeSavedRegs(const MachineFunction *MF) const;
|
||||||
|
|
||||||
//! Return the register class array of the callee-saved registers
|
|
||||||
virtual const TargetRegisterClass* const *
|
|
||||||
getCalleeSavedRegClasses(const MachineFunction *MF) const;
|
|
||||||
|
|
||||||
//! Allow for scavenging, so we can get scratch registers when needed.
|
//! Allow for scavenging, so we can get scratch registers when needed.
|
||||||
virtual bool requiresRegisterScavenging(const MachineFunction &MF) const
|
virtual bool requiresRegisterScavenging(const MachineFunction &MF) const
|
||||||
{ return true; }
|
{ return true; }
|
||||||
|
@@ -148,22 +148,6 @@ getCalleeSavedRegs(const MachineFunction *MF) const {
|
|||||||
return CalleeSavedRegs;
|
return CalleeSavedRegs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// MBlaze Callee Saved Register Classes
|
|
||||||
const TargetRegisterClass* const* MBlazeRegisterInfo::
|
|
||||||
getCalleeSavedRegClasses(const MachineFunction *MF) const {
|
|
||||||
static const TargetRegisterClass * const CalleeSavedRC[] = {
|
|
||||||
&MBlaze::CPURegsRegClass, &MBlaze::CPURegsRegClass,
|
|
||||||
&MBlaze::CPURegsRegClass, &MBlaze::CPURegsRegClass,
|
|
||||||
&MBlaze::CPURegsRegClass, &MBlaze::CPURegsRegClass,
|
|
||||||
&MBlaze::CPURegsRegClass, &MBlaze::CPURegsRegClass,
|
|
||||||
&MBlaze::CPURegsRegClass, &MBlaze::CPURegsRegClass,
|
|
||||||
&MBlaze::CPURegsRegClass, &MBlaze::CPURegsRegClass,
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
return CalleeSavedRC;
|
|
||||||
}
|
|
||||||
|
|
||||||
BitVector MBlazeRegisterInfo::
|
BitVector MBlazeRegisterInfo::
|
||||||
getReservedRegs(const MachineFunction &MF) const {
|
getReservedRegs(const MachineFunction &MF) const {
|
||||||
BitVector Reserved(getNumRegs());
|
BitVector Reserved(getNumRegs());
|
||||||
|
@@ -54,9 +54,6 @@ struct MBlazeRegisterInfo : public MBlazeGenRegisterInfo {
|
|||||||
/// Code Generation virtual methods...
|
/// Code Generation virtual methods...
|
||||||
const unsigned *getCalleeSavedRegs(const MachineFunction* MF = 0) const;
|
const unsigned *getCalleeSavedRegs(const MachineFunction* MF = 0) const;
|
||||||
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
getCalleeSavedRegClasses(const MachineFunction* MF = 0) const;
|
|
||||||
|
|
||||||
BitVector getReservedRegs(const MachineFunction &MF) const;
|
BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||||
|
|
||||||
bool hasFP(const MachineFunction &MF) const;
|
bool hasFP(const MachineFunction &MF) const;
|
||||||
|
@@ -71,48 +71,6 @@ MSP430RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const TargetRegisterClass *const *
|
|
||||||
MSP430RegisterInfo::getCalleeSavedRegClasses(const MachineFunction *MF) const {
|
|
||||||
const Function* F = MF->getFunction();
|
|
||||||
static const TargetRegisterClass * const CalleeSavedRegClasses[] = {
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
0
|
|
||||||
};
|
|
||||||
static const TargetRegisterClass * const CalleeSavedRegClassesFP[] = {
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, 0
|
|
||||||
};
|
|
||||||
static const TargetRegisterClass * const CalleeSavedRegClassesIntr[] = {
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
0
|
|
||||||
};
|
|
||||||
static const TargetRegisterClass * const CalleeSavedRegClassesIntrFP[] = {
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, &MSP430::GR16RegClass,
|
|
||||||
&MSP430::GR16RegClass, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
if (hasFP(*MF))
|
|
||||||
return (F->getCallingConv() == CallingConv::MSP430_INTR ?
|
|
||||||
CalleeSavedRegClassesIntrFP : CalleeSavedRegClassesFP);
|
|
||||||
else
|
|
||||||
return (F->getCallingConv() == CallingConv::MSP430_INTR ?
|
|
||||||
CalleeSavedRegClassesIntr : CalleeSavedRegClasses);
|
|
||||||
}
|
|
||||||
|
|
||||||
BitVector MSP430RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
BitVector MSP430RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
||||||
BitVector Reserved(getNumRegs());
|
BitVector Reserved(getNumRegs());
|
||||||
|
|
||||||
|
@@ -36,9 +36,6 @@ public:
|
|||||||
/// Code Generation virtual methods...
|
/// Code Generation virtual methods...
|
||||||
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
||||||
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
getCalleeSavedRegClasses(const MachineFunction *MF = 0) const;
|
|
||||||
|
|
||||||
BitVector getReservedRegs(const MachineFunction &MF) const;
|
BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||||
const TargetRegisterClass* getPointerRegClass(unsigned Kind = 0) const;
|
const TargetRegisterClass* getPointerRegClass(unsigned Kind = 0) const;
|
||||||
|
|
||||||
|
@@ -116,34 +116,6 @@ getCalleeSavedRegs(const MachineFunction *MF) const
|
|||||||
return BitMode32CalleeSavedRegs;
|
return BitMode32CalleeSavedRegs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Mips Callee Saved Register Classes
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
MipsRegisterInfo::getCalleeSavedRegClasses(const MachineFunction *MF) const
|
|
||||||
{
|
|
||||||
static const TargetRegisterClass * const SingleFloatOnlyCalleeSavedRC[] = {
|
|
||||||
&Mips::CPURegsRegClass, &Mips::CPURegsRegClass, &Mips::CPURegsRegClass,
|
|
||||||
&Mips::CPURegsRegClass, &Mips::CPURegsRegClass, &Mips::CPURegsRegClass,
|
|
||||||
&Mips::CPURegsRegClass, &Mips::CPURegsRegClass,
|
|
||||||
&Mips::FGR32RegClass, &Mips::FGR32RegClass, &Mips::FGR32RegClass,
|
|
||||||
&Mips::FGR32RegClass, &Mips::FGR32RegClass, &Mips::FGR32RegClass,
|
|
||||||
&Mips::FGR32RegClass, &Mips::FGR32RegClass, &Mips::FGR32RegClass,
|
|
||||||
&Mips::FGR32RegClass, &Mips::FGR32RegClass, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
static const TargetRegisterClass * const BitMode32CalleeSavedRC[] = {
|
|
||||||
&Mips::CPURegsRegClass, &Mips::CPURegsRegClass, &Mips::CPURegsRegClass,
|
|
||||||
&Mips::CPURegsRegClass, &Mips::CPURegsRegClass, &Mips::CPURegsRegClass,
|
|
||||||
&Mips::CPURegsRegClass, &Mips::CPURegsRegClass,
|
|
||||||
&Mips::FGR32RegClass, &Mips::FGR32RegClass, &Mips::FGR32RegClass,
|
|
||||||
&Mips::FGR32RegClass, &Mips::FGR32RegClass, &Mips::FGR32RegClass, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
if (Subtarget.isSingleFloat())
|
|
||||||
return SingleFloatOnlyCalleeSavedRC;
|
|
||||||
else
|
|
||||||
return BitMode32CalleeSavedRC;
|
|
||||||
}
|
|
||||||
|
|
||||||
BitVector MipsRegisterInfo::
|
BitVector MipsRegisterInfo::
|
||||||
getReservedRegs(const MachineFunction &MF) const
|
getReservedRegs(const MachineFunction &MF) const
|
||||||
{
|
{
|
||||||
|
@@ -42,9 +42,6 @@ struct MipsRegisterInfo : public MipsGenRegisterInfo {
|
|||||||
/// Code Generation virtual methods...
|
/// Code Generation virtual methods...
|
||||||
const unsigned *getCalleeSavedRegs(const MachineFunction* MF = 0) const;
|
const unsigned *getCalleeSavedRegs(const MachineFunction* MF = 0) const;
|
||||||
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
getCalleeSavedRegClasses(const MachineFunction* MF = 0) const;
|
|
||||||
|
|
||||||
BitVector getReservedRegs(const MachineFunction &MF) const;
|
BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||||
|
|
||||||
bool hasFP(const MachineFunction &MF) const;
|
bool hasFP(const MachineFunction &MF) const;
|
||||||
|
@@ -35,13 +35,6 @@ getCalleeSavedRegs(const MachineFunction *MF) const {
|
|||||||
return CalleeSavedRegs;
|
return CalleeSavedRegs;
|
||||||
}
|
}
|
||||||
|
|
||||||
// PIC16 Callee Saved Reg Classes
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
PIC16RegisterInfo::getCalleeSavedRegClasses(const MachineFunction *MF) const {
|
|
||||||
static const TargetRegisterClass * const CalleeSavedRegClasses[] = { 0 };
|
|
||||||
return CalleeSavedRegClasses;
|
|
||||||
}
|
|
||||||
|
|
||||||
BitVector PIC16RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
BitVector PIC16RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
||||||
BitVector Reserved(getNumRegs());
|
BitVector Reserved(getNumRegs());
|
||||||
return Reserved;
|
return Reserved;
|
||||||
|
@@ -41,10 +41,6 @@ class PIC16RegisterInfo : public PIC16GenRegisterInfo {
|
|||||||
virtual const unsigned*
|
virtual const unsigned*
|
||||||
getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
||||||
|
|
||||||
// PIC16 callee saved register classes
|
|
||||||
virtual const TargetRegisterClass* const *
|
|
||||||
getCalleeSavedRegClasses(const MachineFunction *MF) const;
|
|
||||||
|
|
||||||
virtual BitVector getReservedRegs(const MachineFunction &MF) const;
|
virtual BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||||
virtual bool hasFP(const MachineFunction &MF) const;
|
virtual bool hasFP(const MachineFunction &MF) const;
|
||||||
|
|
||||||
|
@@ -269,140 +269,6 @@ PPCRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
|
|||||||
return Subtarget.isPPC64() ? SVR4_64_CalleeSavedRegs : SVR4_CalleeSavedRegs;
|
return Subtarget.isPPC64() ? SVR4_64_CalleeSavedRegs : SVR4_CalleeSavedRegs;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
PPCRegisterInfo::getCalleeSavedRegClasses(const MachineFunction *MF) const {
|
|
||||||
// 32-bit Darwin calling convention.
|
|
||||||
static const TargetRegisterClass * const Darwin32_CalleeSavedRegClasses[] = {
|
|
||||||
&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,
|
|
||||||
&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,
|
|
||||||
&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,
|
|
||||||
&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,
|
|
||||||
&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,
|
|
||||||
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
|
|
||||||
&PPC::CRRCRegClass,&PPC::CRRCRegClass,&PPC::CRRCRegClass,
|
|
||||||
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
|
|
||||||
&PPC::GPRCRegClass, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
// 32-bit SVR4 calling convention.
|
|
||||||
static const TargetRegisterClass * const SVR4_CalleeSavedRegClasses[] = {
|
|
||||||
&PPC::GPRCRegClass,&PPC::GPRCRegClass,
|
|
||||||
&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,
|
|
||||||
&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,
|
|
||||||
&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,
|
|
||||||
&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,&PPC::GPRCRegClass,
|
|
||||||
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
|
|
||||||
&PPC::CRRCRegClass,&PPC::CRRCRegClass,&PPC::CRRCRegClass,
|
|
||||||
|
|
||||||
&PPC::VRSAVERCRegClass,
|
|
||||||
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
// 64-bit Darwin calling convention.
|
|
||||||
static const TargetRegisterClass * const Darwin64_CalleeSavedRegClasses[] = {
|
|
||||||
&PPC::G8RCRegClass,&PPC::G8RCRegClass,
|
|
||||||
&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,
|
|
||||||
&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,
|
|
||||||
&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,
|
|
||||||
&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,
|
|
||||||
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
|
|
||||||
&PPC::CRRCRegClass,&PPC::CRRCRegClass,&PPC::CRRCRegClass,
|
|
||||||
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
|
|
||||||
&PPC::G8RCRegClass, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
// 64-bit SVR4 calling convention.
|
|
||||||
static const TargetRegisterClass * const SVR4_64_CalleeSavedRegClasses[] = {
|
|
||||||
&PPC::G8RCRegClass,&PPC::G8RCRegClass,
|
|
||||||
&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,
|
|
||||||
&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,
|
|
||||||
&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,
|
|
||||||
&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,&PPC::G8RCRegClass,
|
|
||||||
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
&PPC::F8RCRegClass,&PPC::F8RCRegClass,
|
|
||||||
|
|
||||||
&PPC::CRRCRegClass,&PPC::CRRCRegClass,&PPC::CRRCRegClass,
|
|
||||||
|
|
||||||
&PPC::VRSAVERCRegClass,
|
|
||||||
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,&PPC::VRRCRegClass,
|
|
||||||
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,&PPC::CRBITRCRegClass,
|
|
||||||
&PPC::CRBITRCRegClass,
|
|
||||||
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
if (Subtarget.isDarwinABI())
|
|
||||||
return Subtarget.isPPC64() ? Darwin64_CalleeSavedRegClasses :
|
|
||||||
Darwin32_CalleeSavedRegClasses;
|
|
||||||
|
|
||||||
return Subtarget.isPPC64() ? SVR4_64_CalleeSavedRegClasses
|
|
||||||
: SVR4_CalleeSavedRegClasses;
|
|
||||||
}
|
|
||||||
|
|
||||||
// needsFP - Return true if the specified function should have a dedicated frame
|
// needsFP - Return true if the specified function should have a dedicated frame
|
||||||
// pointer register. This is true if the function has variable sized allocas or
|
// pointer register. This is true if the function has variable sized allocas or
|
||||||
// if frame pointer elimination is disabled.
|
// if frame pointer elimination is disabled.
|
||||||
|
@@ -42,9 +42,6 @@ public:
|
|||||||
/// Code Generation virtual methods...
|
/// Code Generation virtual methods...
|
||||||
const unsigned *getCalleeSavedRegs(const MachineFunction* MF = 0) const;
|
const unsigned *getCalleeSavedRegs(const MachineFunction* MF = 0) const;
|
||||||
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
getCalleeSavedRegClasses(const MachineFunction *MF = 0) const;
|
|
||||||
|
|
||||||
BitVector getReservedRegs(const MachineFunction &MF) const;
|
BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||||
|
|
||||||
/// targetHandlesStackFrameRounding - Returns true if the target is
|
/// targetHandlesStackFrameRounding - Returns true if the target is
|
||||||
|
@@ -52,13 +52,6 @@ BitVector SparcRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
|||||||
return Reserved;
|
return Reserved;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
SparcRegisterInfo::getCalleeSavedRegClasses(const MachineFunction *MF) const {
|
|
||||||
static const TargetRegisterClass * const CalleeSavedRegClasses[] = { 0 };
|
|
||||||
return CalleeSavedRegClasses;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool SparcRegisterInfo::hasFP(const MachineFunction &MF) const {
|
bool SparcRegisterInfo::hasFP(const MachineFunction &MF) const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -32,9 +32,6 @@ struct SparcRegisterInfo : public SparcGenRegisterInfo {
|
|||||||
/// Code Generation virtual methods...
|
/// Code Generation virtual methods...
|
||||||
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
||||||
|
|
||||||
const TargetRegisterClass* const* getCalleeSavedRegClasses(
|
|
||||||
const MachineFunction *MF = 0) const;
|
|
||||||
|
|
||||||
BitVector getReservedRegs(const MachineFunction &MF) const;
|
BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||||
|
|
||||||
bool hasFP(const MachineFunction &MF) const;
|
bool hasFP(const MachineFunction &MF) const;
|
||||||
|
@@ -47,22 +47,6 @@ SystemZRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
|
|||||||
return CalleeSavedRegs;
|
return CalleeSavedRegs;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
SystemZRegisterInfo::getCalleeSavedRegClasses(const MachineFunction *MF) const {
|
|
||||||
static const TargetRegisterClass * const CalleeSavedRegClasses[] = {
|
|
||||||
&SystemZ::GR64RegClass, &SystemZ::GR64RegClass,
|
|
||||||
&SystemZ::GR64RegClass, &SystemZ::GR64RegClass,
|
|
||||||
&SystemZ::GR64RegClass, &SystemZ::GR64RegClass,
|
|
||||||
&SystemZ::GR64RegClass, &SystemZ::GR64RegClass,
|
|
||||||
&SystemZ::GR64RegClass, &SystemZ::GR64RegClass,
|
|
||||||
&SystemZ::FP64RegClass, &SystemZ::FP64RegClass,
|
|
||||||
&SystemZ::FP64RegClass, &SystemZ::FP64RegClass,
|
|
||||||
&SystemZ::FP64RegClass, &SystemZ::FP64RegClass,
|
|
||||||
&SystemZ::FP64RegClass, &SystemZ::FP64RegClass, 0
|
|
||||||
};
|
|
||||||
return CalleeSavedRegClasses;
|
|
||||||
}
|
|
||||||
|
|
||||||
BitVector SystemZRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
BitVector SystemZRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
||||||
BitVector Reserved(getNumRegs());
|
BitVector Reserved(getNumRegs());
|
||||||
if (hasFP(MF))
|
if (hasFP(MF))
|
||||||
|
@@ -32,9 +32,6 @@ struct SystemZRegisterInfo : public SystemZGenRegisterInfo {
|
|||||||
/// Code Generation virtual methods...
|
/// Code Generation virtual methods...
|
||||||
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
||||||
|
|
||||||
const TargetRegisterClass* const* getCalleeSavedRegClasses(
|
|
||||||
const MachineFunction *MF = 0) const;
|
|
||||||
|
|
||||||
BitVector getReservedRegs(const MachineFunction &MF) const;
|
BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||||
|
|
||||||
bool hasReservedCallFrame(MachineFunction &MF) const { return true; }
|
bool hasReservedCallFrame(MachineFunction &MF) const { return true; }
|
||||||
|
@@ -82,18 +82,6 @@ const unsigned* XCoreRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF)
|
|||||||
return CalleeSavedRegs;
|
return CalleeSavedRegs;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TargetRegisterClass* const*
|
|
||||||
XCoreRegisterInfo::getCalleeSavedRegClasses(const MachineFunction *MF) const {
|
|
||||||
static const TargetRegisterClass * const CalleeSavedRegClasses[] = {
|
|
||||||
XCore::GRRegsRegisterClass, XCore::GRRegsRegisterClass,
|
|
||||||
XCore::GRRegsRegisterClass, XCore::GRRegsRegisterClass,
|
|
||||||
XCore::GRRegsRegisterClass, XCore::GRRegsRegisterClass,
|
|
||||||
XCore::GRRegsRegisterClass, XCore::RRegsRegisterClass,
|
|
||||||
0
|
|
||||||
};
|
|
||||||
return CalleeSavedRegClasses;
|
|
||||||
}
|
|
||||||
|
|
||||||
BitVector XCoreRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
BitVector XCoreRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
||||||
BitVector Reserved(getNumRegs());
|
BitVector Reserved(getNumRegs());
|
||||||
Reserved.set(XCore::CP);
|
Reserved.set(XCore::CP);
|
||||||
|
@@ -44,9 +44,6 @@ public:
|
|||||||
|
|
||||||
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const;
|
||||||
|
|
||||||
const TargetRegisterClass* const* getCalleeSavedRegClasses(
|
|
||||||
const MachineFunction *MF = 0) const;
|
|
||||||
|
|
||||||
BitVector getReservedRegs(const MachineFunction &MF) const;
|
BitVector getReservedRegs(const MachineFunction &MF) const;
|
||||||
|
|
||||||
bool requiresRegisterScavenging(const MachineFunction &MF) const;
|
bool requiresRegisterScavenging(const MachineFunction &MF) const;
|
||||||
|
Reference in New Issue
Block a user