LLVM 20.0.0git
|
Wrapper class representing physical registers. Should be passed by value. More...
#include "llvm/MC/MCRegister.h"
Public Member Functions | |
constexpr | MCRegister (unsigned Val=0) |
constexpr | operator unsigned () const |
constexpr unsigned | id () const |
constexpr bool | isValid () const |
constexpr bool | operator== (const MCRegister &Other) const |
Comparisons between register objects. | |
constexpr bool | operator!= (const MCRegister &Other) const |
constexpr bool | operator== (unsigned Other) const |
Comparisons against register constants. | |
constexpr bool | operator!= (unsigned Other) const |
constexpr bool | operator== (int Other) const |
constexpr bool | operator!= (int Other) const |
constexpr bool | operator== (MCPhysReg Other) const |
constexpr bool | operator!= (MCPhysReg Other) const |
Static Public Member Functions | |
static constexpr bool | isStackSlot (unsigned Reg) |
This is the portion of the positive number space that is not a physical register. | |
static constexpr bool | isPhysicalRegister (unsigned Reg) |
Return true if the specified register number is in the physical register namespace. | |
static MCRegister | from (unsigned Val) |
Check the provided unsigned value is a valid MCRegister. | |
Static Public Attributes | |
static constexpr unsigned | NoRegister = 0u |
static constexpr unsigned | FirstPhysicalReg = 1u |
static constexpr unsigned | FirstStackSlot = 1u << 30 |
static constexpr unsigned | VirtualRegFlag = 1u << 31 |
Friends | |
hash_code | hash_value (const MCRegister &) |
Wrapper class representing physical registers. Should be passed by value.
Definition at line 33 of file MCRegister.h.
|
inlineconstexpr |
Definition at line 38 of file MCRegister.h.
|
inlinestatic |
Check the provided unsigned value is a valid MCRegister.
Definition at line 74 of file MCRegister.h.
References assert(), isPhysicalRegister(), and NoRegister.
Referenced by llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::MCRegisterInfo::getLLVMRegNum(), llvm::rdf::PhysicalRegisterInfo::PhysicalRegisterInfo(), rematerializeCheapDef(), and llvm::SIRegisterInfo::SIRegisterInfo().
|
inlineconstexpr |
Definition at line 79 of file MCRegister.h.
Referenced by addOps(), llvm::NVPTXRegisterInfo::getDwarfRegNum(), llvm::DenseMapInfo< MCRegister >::getHashValue(), llvm::getXRegFromXRegTuple(), llvm::MachineRegisterInfo::isReserved(), and llvm::X86II::needSIB().
Return true if the specified register number is in the physical register namespace.
Definition at line 67 of file MCRegister.h.
References FirstPhysicalReg, and FirstStackSlot.
Referenced by llvm::Register::asMCReg(), from(), llvm::Register::isPhysicalRegister(), llvm::MCRegUnitIterator::MCRegUnitIterator(), llvm::MCSubRegIterator::MCSubRegIterator(), and llvm::MCSuperRegIterator::MCSuperRegIterator().
This is the portion of the positive number space that is not a physical register.
StackSlot values do not exist in the MC layer, see Register::isStackSlot() for the more information on them.
Definition at line 61 of file MCRegister.h.
References FirstStackSlot, and VirtualRegFlag.
Referenced by llvm::Register::isStack(), and llvm::Register::isStackSlot().
|
inlineconstexpr |
Definition at line 81 of file MCRegister.h.
References NoRegister.
Referenced by llvm::VirtRegMap::hasPhys(), llvm::InterferenceCache::Cursor::setPhysReg(), and llvm::AArch64InstrInfo::storeRegToStackSlot().
|
inlineconstexpr |
Definition at line 71 of file MCRegister.h.
|
inlineconstexpr |
Definition at line 87 of file MCRegister.h.
References llvm::Other.
|
inlineconstexpr |
Definition at line 97 of file MCRegister.h.
References llvm::Other.
Definition at line 102 of file MCRegister.h.
References llvm::Other.
Definition at line 95 of file MCRegister.h.
References llvm::Other.
|
inlineconstexpr |
Comparisons between register objects.
Definition at line 84 of file MCRegister.h.
References llvm::Other.
|
inlineconstexpr |
Definition at line 96 of file MCRegister.h.
References llvm::Other.
Definition at line 99 of file MCRegister.h.
References llvm::Other.
Comparisons against register constants.
E.g.
Definition at line 94 of file MCRegister.h.
References llvm::Other.
|
friend |
Definition at line 123 of file MCRegister.h.
|
staticconstexpr |
Definition at line 53 of file MCRegister.h.
Referenced by isPhysicalRegister().
|
staticconstexpr |
Definition at line 54 of file MCRegister.h.
Referenced by llvm::Register::index2StackSlot(), isPhysicalRegister(), isStackSlot(), and llvm::Register::stackSlot2Index().
|
staticconstexpr |
Definition at line 52 of file MCRegister.h.
Referenced by llvm::Register::asMCReg(), from(), llvm::LiveRegMatrix::getOneVReg(), llvm::X86RegisterInfo::getRegAllocationHints(), llvm::TargetLoweringObjectFile::getStaticBase(), isCandidate(), llvm::Register::isValid(), isValid(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), shouldUseFormStridedPseudo(), and llvm::AArch64InstrInfo::storeRegToStackSlot().
|
staticconstexpr |
Definition at line 55 of file MCRegister.h.
Referenced by llvm::Register::index2VirtReg(), isStackSlot(), llvm::Register::isVirtualRegister(), and llvm::rdf::RegisterRef::toUnitId().