LLVM 22.0.0git
llvm::R600RegisterInfo Struct Referencefinal

#include "Target/AMDGPU/R600RegisterInfo.h"

Inheritance diagram for llvm::R600RegisterInfo:
[legend]

Public Member Functions

 R600RegisterInfo ()
BitVector getReservedRegs (const MachineFunction &MF) const override
const MCPhysReggetCalleeSavedRegs (const MachineFunction *MF) const override
Register getFrameRegister (const MachineFunction &MF) const override
unsigned getHWRegChan (unsigned reg) const
 get the HW encoding for a register's channel.
unsigned getHWRegIndex (unsigned Reg) const
const TargetRegisterClassgetCFGStructurizerRegClass (MVT VT) const
 get the register class of the specified type to use in the CFGStructurizer
bool trackLivenessAfterRegAlloc (const MachineFunction &MF) const override
bool isPhysRegLiveAcrossClauses (Register Reg) const
bool eliminateFrameIndex (MachineBasicBlock::iterator MI, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override
void reserveRegisterTuples (BitVector &Reserved, unsigned Reg) const

Static Public Member Functions

static unsigned getSubRegFromChannel (unsigned Channel)

Detailed Description

Definition at line 22 of file R600RegisterInfo.h.

Constructor & Destructor Documentation

◆ R600RegisterInfo()

llvm::R600RegisterInfo::R600RegisterInfo ( )
inline

Definition at line 23 of file R600RegisterInfo.h.

Member Function Documentation

◆ eliminateFrameIndex()

bool R600RegisterInfo::eliminateFrameIndex ( MachineBasicBlock::iterator MI,
int SPAdj,
unsigned FIOperandNum,
RegScavenger * RS = nullptr ) const
override

Definition at line 106 of file R600RegisterInfo.cpp.

References llvm_unreachable, and MI.

◆ getCalleeSavedRegs()

const MCPhysReg * R600RegisterInfo::getCalleeSavedRegs ( const MachineFunction * MF) const
override

Definition at line 68 of file R600RegisterInfo.cpp.

References CalleeSavedReg.

◆ getCFGStructurizerRegClass()

const TargetRegisterClass * R600RegisterInfo::getCFGStructurizerRegClass ( MVT VT) const

get the register class of the specified type to use in the CFGStructurizer

Definition at line 85 of file R600RegisterInfo.cpp.

References llvm::MVT::SimpleTy.

◆ getFrameRegister()

Register R600RegisterInfo::getFrameRegister ( const MachineFunction & MF) const
override

◆ getHWRegChan()

unsigned R600RegisterInfo::getHWRegChan ( unsigned reg) const

get the HW encoding for a register's channel.

Definition at line 77 of file R600RegisterInfo.cpp.

References HW_CHAN_SHIFT.

◆ getHWRegIndex()

unsigned R600RegisterInfo::getHWRegIndex ( unsigned Reg) const

Definition at line 81 of file R600RegisterInfo.cpp.

References GET_REG_INDEX.

◆ getReservedRegs()

BitVector R600RegisterInfo::getReservedRegs ( const MachineFunction & MF) const
override

◆ getSubRegFromChannel()

unsigned R600RegisterInfo::getSubRegFromChannel ( unsigned Channel)
static
Returns
the sub reg enum value for the given Channel (e.g. getSubRegFromChannel(0) -> R600::sub0)

Definition at line 24 of file R600RegisterInfo.cpp.

References assert().

Referenced by llvm::R600InstrInfo::copyPhysReg(), and llvm::AMDGPUDAGToDAGISel::SelectBuildVector().

◆ isPhysRegLiveAcrossClauses()

bool R600RegisterInfo::isPhysRegLiveAcrossClauses ( Register Reg) const

Definition at line 93 of file R600RegisterInfo.cpp.

References assert().

◆ reserveRegisterTuples()

void R600RegisterInfo::reserveRegisterTuples ( BitVector & Reserved,
unsigned Reg ) const

Definition at line 113 of file R600RegisterInfo.cpp.

References llvm::Reserved.

Referenced by getReservedRegs().

◆ trackLivenessAfterRegAlloc()

bool llvm::R600RegisterInfo::trackLivenessAfterRegAlloc ( const MachineFunction & MF) const
inlineoverride

Definition at line 42 of file R600RegisterInfo.h.


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