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 return &LoongArch::GPRRegClass;
41 unsigned FIOperandNum,
MachineInstrBundleIterator< MachineInstr > iterator
Wrapper class representing virtual and physical registers.
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
This is an optimization pass for GlobalISel generic memory operations.
uint16_t MCPhysReg
An unsigned integer type large enough to represent all physical registers, but not necessarily virtua...
bool eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override
const uint32_t * getCallPreservedMask(const MachineFunction &MF, CallingConv::ID) const override
bool requiresFrameIndexScavenging(const MachineFunction &MF) const override
const MCPhysReg * getCalleeSavedRegs(const MachineFunction *MF) const override
Register getFrameRegister(const MachineFunction &MF) const override
bool requiresRegisterScavenging(const MachineFunction &MF) const override
const uint32_t * getNoPreservedMask() const override
BitVector getReservedRegs(const MachineFunction &MF) const override
const TargetRegisterClass * getPointerRegClass(unsigned Kind=0) const override
bool canRealignStack(const MachineFunction &MF) const override
LoongArchRegisterInfo(unsigned HwMode)