LLVM 20.0.0git
|
MCRegisterClass - Base class of TargetRegisterClass. More...
#include "llvm/MC/MCRegisterInfo.h"
Public Types | |
using | iterator = const MCPhysReg * |
using | const_iterator = const MCPhysReg * |
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. | |
unsigned | 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. | |
int | 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 int8_t | CopyCost |
const bool | Allocatable |
const bool | BaseClass |
MCRegisterClass - Base class of TargetRegisterClass.
Definition at line 35 of file MCRegisterInfo.h.
Definition at line 38 of file MCRegisterInfo.h.
Definition at line 37 of file MCRegisterInfo.h.
|
inline |
begin/end - Return all of the registers in this class.
Definition at line 57 of file MCRegisterInfo.h.
References RegsBegin.
Referenced by llvm::TargetRegisterClass::begin().
|
inline |
contains - Return true if the specified register is included in this register class.
This does not include virtual registers.
Definition at line 73 of file MCRegisterInfo.h.
References Reg, RegSet, and RegSetSize.
Referenced by llvm::X86_MC::X86MCInstrAnalysis::clearsSuperRegisters(), contains(), llvm::TargetRegisterClass::contains(), llvm::AMDGPUDisassembler::convertTrue16OpSel(), llvm::MCRegisterInfo::getMatchingSuperReg(), IsAGPROperand(), isMemOperand(), llvm::AMDGPU::isSGPR(), llvm::ARMInstPrinter::printInst(), llvm::AArch64InstPrinter::printRangePrefetchAlias(), llvm::VEInstPrinter::printRegName(), llvm::AArch64InstPrinter::printVectorList(), and llvm::MipsRegInfoRecord::SetPhysRegUsed().
|
inline |
contains - Return true if both registers are in this class.
Definition at line 83 of file MCRegisterInfo.h.
References contains().
|
inline |
Definition at line 58 of file MCRegisterInfo.h.
References RegsBegin, and RegsSize.
Referenced by llvm::TargetRegisterClass::end().
|
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 96 of file MCRegisterInfo.h.
References CopyCost.
Referenced by llvm::TargetRegisterClass::getCopyCost().
|
inline |
getID() - Return the register class ID number.
Definition at line 53 of file MCRegisterInfo.h.
References ID.
Referenced by llvm::TargetRegisterClass::getID(), and llvm::AMDGPU::getRegBitWidth().
|
inline |
getNumRegs - Return the number of registers in this class.
Definition at line 62 of file MCRegisterInfo.h.
References RegsSize.
Referenced by llvm::TargetRegisterClass::getNumRegs(), and getRegister().
getRegister - Return the specified register in the class.
Definition at line 66 of file MCRegisterInfo.h.
References assert(), getNumRegs(), and RegsBegin.
Referenced by llvm::AMDGPUDisassembler::convertTrue16OpSel(), and llvm::TargetRegisterClass::getRegister().
|
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 91 of file MCRegisterInfo.h.
References RegSizeInBits.
|
inline |
isAllocatable - Return true if this register class may be used to create virtual registers.
Definition at line 100 of file MCRegisterInfo.h.
References Allocatable.
Referenced by llvm::TargetRegisterClass::isAllocatable().
|
inline |
Return true if this register class has a defined BaseClassOrder.
Definition at line 103 of file MCRegisterInfo.h.
References BaseClass.
Referenced by llvm::TargetRegisterClass::isBaseClass().
Definition at line 48 of file MCRegisterInfo.h.
Referenced by isAllocatable().
Definition at line 49 of file MCRegisterInfo.h.
Referenced by isBaseClass().
const int8_t llvm::MCRegisterClass::CopyCost |
Definition at line 47 of file MCRegisterInfo.h.
Referenced by getCopyCost().
Definition at line 45 of file MCRegisterInfo.h.
Referenced by getID().
Definition at line 42 of file MCRegisterInfo.h.
Definition at line 40 of file MCRegisterInfo.h.
Referenced by begin(), end(), and getRegister().
Definition at line 41 of file MCRegisterInfo.h.
Referenced by contains().
Definition at line 44 of file MCRegisterInfo.h.
Referenced by contains().
Definition at line 46 of file MCRegisterInfo.h.
Referenced by getSizeInBits().
Definition at line 43 of file MCRegisterInfo.h.
Referenced by end(), and getNumRegs().