LLVM: llvm::MCRegisterClass Class Reference (original) (raw)

MCRegisterClass - Base class of TargetRegisterClass. More...

#include "[llvm/MC/MCRegisterInfo.h](MCRegisterInfo%5F8h%5Fsource.html)"

Public Member Functions
unsigned getID () const
getID() - Return the register class ID number.
iterator begin () const
begin/end - Return all of the registers in this class.
iterator end () const
unsigned getNumRegs () const
getNumRegs - Return the number of registers in this class.
MCRegister getRegister (unsigned i) const
getRegister - Return the specified register in the class.
bool contains (MCRegister Reg) const
contains - Return true if the specified register is included in this register class.
bool contains (MCRegister Reg1, MCRegister Reg2) const
contains - Return true if both registers are in this class.
unsigned getSizeInBits () const
Return the size of the physical register in bits if we are able to determine it.
uint8_t getCopyCost () const
getCopyCost - Return the cost of copying a value between two registers in this class.
bool isAllocatable () const
isAllocatable - Return true if this register class may be used to create virtual registers.
bool isBaseClass () const
Return true if this register class has a defined BaseClassOrder.
Public Attributes
const iterator RegsBegin
const uint8_t *const RegSet
const uint32_t NameIdx
const uint16_t RegsSize
const uint16_t RegSetSize
const uint16_t ID
const uint16_t RegSizeInBits
const uint8_t CopyCost
const bool Allocatable
const bool BaseClass

const_iterator

iterator

begin()

iterator llvm::MCRegisterClass::begin ( ) const inline

contains() [1/2]

contains - Return true if the specified register is included in this register class.

This does not include virtual registers.

Definition at line 75 of file MCRegisterInfo.h.

References Reg, RegSet, and RegSetSize.

Referenced by llvm::X86_MC::X86MCInstrAnalysis::clearsSuperRegisters(), contains(), llvm::AMDGPUDisassembler::convertTrue16OpSel(), llvm::MCRegisterInfo::getMatchingSuperReg(), llvm::AMDGPU::getVGPRPhysRegClass(), IsAGPROperand(), isMemOperand(), llvm::AMDGPU::isSGPR(), and llvm::ARMInstPrinter::printInst().

contains() [2/2]

end()

iterator llvm::MCRegisterClass::end ( ) const inline

getCopyCost()

uint8_t llvm::MCRegisterClass::getCopyCost ( ) const inline

getCopyCost - Return the cost of copying a value between two registers in this class.

A negative number means the register class is very expensive to copy e.g. status flag register classes.

Definition at line 98 of file MCRegisterInfo.h.

References CopyCost.

getID()

unsigned llvm::MCRegisterClass::getID ( ) const inline

getNumRegs()

unsigned llvm::MCRegisterClass::getNumRegs ( ) const inline

getRegister()

getSizeInBits()

unsigned llvm::MCRegisterClass::getSizeInBits ( ) const inline

Return the size of the physical register in bits if we are able to determine it.

This always returns zero for registers of targets that use HW modes, as we need more information to determine the size of registers in such cases. Use TargetRegisterInfo to cover them.

Definition at line 93 of file MCRegisterInfo.h.

References RegSizeInBits.

Referenced by CheckVGPROverflow().

isAllocatable()

bool llvm::MCRegisterClass::isAllocatable ( ) const inline

isAllocatable - Return true if this register class may be used to create virtual registers.

Definition at line 102 of file MCRegisterInfo.h.

References Allocatable.

isBaseClass()

bool llvm::MCRegisterClass::isBaseClass ( ) const inline

Allocatable

const bool llvm::MCRegisterClass::Allocatable

BaseClass

CopyCost

ID

NameIdx

RegsBegin

const iterator llvm::MCRegisterClass::RegsBegin

RegSet

RegSetSize

RegSizeInBits

RegsSize


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