LLVM  14.0.0git
Public Member Functions | List of all members
llvm::RISCVRegisterInfo Struct Reference

#include "Target/RISCV/RISCVRegisterInfo.h"

Inheritance diagram for llvm::RISCVRegisterInfo:
Inheritance graph
Collaboration diagram for llvm::RISCVRegisterInfo:
Collaboration graph

Public Member Functions

 RISCVRegisterInfo (unsigned HwMode)
const uint32_tgetCallPreservedMask (const MachineFunction &MF, CallingConv::ID) const override
const MCPhysReggetCalleeSavedRegs (const MachineFunction *MF) const override
BitVector getReservedRegs (const MachineFunction &MF) const override
bool isAsmClobberable (const MachineFunction &MF, MCRegister PhysReg) const override
bool isConstantPhysReg (MCRegister PhysReg) const override
const uint32_tgetNoPreservedMask () const override
bool hasReservedSpillSlot (const MachineFunction &MF, Register Reg, int &FrameIdx) const override
void 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
const TargetRegisterClassgetPointerRegClass (const MachineFunction &MF, unsigned Kind=0) const override
const TargetRegisterClassgetLargestLegalSuperClass (const TargetRegisterClass *RC, const MachineFunction &) const override

Detailed Description

Definition at line 23 of file RISCVRegisterInfo.h.

Constructor & Destructor Documentation

◆ RISCVRegisterInfo()

RISCVRegisterInfo::RISCVRegisterInfo ( unsigned  HwMode)

Definition at line 44 of file RISCVRegisterInfo.cpp.

Member Function Documentation

◆ eliminateFrameIndex()

void RISCVRegisterInfo::eliminateFrameIndex ( MachineBasicBlock::iterator  MI,
int  SPAdj,
unsigned  FIOperandNum,
RegScavenger RS = nullptr 
) const

◆ getCalleeSavedRegs()

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

◆ getCallPreservedMask()

const uint32_t * RISCVRegisterInfo::getCallPreservedMask ( const MachineFunction MF,
CallingConv::ID  CC 
) const

◆ getFrameRegister()

Register RISCVRegisterInfo::getFrameRegister ( const MachineFunction MF) const

Definition at line 289 of file RISCVRegisterInfo.cpp.

References llvm::TargetFrameLowering::hasFP().

◆ getLargestLegalSuperClass()

const TargetRegisterClass * RISCVRegisterInfo::getLargestLegalSuperClass ( const TargetRegisterClass RC,
const MachineFunction  
) const

Definition at line 317 of file RISCVRegisterInfo.cpp.

◆ getNoPreservedMask()

const uint32_t * RISCVRegisterInfo::getNoPreservedMask ( ) const

Definition at line 122 of file RISCVRegisterInfo.cpp.

◆ getPointerRegClass()

const TargetRegisterClass* llvm::RISCVRegisterInfo::getPointerRegClass ( const MachineFunction MF,
unsigned  Kind = 0 
) const

Definition at line 58 of file RISCVRegisterInfo.h.

◆ getReservedRegs()

BitVector RISCVRegisterInfo::getReservedRegs ( const MachineFunction MF) const

◆ hasReservedSpillSlot()

bool RISCVRegisterInfo::hasReservedSpillSlot ( const MachineFunction MF,
Register  Reg,
int FrameIdx 
) const

Definition at line 144 of file RISCVRegisterInfo.cpp.

References FixedCSRFIMap, llvm::MachineFunction::getInfo(), and Reg.

◆ isAsmClobberable()

bool RISCVRegisterInfo::isAsmClobberable ( const MachineFunction MF,
MCRegister  PhysReg 
) const

Definition at line 113 of file RISCVRegisterInfo.cpp.

References llvm::MachineFunction::getSubtarget().

◆ isConstantPhysReg()

bool RISCVRegisterInfo::isConstantPhysReg ( MCRegister  PhysReg) const

Definition at line 118 of file RISCVRegisterInfo.cpp.

◆ requiresFrameIndexScavenging()

bool llvm::RISCVRegisterInfo::requiresFrameIndexScavenging ( const MachineFunction MF) const

Definition at line 53 of file RISCVRegisterInfo.h.

◆ requiresRegisterScavenging()

bool llvm::RISCVRegisterInfo::requiresRegisterScavenging ( const MachineFunction MF) const

Definition at line 49 of file RISCVRegisterInfo.h.

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