LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
llvm::AMDGPURegisterInfo Struct Reference

#include <AMDGPURegisterInfo.h>

Inheritance diagram for llvm::AMDGPURegisterInfo:
Inheritance graph
[legend]
Collaboration diagram for llvm::AMDGPURegisterInfo:
Collaboration graph
[legend]

Public Member Functions

 AMDGPURegisterInfo (TargetMachine &tm)
 
virtual BitVector getReservedRegs (const MachineFunction &MF) const
 
virtual const TargetRegisterClassgetISARegClass (const TargetRegisterClass *RC) const
 
virtual const TargetRegisterClassgetCFGStructurizerRegClass (MVT VT) const
 
virtual unsigned getHWRegIndex (unsigned Reg) const
 
unsigned getSubRegFromChannel (unsigned Channel) const
 
const uint16_t * getCalleeSavedRegs (const MachineFunction *MF) const
 
void eliminateFrameIndex (MachineBasicBlock::iterator MI, int SPAdj, unsigned FIOperandNum, RegScavenger *RS) const
 
unsigned getFrameRegister (const MachineFunction &MF) const
 
unsigned getIndirectSubReg (unsigned IndirectIndex) const
 

Public Attributes

TargetMachineTM
 

Static Public Attributes

static const uint16_t CalleeSavedReg = AMDGPU::NoRegister
 

Detailed Description

Definition at line 31 of file AMDGPURegisterInfo.h.

Constructor & Destructor Documentation

AMDGPURegisterInfo::AMDGPURegisterInfo ( TargetMachine tm)

Definition at line 20 of file AMDGPURegisterInfo.cpp.

Member Function Documentation

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

Definition at line 37 of file AMDGPURegisterInfo.cpp.

const uint16_t * AMDGPURegisterInfo::getCalleeSavedRegs ( const MachineFunction MF) const

Definition at line 32 of file AMDGPURegisterInfo.cpp.

References CalleeSavedReg.

virtual const TargetRegisterClass* llvm::AMDGPURegisterInfo::getCFGStructurizerRegClass ( MVT  VT) const
inlinevirtual

Reimplemented in llvm::R600RegisterInfo, and llvm::SIRegisterInfo.

Definition at line 49 of file AMDGPURegisterInfo.h.

unsigned AMDGPURegisterInfo::getFrameRegister ( const MachineFunction MF) const

Definition at line 44 of file AMDGPURegisterInfo.cpp.

virtual unsigned llvm::AMDGPURegisterInfo::getHWRegIndex ( unsigned  Reg) const
inlinevirtual

Reimplemented in llvm::SIRegisterInfo, and llvm::R600RegisterInfo.

Definition at line 53 of file AMDGPURegisterInfo.h.

unsigned AMDGPURegisterInfo::getIndirectSubReg ( unsigned  IndirectIndex) const

Definition at line 61 of file AMDGPURegisterInfo.cpp.

References getSubRegFromChannel().

virtual const TargetRegisterClass* llvm::AMDGPURegisterInfo::getISARegClass ( const TargetRegisterClass RC) const
inlinevirtual
Parameters
RCis an AMDIL reg class.
Returns
The ISA reg class that is equivalent to RC.

Reimplemented in llvm::SIRegisterInfo, and llvm::R600RegisterInfo.

Definition at line 44 of file AMDGPURegisterInfo.h.

Referenced by llvm::AMDGPUInstrInfo::convertToISA().

virtual BitVector llvm::AMDGPURegisterInfo::getReservedRegs ( const MachineFunction MF) const
inlinevirtual

Reimplemented in llvm::R600RegisterInfo, and llvm::SIRegisterInfo.

Definition at line 37 of file AMDGPURegisterInfo.h.

unsigned AMDGPURegisterInfo::getSubRegFromChannel ( unsigned  Channel) const
Returns
the sub reg enum value for the given Channel (e.g. getSubRegFromChannel(0) -> AMDGPU::sub0)

Definition at line 49 of file AMDGPURegisterInfo.cpp.

References llvm::array_lengthof().

Referenced by llvm::R600InstrInfo::copyPhysReg(), getIndirectSubReg(), and llvm::R600TargetLowering::LowerOperation().

Member Data Documentation

const uint16_t AMDGPURegisterInfo::CalleeSavedReg = AMDGPU::NoRegister
static

Definition at line 33 of file AMDGPURegisterInfo.h.

Referenced by getCalleeSavedRegs().

TargetMachine& llvm::AMDGPURegisterInfo::TM

Definition at line 32 of file AMDGPURegisterInfo.h.


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