LLVM 22.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 bool | isPhysical () const |
Return true if the specified register number is in the physical register namespace. | |
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 | 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 | LastPhysicalReg = (1u << 30) - 1 |
Friends | |
hash_code | hash_value (const MCRegister &Reg) |
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.
Referenced by from(), hash_value, operator!=(), and operator==().
|
inlinestatic |
Check the provided unsigned value is a valid MCRegister.
Definition at line 69 of file MCRegister.h.
References assert(), isPhysicalRegister(), MCRegister(), and NoRegister.
Referenced by llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::MCRegisterInfo::getLLVMRegNum(), rematerializeCheapDef(), and llvm::SIRegisterInfo::SIRegisterInfo().
|
inlineconstexpr |
Definition at line 74 of file MCRegister.h.
Referenced by addOps(), llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), llvm::CriticalAntiDepBreaker::BreakAntiDependencies(), llvm::RegAllocEvictionAdvisor::canAllocatePhysReg(), llvm::MachineRegisterInfo::canReserveReg(), llvm::LiveRegMatrix::checkRegMaskInterference(), llvm::MachineOperand::clobbersPhysReg(), llvm::mca::InstrBuilder::createInstruction(), llvm::NVPTXRegisterInfo::getDwarfRegNum(), llvm::DenseMapInfo< MCRegister >::getHashValue(), getLibCallID(), getRegisterForMxtrC0(), getRegisterForMxtrDSP(), getRegisterForMxtrFP(), llvm::getXRegFromXRegTuple(), llvm::TargetRegisterInfo::isCalleeSavedPhysReg(), llvm::ARMBaseRegisterInfo::isInlineAsmReadOnlyReg(), llvm::MachineRegisterInfo::isPhysRegModified(), llvm::MachineRegisterInfo::isPhysRegUsed(), llvm::MachineRegisterInfo::isReserved(), llvm::PPCInstPrinter::printcrbitm(), and llvm::CalleeSavedInfo::setDstReg().
|
inlineconstexpr |
Return true if the specified register number is in the physical register namespace.
Definition at line 64 of file MCRegister.h.
References isPhysicalRegister().
Referenced by llvm::MachineBasicBlock::addLiveIn(), llvm::VirtRegMap::assignVirt2Phys(), llvm::AMDGPULegalizerInfo::buildLoadInputValue(), llvm::MachineOperand::clobbersPhysReg(), getCommonMinimalPhysRegClass(), llvm::TargetRegisterInfo::isCalleeSavedPhysReg(), llvm::PPCRegisterInfo::isCallerPreservedPhysReg(), llvm::MachineRegisterInfo::isConstantPhysReg(), and llvm::HexagonFrameLowering::processFunctionBeforeFrameFinalized().
Return true if the specified register number is in the physical register namespace.
Definition at line 58 of file MCRegister.h.
References FirstPhysicalReg, and LastPhysicalReg.
Referenced by from(), isPhysical(), and llvm::Register::isPhysicalRegister().
|
inlineconstexpr |
Definition at line 76 of file MCRegister.h.
References NoRegister.
Referenced by addOpsFromMDNode(), llvm::MachineOperand::clobbersPhysReg(), llvm::AArch64InstrInfo::copyPhysReg(), llvm::VirtRegMap::hasPhys(), llvm::SPIRVMCInstLower::lower(), llvm::HexagonFrameLowering::processFunctionBeforeFrameFinalized(), llvm::InterferenceCache::Cursor::setPhysReg(), and llvm::AArch64InstrInfo::storeRegToStackSlot().
|
inlineconstexpr |
Definition at line 66 of file MCRegister.h.
|
inlineconstexpr |
Definition at line 82 of file MCRegister.h.
References MCRegister(), and llvm::Other.
|
inlineconstexpr |
Definition at line 92 of file MCRegister.h.
References llvm::Other.
Definition at line 97 of file MCRegister.h.
References llvm::Other.
Definition at line 90 of file MCRegister.h.
References llvm::Other.
|
inlineconstexpr |
Comparisons between register objects.
Definition at line 79 of file MCRegister.h.
References MCRegister(), and llvm::Other.
|
inlineconstexpr |
Definition at line 91 of file MCRegister.h.
References llvm::Other.
Definition at line 94 of file MCRegister.h.
References llvm::Other.
Comparisons against register constants.
E.g.
Definition at line 89 of file MCRegister.h.
References llvm::Other.
|
friend |
Definition at line 118 of file MCRegister.h.
References llvm::hash_value(), and MCRegister().
|
staticconstexpr |
Definition at line 53 of file MCRegister.h.
Referenced by isPhysicalRegister().
|
staticconstexpr |
Definition at line 54 of file MCRegister.h.
Referenced by isPhysicalRegister().
|
staticconstexpr |
Definition at line 52 of file MCRegister.h.
Referenced by from(), llvm::LiveRegMatrix::getOneVReg(), llvm::X86RegisterInfo::getRegAllocationHints(), llvm::TargetLoweringObjectFile::getStaticBase(), isCandidate(), isValid(), llvm::Register::isValid(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), and llvm::AArch64InstrInfo::storeRegToStackSlot().