LLVM 19.0.0git
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::MipsRegisterInfo Class Referenceabstract

#include "Target/Mips/MipsRegisterInfo.h"

Inheritance diagram for llvm::MipsRegisterInfo:
Inheritance graph

Public Types

enum class  MipsPtrClass { Default = 0 , GPR16MM = 1 , StackPointer = 2 , GlobalPointer = 3 }

Public Member Functions

 MipsRegisterInfo ()
const TargetRegisterClassgetPointerRegClass (const MachineFunction &MF, unsigned Kind) const override
 Code Generation virtual methods...
unsigned getRegPressureLimit (const TargetRegisterClass *RC, MachineFunction &MF) const override
const MCPhysReggetCalleeSavedRegs (const MachineFunction *MF) const override
 Mips Callee Saved Registers.
const uint32_tgetCallPreservedMask (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 TargetRegisterClassintRegClass (unsigned Size) const =0
 Return GPR register class.

Static Public Member Functions

static unsigned getPICCallReg ()
 Get PIC indirect call register.
static const uint32_tgetMips16RetHelperMask ()

Detailed Description

Definition at line 27 of file MipsRegisterInfo.h.

Member Enumeration Documentation

◆ MipsPtrClass


The default register class for integer values.


The subset of registers permitted in certain microMIPS instructions such as lw16.


The stack pointer only.


The global pointer only.

Definition at line 29 of file MipsRegisterInfo.h.

Constructor & Destructor Documentation

◆ MipsRegisterInfo()

MipsRegisterInfo::MipsRegisterInfo ( )

Definition at line 42 of file MipsRegisterInfo.cpp.

Member Function Documentation

◆ canRealignStack()

bool MipsRegisterInfo::canRealignStack ( const MachineFunction MF) const

◆ eliminateFrameIndex()

bool MipsRegisterInfo::eliminateFrameIndex ( MachineBasicBlock::iterator  II,
int  SPAdj,
unsigned  FIOperandNum,
RegScavenger RS = nullptr 
) const

◆ getCalleeSavedRegs()

const MCPhysReg * MipsRegisterInfo::getCalleeSavedRegs ( const MachineFunction MF) const

◆ getCallPreservedMask()

const uint32_t * MipsRegisterInfo::getCallPreservedMask ( const MachineFunction MF,
) const

◆ getFrameRegister()

Register MipsRegisterInfo::getFrameRegister ( const MachineFunction MF) const

◆ getMips16RetHelperMask()

const uint32_t * MipsRegisterInfo::getMips16RetHelperMask ( )

Definition at line 145 of file MipsRegisterInfo.cpp.

Referenced by llvm::MipsTargetLowering::getOpndList().

◆ getPICCallReg()

unsigned MipsRegisterInfo::getPICCallReg ( )

Get PIC indirect call register.

Definition at line 44 of file MipsRegisterInfo.cpp.

◆ getPointerRegClass()

const TargetRegisterClass * MipsRegisterInfo::getPointerRegClass ( const MachineFunction MF,
unsigned  Kind 
) const

Code Generation virtual methods...

Definition at line 47 of file MipsRegisterInfo.cpp.

References Default, llvm::MachineFunction::getSubtarget(), GlobalPointer, GPR16MM, llvm_unreachable, and StackPointer.

◆ getRegPressureLimit()

unsigned MipsRegisterInfo::getRegPressureLimit ( const TargetRegisterClass RC,
MachineFunction MF 
) const

◆ getReservedRegs()

BitVector MipsRegisterInfo::getReservedRegs ( const MachineFunction MF) const

◆ intRegClass()

virtual const TargetRegisterClass * llvm::MipsRegisterInfo::intRegClass ( unsigned  Size) const
pure virtual

Return GPR register class.

Implemented in llvm::Mips16RegisterInfo, and llvm::MipsSERegisterInfo.

The documentation for this class was generated from the following files: