Go to the documentation of this file.
13 #ifndef LLVM_LIB_TARGET_RISCV_RISCVREGISTERINFO_H
14 #define LLVM_LIB_TARGET_RISCV_RISCVREGISTERINFO_H
18 #define GET_REGINFO_HEADER
19 #include "RISCVGenRegisterInfo.inc"
41 int &FrameIdx)
const override;
44 unsigned FIOperandNum,
59 unsigned Kind = 0)
const override {
60 return &RISCV::GPRRegClass;
unsigned getRegisterCostTableIndex(const MachineFunction &MF) const override
This is an optimization pass for GlobalISel generic memory operations.
Register getFrameRegister(const MachineFunction &MF) const override
RISCVRegisterInfo(unsigned HwMode)
Reg
All possible values of the reg field in the ModR/M byte.
const TargetRegisterClass * getPointerRegClass(const MachineFunction &MF, unsigned Kind=0) const override
const MCPhysReg * getCalleeSavedRegs(const MachineFunction *MF) const override
bool requiresRegisterScavenging(const MachineFunction &MF) const override
bool isConstantPhysReg(MCRegister PhysReg) const override
const uint32_t * getCallPreservedMask(const MachineFunction &MF, CallingConv::ID) const override
const TargetRegisterClass * getLargestLegalSuperClass(const TargetRegisterClass *RC, const MachineFunction &) const override
BitVector getReservedRegs(const MachineFunction &MF) const override
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override
void getOffsetOpcodes(const StackOffset &Offset, SmallVectorImpl< uint64_t > &Ops) const override
bool requiresFrameIndexScavenging(const MachineFunction &MF) const override
StackOffset is a class to represent an offset with 2 dimensions, named fixed and scalable,...
bool hasReservedSpillSlot(const MachineFunction &MF, Register Reg, int &FrameIdx) const override
Wrapper class representing virtual and physical registers.
const uint32_t * getNoPreservedMask() const override
Wrapper class representing physical registers. Should be passed by value.
bool isAsmClobberable(const MachineFunction &MF, MCRegister PhysReg) const override