LLVM
15.0.0git
|
#include "llvm/CodeGen/RDFRegisters.h"
Public Member Functions | |
PhysicalRegisterInfo (const TargetRegisterInfo &tri, const MachineFunction &mf) | |
RegisterId | getRegMaskId (const uint32_t *RM) const |
const uint32_t * | getRegMaskBits (RegisterId R) const |
bool | alias (RegisterRef RA, RegisterRef RB) const |
std::set< RegisterId > | getAliasSet (RegisterId Reg) const |
RegisterRef | getRefForUnit (uint32_t U) const |
const BitVector & | getMaskUnits (RegisterId MaskId) const |
const BitVector & | getUnitAliases (uint32_t U) const |
RegisterRef | mapTo (RegisterRef RR, unsigned R) const |
const TargetRegisterInfo & | getTRI () const |
Static Public Member Functions | |
static bool | isRegMaskId (RegisterId R) |
Definition at line 102 of file RDFRegisters.h.
PhysicalRegisterInfo::PhysicalRegisterInfo | ( | const TargetRegisterInfo & | tri, |
const MachineFunction & | mf | ||
) |
Definition at line 27 of file RDFRegisters.cpp.
References assert(), B, E, F, llvm::BitVector::flip(), llvm::MCRegister::from(), llvm::rdf::IndexedSet< T, N >::get(), llvm::LaneBitmask::getAll(), llvm::MCRegisterInfo::getNumRegs(), llvm::MCRegisterInfo::getNumRegUnits(), llvm::TargetRegisterInfo::getRegMasks(), I, llvm::tgtok::In, llvm::rdf::IndexedSet< T, N >::insert(), llvm::MCRegisterInfo::DiffListIterator::isValid(), M, P, llvm::TargetRegisterInfo::regclasses(), llvm::AArch64::RM, S, llvm::BitVector::set(), and llvm::rdf::IndexedSet< T, N >::size().
|
inline |
Definition at line 118 of file RDFRegisters.h.
References isRegMaskId(), RA, and llvm::rdf::RegisterRef::Reg.
Referenced by llvm::rdf::Liveness::getAllReachedUses(), llvm::rdf::Liveness::getAllReachingDefs(), and llvm::rdf::Liveness::getNearestAliasedRef().
std::set< RegisterId > PhysicalRegisterInfo::getAliasSet | ( | RegisterId | Reg | ) | const |
Definition at line 106 of file RDFRegisters.cpp.
References assert(), llvm::numbers::e, llvm::MCRegisterInfo::getNumRegs(), getRegMaskBits(), getRegMaskId(), i, llvm::Register::isPhysicalRegister(), isRegMaskId(), llvm::MCRegAliasIterator::isValid(), MI, and llvm::AArch64::RM.
|
inline |
Definition at line 130 of file RDFRegisters.h.
References llvm::Register::stackSlot2Index().
Referenced by llvm::rdf::RegisterAggr::hasAliasOf(), llvm::rdf::RegisterAggr::hasCoverOf(), and llvm::rdf::RegisterAggr::insert().
|
inline |
Definition at line 126 of file RDFRegisters.h.
References llvm::BitmaskEnumDetail::Mask().
|
inline |
Definition at line 114 of file RDFRegisters.h.
References llvm::rdf::IndexedSet< T, N >::get(), and llvm::Register::stackSlot2Index().
Referenced by getAliasSet().
|
inline |
Definition at line 110 of file RDFRegisters.h.
References llvm::rdf::IndexedSet< T, N >::find(), llvm::Register::index2StackSlot(), and llvm::AArch64::RM.
Referenced by getAliasSet(), and llvm::rdf::DataFlowGraph::makeRegRef().
|
inline |
Definition at line 139 of file RDFRegisters.h.
Referenced by llvm::rdf::RegisterAggr::hasAliasOf(), llvm::rdf::RegisterAggr::hasCoverOf(), llvm::rdf::RegisterAggr::insert(), llvm::rdf::RegisterAggr::makeRegRef(), and llvm::rdf::RegisterAggr::print().
Definition at line 134 of file RDFRegisters.h.
Referenced by llvm::rdf::RegisterAggr::makeRegRef().
|
inlinestatic |
Definition at line 106 of file RDFRegisters.h.
References llvm::Register::isStackSlot().
Referenced by alias(), getAliasSet(), llvm::rdf::RegisterAggr::hasAliasOf(), llvm::rdf::RegisterAggr::hasCoverOf(), llvm::rdf::RegisterAggr::insert(), and llvm::rdf::DataFlowGraph::makeRegRef().
RegisterRef PhysicalRegisterInfo::mapTo | ( | RegisterRef | RR, |
unsigned | R | ||
) | const |
Definition at line 230 of file RDFRegisters.cpp.
References llvm::TargetRegisterInfo::composeSubRegIndexLaneMask(), llvm::LaneBitmask::getAll(), llvm::MCRegisterInfo::getSubRegIndex(), llvm_unreachable, M, llvm::rdf::RegisterRef::Mask, llvm::rdf::RegisterRef::Reg, and llvm::TargetRegisterInfo::reverseComposeSubRegIndexLaneMask().
Referenced by llvm::rdf::Liveness::computePhiInfo().