LLVM 20.0.0git
|
#include "Target/Mips/MipsRegisterInfo.h"
Public Types | |
enum class | MipsPtrClass { Default = 0 , GPR16MM = 1 , StackPointer = 2 , GlobalPointer = 3 } |
Public Member Functions | |
MipsRegisterInfo () | |
const TargetRegisterClass * | getPointerRegClass (const MachineFunction &MF, unsigned Kind) const override |
Code Generation virtual methods... | |
unsigned | getRegPressureLimit (const TargetRegisterClass *RC, MachineFunction &MF) const override |
const MCPhysReg * | getCalleeSavedRegs (const MachineFunction *MF) const override |
Mips Callee Saved Registers. | |
const uint32_t * | getCallPreservedMask (const MachineFunction &MF, CallingConv::ID) const override |
BitVector | getReservedRegs (const MachineFunction &MF) const override |
bool | eliminateFrameIndex (MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override |
Stack Frame Processing Methods. | |
bool | canRealignStack (const MachineFunction &MF) const override |
Register | getFrameRegister (const MachineFunction &MF) const override |
Debug information queries. | |
virtual const TargetRegisterClass * | intRegClass (unsigned Size) const =0 |
Return GPR register class. | |
Static Public Member Functions | |
static unsigned | getPICCallReg () |
Get PIC indirect call register. | |
static const uint32_t * | getMips16RetHelperMask () |
Definition at line 27 of file MipsRegisterInfo.h.
|
strong |
Definition at line 29 of file MipsRegisterInfo.h.
MipsRegisterInfo::MipsRegisterInfo | ( | ) |
Definition at line 42 of file MipsRegisterInfo.cpp.
|
override |
Definition at line 284 of file MipsRegisterInfo.cpp.
References llvm::TargetRegisterInfo::canRealignStack(), llvm::MachineRegisterInfo::canReserveReg(), FP, llvm::MipsSubtarget::getFrameLowering(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), llvm::TargetFrameLowering::hasReservedCallFrame(), llvm::MipsSubtarget::inMips16Mode(), and llvm::MipsSubtarget::isGP32bit().
|
override |
Stack Frame Processing Methods.
Definition at line 245 of file MipsRegisterInfo.cpp.
References llvm::dwarf_linker::DebugStr, llvm::errs(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getName(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineFrameInfo::getStackSize(), II, LLVM_DEBUG, and MI.
|
override |
Mips Callee Saved Registers.
Definition at line 93 of file MipsRegisterInfo.cpp.
References F, llvm::MachineFunction::getFunction(), llvm::MachineFunction::getSubtarget(), llvm::MipsSubtarget::hasMips32r6(), llvm::MipsSubtarget::hasMips64(), llvm::MipsSubtarget::hasMips64r6(), llvm::MipsSubtarget::isABI_N32(), llvm::MipsSubtarget::isABI_N64(), llvm::MipsSubtarget::isFP64bit(), llvm::MipsSubtarget::isFPXX(), and llvm::MipsSubtarget::isSingleFloat().
|
override |
Definition at line 124 of file MipsRegisterInfo.cpp.
References llvm::MachineFunction::getSubtarget(), llvm::MipsSubtarget::isABI_N32(), llvm::MipsSubtarget::isABI_N64(), llvm::MipsSubtarget::isFP64bit(), llvm::MipsSubtarget::isFPXX(), and llvm::MipsSubtarget::isSingleFloat().
|
override |
Debug information queries.
Definition at line 270 of file MipsRegisterInfo.cpp.
References llvm::MipsSubtarget::getFrameLowering(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getTarget(), and llvm::MipsSubtarget::inMips16Mode().
Definition at line 145 of file MipsRegisterInfo.cpp.
Referenced by llvm::MipsTargetLowering::getOpndList().
|
static |
Get PIC indirect call register.
Definition at line 44 of file MipsRegisterInfo.cpp.
|
override |
Code Generation virtual methods...
Definition at line 47 of file MipsRegisterInfo.cpp.
References Default, llvm::MachineFunction::getSubtarget(), GlobalPointer, GPR16MM, llvm_unreachable, and StackPointer.
|
override |
Definition at line 67 of file MipsRegisterInfo.cpp.
References llvm::TargetSubtargetInfo::getFrameLowering(), llvm::TargetRegisterClass::getID(), llvm::MachineFunction::getSubtarget(), and llvm::TargetFrameLowering::hasFP().
|
override |
Definition at line 149 of file MipsRegisterInfo.cpp.
References llvm::MachineFunction::getFrameInfo(), llvm::MipsSubtarget::getFrameLowering(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::MachineFunction::getSubtarget(), llvm::Function::hasFnAttribute(), llvm::TargetFrameLowering::hasFP(), llvm::MipsFunctionInfo::hasSaveS2(), llvm::MachineFrameInfo::hasVarSizedObjects(), llvm::MipsSubtarget::inMips16Mode(), llvm::MipsSubtarget::isABICalls(), llvm::MipsSubtarget::isFP64bit(), llvm::MipsSubtarget::isTargetNaCl(), llvm::Reserved, and llvm::MipsSubtarget::useSmallSection().
Referenced by llvm::Mips16FrameLowering::determineCalleeSaves(), llvm::Mips16InstrInfo::makeFrame(), and llvm::Mips16InstrInfo::restoreFrame().
|
pure virtual |
Return GPR register class.
Implemented in llvm::Mips16RegisterInfo, and llvm::MipsSERegisterInfo.