LLVM 22.0.0git
|
#include "Target/LoongArch/LoongArchRegisterInfo.h"
Public Member Functions | |
LoongArchRegisterInfo (unsigned HwMode) | |
const MCPhysReg * | getCalleeSavedRegs (const MachineFunction *MF) const override |
const uint32_t * | getCallPreservedMask (const MachineFunction &MF, CallingConv::ID) const override |
const uint32_t * | getNoPreservedMask () const override |
BitVector | getReservedRegs (const MachineFunction &MF) const override |
const TargetRegisterClass * | getPointerRegClass (unsigned Kind=0) const override |
bool | eliminateFrameIndex (MachineBasicBlock::iterator MI, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override |
Register | getFrameRegister (const MachineFunction &MF) const override |
bool | requiresRegisterScavenging (const MachineFunction &MF) const override |
bool | requiresFrameIndexScavenging (const MachineFunction &MF) const override |
bool | canRealignStack (const MachineFunction &MF) const override |
Definition at line 24 of file LoongArchRegisterInfo.h.
LoongArchRegisterInfo::LoongArchRegisterInfo | ( | unsigned | HwMode | ) |
Definition at line 33 of file LoongArchRegisterInfo.cpp.
|
override |
Definition at line 240 of file LoongArchRegisterInfo.cpp.
References llvm::TargetRegisterInfo::canRealignStack(), llvm::LoongArchABI::getBPReg(), llvm::MachineFunction::getRegInfo(), llvm::LoongArchFrameLowering::hasReservedCallFrame(), and MRI.
|
override |
Definition at line 116 of file LoongArchRegisterInfo.cpp.
References llvm::Add, llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), DL, llvm::StackOffset::getFixed(), llvm::TargetFrameLowering::getFrameIndexReference(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::LoongArchSubtarget::getInstrInfo(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), II, llvm::LoongArchSubtarget::is64Bit(), llvm::isInt(), llvm::isShiftedInt(), llvm::RegState::Kill, MBB, MI, MRI, llvm::Offset, and TII.
|
override |
Definition at line 39 of file LoongArchRegisterInfo.cpp.
References llvm::LoongArchABI::ABI_ILP32D, llvm::LoongArchABI::ABI_ILP32F, llvm::LoongArchABI::ABI_ILP32S, llvm::LoongArchABI::ABI_LP64D, llvm::LoongArchABI::ABI_LP64F, llvm::LoongArchABI::ABI_LP64S, llvm::Function::getCallingConv(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getSubtarget(), llvm::CallingConv::GHC, llvm_unreachable, and llvm::CallingConv::PreserveMost.
|
override |
Definition at line 62 of file LoongArchRegisterInfo.cpp.
References llvm::LoongArchABI::ABI_ILP32D, llvm::LoongArchABI::ABI_ILP32F, llvm::LoongArchABI::ABI_ILP32S, llvm::LoongArchABI::ABI_LP64D, llvm::LoongArchABI::ABI_LP64F, llvm::LoongArchABI::ABI_LP64S, llvm::MachineFunction::getSubtarget(), llvm::CallingConv::GHC, llvm_unreachable, and llvm::CallingConv::PreserveMost.
|
override |
Definition at line 111 of file LoongArchRegisterInfo.cpp.
References llvm::TargetFrameLowering::hasFP().
Definition at line 85 of file LoongArchRegisterInfo.cpp.
|
inlineoverride |
Definition at line 36 of file LoongArchRegisterInfo.h.
|
override |
Definition at line 90 of file LoongArchRegisterInfo.cpp.
References assert(), llvm::LoongArchABI::getBPReg(), llvm::LoongArchFrameLowering::hasBP(), llvm::TargetFrameLowering::hasFP(), and llvm::Reserved.
|
inlineoverride |
Definition at line 50 of file LoongArchRegisterInfo.h.
|
inlineoverride |
Definition at line 46 of file LoongArchRegisterInfo.h.