17 #ifndef LLVM_CODEGEN_REGISTERCLASSINFO_H
18 #define LLVM_CODEGEN_REGISTERCLASSINFO_H
33 uint16_t LastCostChange;
37 : Tag(0), NumRegs(0), ProperSubClass(
false), MinCost(0),
57 const uint16_t *CalleeSaved;
72 const RCInfo &RCI = RegClass[RC->
getID()];
88 return get(RC).NumRegs;
105 return get(RC).ProperSubClass;
112 if (
unsigned N = CSRNum[PhysReg])
113 return CalleeSaved[
N-1];
121 return get(RC).MinCost;
129 return get(RC).LastCostChange;
136 if (!PSetLimits[Idx])
138 return PSetLimits[Idx];
unsigned getLastCalleeSavedAlias(unsigned PhysReg) const
unsigned getNumAllocatableRegs(const TargetRegisterClass *RC) const
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
ArrayRef< MCPhysReg > getOrder(const TargetRegisterClass *RC) const
unsigned getLastCostChange(const TargetRegisterClass *RC)
unsigned getRegPressureSetLimit(unsigned Idx) const
void runOnMachineFunction(const MachineFunction &MF)
bool isProperSubClass(const TargetRegisterClass *RC) const
unsigned computePSetLimit(unsigned Idx) const
static bool isPhysicalRegister(unsigned Reg)
unsigned getMinCost(const TargetRegisterClass *RC)