9#ifndef LLVM_MC_MCREGISTER_H
10#define LLVM_MC_MCREGISTER_H
50 static_assert(std::numeric_limits<
decltype(
Reg)>
::max() >= 0xFFFFFFFF,
51 "Reg isn't large enough to hold full range.");
66 constexpr operator unsigned()
const {
return Reg; }
74 constexpr unsigned id()
const {
return Reg; }
80 return Reg ==
Other.Reg;
83 return Reg !=
Other.Reg;
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This file defines DenseMapInfo traits for DenseMap.
Wrapper class representing physical registers. Should be passed by value.
constexpr bool isValid() const
static constexpr unsigned LastPhysicalReg
static constexpr unsigned FirstPhysicalReg
constexpr bool operator==(const MCRegister &Other) const
Comparisons between register objects.
constexpr bool operator!=(MCPhysReg Other) const
static constexpr unsigned NoRegister
constexpr bool operator!=(int Other) const
static constexpr bool isPhysicalRegister(unsigned Reg)
Return true if the specified register number is in the physical register namespace.
constexpr MCRegister(unsigned Val=0)
static MCRegister from(unsigned Val)
Check the provided unsigned value is a valid MCRegister.
constexpr bool operator==(unsigned Other) const
Comparisons against register constants.
constexpr bool operator==(int Other) const
friend hash_code hash_value(const MCRegister &)
constexpr bool operator!=(const MCRegister &Other) const
constexpr bool isPhysical() const
Return true if the specified register number is in the physical register namespace.
constexpr bool operator==(MCPhysReg Other) const
constexpr bool operator!=(unsigned Other) const
constexpr unsigned id() const
An opaque object representing a hash code.
This is an optimization pass for GlobalISel generic memory operations.
GCNRegPressure max(const GCNRegPressure &P1, const GCNRegPressure &P2)
hash_code hash_value(const FixedPointSemantics &Val)
unsigned MCRegUnit
Register units are used to compute register aliasing.
uint16_t MCPhysReg
An unsigned integer type large enough to represent all physical registers, but not necessarily virtua...
static bool isEqual(const MCRegister &LHS, const MCRegister &RHS)
static MCRegister getTombstoneKey()
static unsigned getHashValue(const MCRegister &Val)
static MCRegister getEmptyKey()
An information struct used to provide DenseMap with the various necessary components for a given valu...