14 #ifndef LLVM_LIB_TARGET_ARM_ARMBASEREGISTERINFO_H 15 #define LLVM_LIB_TARGET_ARM_ARMBASEREGISTERINFO_H 25 #define GET_REGINFO_HEADER 26 #include "ARMGenRegisterInfo.inc" 48 case R0:
case R1:
case R2:
case R3:
49 case R4:
case R5:
case R6:
case R7:
50 case LR:
case SP:
case PC:
52 case R8:
case R9:
case R10:
case R11:
case R12:
64 case R8:
case R9:
case R10:
case R11:
case R12:
76 case D15:
case D14:
case D13:
case D12:
77 case D11:
case D10:
case D9:
case D8:
78 case D7:
case D6:
case D5:
case D4:
79 case D3:
case D2:
case D1:
case D0:
80 case D31:
case D30:
case D29:
case D28:
81 case D27:
case D26:
case D25:
case D24:
82 case D23:
case D22:
case D21:
case D20:
83 case D19:
case D18:
case D17:
case D16:
92 for (
unsigned i = 0; CSRegs[i]; ++i)
118 const uint32_t *getNoPreservedMask()
const override;
135 unsigned PhysReg)
const override;
139 unsigned Kind = 0)
const override;
150 bool getRegAllocationHints(
unsigned VirtReg,
157 void updateRegAllocHint(
unsigned Reg,
unsigned NewReg,
164 int Idx)
const override;
167 unsigned BaseReg,
int FrameIdx,
168 int64_t
Offset)
const override;
170 int64_t
Offset)
const override;
172 int64_t
Offset)
const override;
180 bool isLowRegister(
unsigned Reg)
const;
187 const DebugLoc &dl,
unsigned DestReg,
unsigned SubIdx,
189 unsigned PredReg = 0,
193 bool requiresRegisterScavenging(
const MachineFunction &MF)
const override;
195 bool trackLivenessAfterRegAlloc(
const MachineFunction &MF)
const override;
197 bool requiresFrameIndexScavenging(
const MachineFunction &MF)
const override;
199 bool requiresVirtualBaseRegisters(
const MachineFunction &MF)
const override;
202 int SPAdj,
unsigned FIOperandNum,
217 #endif // LLVM_LIB_TARGET_ARM_ARMBASEREGISTERINFO_H
This class represents lattice values for constants.
static Optional< unsigned > getOpcode(ArrayRef< VPValue *> Values)
Returns the opcode of Values or ~0 if they do not all agree.
static bool isARMArea1Register(unsigned Reg, bool isIOS)
isARMArea1Register - Returns true if the register is a low register (r0-r7) or a stack/pc register th...
uint16_t MCPhysReg
An unsigned integer type large enough to represent all physical registers, but not necessarily virtua...
static bool isCalleeSavedRegister(unsigned Reg, const MCPhysReg *CSRegs)
static bool isARMArea2Register(unsigned Reg, bool isIOS)
unsigned getBaseRegister() const
Representation of each machine instruction.
static bool isARMArea3Register(unsigned Reg, bool isIOS)