LLVM  14.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::R600RegisterInfo Struct Referencefinal

#include "Target/AMDGPU/R600RegisterInfo.h"

Inheritance diagram for llvm::R600RegisterInfo:
Inheritance graph
[legend]
Collaboration diagram for llvm::R600RegisterInfo:
Collaboration graph
[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. More...
 
unsigned getHWRegIndex (unsigned Reg) const
 
const TargetRegisterClassgetCFGStructurizerRegClass (MVT VT) const
 get the register class of the specified type to use in the CFGStructurizer More...
 
bool trackLivenessAfterRegAlloc (const MachineFunction &MF) const override
 
bool isPhysRegLiveAcrossClauses (Register Reg) const
 
void 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()

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

Definition at line 108 of file R600RegisterInfo.cpp.

References llvm_unreachable.

◆ getCalleeSavedRegs()

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

Definition at line 70 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 87 of file R600RegisterInfo.cpp.

References llvm::MVT::i32, and 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 79 of file R600RegisterInfo.cpp.

References HW_CHAN_SHIFT.

Referenced by llvm::R600InstrInfo::expandPostRAPseudo(), and llvm::R600InstrInfo::fitsConstReadLimitations().

◆ getHWRegIndex()

unsigned R600RegisterInfo::getHWRegIndex ( unsigned  Reg) const

Definition at line 83 of file R600RegisterInfo.cpp.

References GET_REG_INDEX, and Reg.

Referenced by llvm::R600InstrInfo::expandPostRAPseudo().

◆ 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 llvm::array_lengthof(), and assert().

Referenced by llvm::R600InstrInfo::copyPhysReg().

◆ isPhysRegLiveAcrossClauses()

bool R600RegisterInfo::isPhysRegLiveAcrossClauses ( Register  Reg) const

Definition at line 95 of file R600RegisterInfo.cpp.

References assert(), and Reg.

Referenced by llvm::R600InstrInfo::isLegalToSplitMBBAt().

◆ reserveRegisterTuples()

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

Definition at line 115 of file R600RegisterInfo.cpp.

References Reg, and llvm::BitVector::set().

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: