Go to the documentation of this file.
14 #ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONREGISTERINFO_H
15 #define LLVM_LIB_TARGET_HEXAGON_HEXAGONREGISTERINFO_H
19 #define GET_REGINFO_HEADER
20 #include "HexagonGenRegisterInfo.inc"
42 unsigned FIOperandNum,
RegScavenger *RS =
nullptr)
const override;
70 unsigned GenIdx)
const;
79 unsigned Kind = 0)
const override;
BitVector getReservedRegs(const MachineFunction &MF) const override
This is an optimization pass for GlobalISel generic memory operations.
const MCPhysReg * getCalleeSavedRegs(const MachineFunction *MF) const override
Code Generation virtual methods...
unsigned getStackRegister() const
Reg
All possible values of the reg field in the ModR/M byte.
bool isEHReturnCalleeSaveReg(unsigned Reg) const
unsigned getFirstCallerSavedNonParamReg() const
void eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override
unsigned getFrameRegister() const
const TargetRegisterClass * getPointerRegClass(const MachineFunction &MF, unsigned Kind=0) const override
const MCPhysReg * getCallerSavedRegs(const MachineFunction *MF, const TargetRegisterClass *RC) const
HexagonRegisterInfo(unsigned HwMode)
bool requiresFrameIndexScavenging(const MachineFunction &MF) const override
Returns true.
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
Representation of each machine instruction.
bool requiresRegisterScavenging(const MachineFunction &MF) const override
Returns true since we may need scavenging for a temporary register when generating hardware loop inst...
bool shouldCoalesce(MachineInstr *MI, const TargetRegisterClass *SrcRC, unsigned SubReg, const TargetRegisterClass *DstRC, unsigned DstSubReg, const TargetRegisterClass *NewRC, LiveIntervals &LIS) const override
Wrapper class representing virtual and physical registers.
bool useFPForScavengingIndex(const MachineFunction &MF) const override
Returns true if the frame pointer is valid.
unsigned getHexagonSubRegIndex(const TargetRegisterClass &RC, unsigned GenIdx) const
unsigned getRARegister() const
const uint32_t * getCallPreservedMask(const MachineFunction &MF, CallingConv::ID) const override