Go to the documentation of this file.
14 #ifndef LLVM_LIB_TARGET_LOONGARCH_LOONGARCHREGISTERINFO_H
15 #define LLVM_LIB_TARGET_LOONGARCH_LOONGARCHREGISTERINFO_H
19 #define GET_REGINFO_HEADER
20 #include "LoongArchGenRegisterInfo.inc"
37 unsigned Kind = 0)
const override {
38 return &LoongArch::GPRRegClass;
42 unsigned FIOperandNum,
57 #endif // LLVM_LIB_TARGET_LOONGARCH_LOONGARCHREGISTERINFO_H
This is an optimization pass for GlobalISel generic memory operations.
const MCPhysReg * getCalleeSavedRegs(const MachineFunction *MF) const override
bool eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override
const TargetRegisterClass * getPointerRegClass(const MachineFunction &MF, unsigned Kind=0) const override
const uint32_t * getCallPreservedMask(const MachineFunction &MF, CallingConv::ID) const override
const uint32_t * getNoPreservedMask() const override
bool requiresFrameIndexScavenging(const MachineFunction &MF) const override
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
Register getFrameRegister(const MachineFunction &MF) const override
LoongArchRegisterInfo(unsigned HwMode)
Wrapper class representing virtual and physical registers.
BitVector getReservedRegs(const MachineFunction &MF) const override
bool requiresRegisterScavenging(const MachineFunction &MF) const override