LLVM 20.0.0git
|
#include "llvm/CodeGen/RDFRegisters.h"
Classes | |
struct | ref_iterator |
Public Types | |
using | unit_iterator = typename BitVector::const_set_bits_iterator |
Public Member Functions | |
RegisterAggr (const PhysicalRegisterInfo &pri) | |
RegisterAggr (const RegisterAggr &RG)=default | |
unsigned | size () const |
bool | empty () const |
bool | hasAliasOf (RegisterRef RR) const |
bool | hasCoverOf (RegisterRef RR) const |
const PhysicalRegisterInfo & | getPRI () const |
bool | operator== (const RegisterAggr &A) const |
RegisterAggr & | insert (RegisterRef RR) |
RegisterAggr & | insert (const RegisterAggr &RG) |
RegisterAggr & | intersect (RegisterRef RR) |
RegisterAggr & | intersect (const RegisterAggr &RG) |
RegisterAggr & | clear (RegisterRef RR) |
RegisterAggr & | clear (const RegisterAggr &RG) |
RegisterRef | intersectWith (RegisterRef RR) const |
RegisterRef | clearIn (RegisterRef RR) const |
RegisterRef | makeRegRef () const |
size_t | hash () const |
ref_iterator | ref_begin () const |
ref_iterator | ref_end () const |
unit_iterator | unit_begin () const |
unit_iterator | unit_end () const |
iterator_range< ref_iterator > | refs () const |
iterator_range< unit_iterator > | units () const |
Static Public Member Functions | |
static bool | isCoverOf (RegisterRef RA, RegisterRef RB, const PhysicalRegisterInfo &PRI) |
Definition at line 204 of file RDFRegisters.h.
using llvm::rdf::RegisterAggr::unit_iterator = typename BitVector::const_set_bits_iterator |
Definition at line 272 of file RDFRegisters.h.
|
inline |
Definition at line 205 of file RDFRegisters.h.
|
default |
RegisterAggr & llvm::rdf::RegisterAggr::clear | ( | const RegisterAggr & | RG | ) |
Definition at line 339 of file RDFRegisters.cpp.
References llvm::BitVector::reset().
RegisterAggr & llvm::rdf::RegisterAggr::clear | ( | RegisterRef | RR | ) |
RegisterRef llvm::rdf::RegisterAggr::clearIn | ( | RegisterRef | RR | ) | const |
Definition at line 354 of file RDFRegisters.cpp.
References clear(), insert(), and makeRegRef().
Referenced by llvm::rdf::Liveness::computePhiInfo().
|
inline |
Definition at line 210 of file RDFRegisters.h.
References llvm::BitVector::none().
Referenced by llvm::rdf::DataFlowGraph::build().
|
inline |
Definition at line 214 of file RDFRegisters.h.
bool llvm::rdf::RegisterAggr::hasAliasOf | ( | RegisterRef | RR | ) | const |
Definition at line 279 of file RDFRegisters.cpp.
References llvm::BitVector::anyCommon(), llvm::rdf::PhysicalRegisterInfo::getMaskUnits(), llvm::rdf::PhysicalRegisterInfo::getTRI(), llvm::rdf::RegisterRef::isMask(), llvm::rdf::RegisterRef::Mask, P, llvm::rdf::RegisterRef::Reg, and llvm::BitVector::test().
Referenced by llvm::rdf::Liveness::computePhiInfo().
bool llvm::rdf::RegisterAggr::hasCoverOf | ( | RegisterRef | RR | ) | const |
Definition at line 292 of file RDFRegisters.cpp.
References llvm::rdf::PhysicalRegisterInfo::getMaskUnits(), llvm::rdf::PhysicalRegisterInfo::getTRI(), llvm::rdf::RegisterRef::isMask(), llvm::rdf::RegisterRef::Mask, P, llvm::rdf::RegisterRef::Reg, T, and llvm::BitVector::test().
Referenced by llvm::rdf::Liveness::computePhiInfo(), llvm::rdf::Liveness::getAllReachedUses(), llvm::rdf::Liveness::getAllReachingDefs(), and isCoverOf().
|
inline |
Definition at line 236 of file RDFRegisters.h.
RegisterAggr & llvm::rdf::RegisterAggr::insert | ( | const RegisterAggr & | RG | ) |
Definition at line 321 of file RDFRegisters.cpp.
RegisterAggr & llvm::rdf::RegisterAggr::insert | ( | RegisterRef | RR | ) |
Definition at line 307 of file RDFRegisters.cpp.
References llvm::rdf::PhysicalRegisterInfo::getMaskUnits(), llvm::rdf::PhysicalRegisterInfo::getTRI(), llvm::rdf::RegisterRef::isMask(), llvm::rdf::RegisterRef::Mask, P, llvm::rdf::RegisterRef::Reg, and llvm::BitVector::set().
Referenced by llvm::rdf::DataFlowGraph::build(), clear(), clearIn(), llvm::rdf::Liveness::computePhiInfo(), llvm::rdf::Liveness::getAllReachedUses(), llvm::rdf::Liveness::getAllReachingDefs(), intersect(), and isCoverOf().
RegisterAggr & llvm::rdf::RegisterAggr::intersect | ( | const RegisterAggr & | RG | ) |
Definition at line 330 of file RDFRegisters.cpp.
RegisterAggr & llvm::rdf::RegisterAggr::intersect | ( | RegisterRef | RR | ) |
Definition at line 326 of file RDFRegisters.cpp.
References insert(), and intersect().
Referenced by intersect().
RegisterRef llvm::rdf::RegisterAggr::intersectWith | ( | RegisterRef | RR | ) | const |
Definition at line 344 of file RDFRegisters.cpp.
Referenced by llvm::rdf::Liveness::computePhiInfo().
|
inlinestatic |
Definition at line 220 of file RDFRegisters.h.
References hasCoverOf(), insert(), and RA.
Referenced by llvm::rdf::Liveness::getAllReachingDefs().
RegisterRef llvm::rdf::RegisterAggr::makeRegRef | ( | ) | const |
Definition at line 358 of file RDFRegisters.cpp.
References F, llvm::BitVector::find_first(), llvm::BitVector::find_next(), llvm::rdf::PhysicalRegisterInfo::getTRI(), llvm::rdf::PhysicalRegisterInfo::getUnitAliases(), I, P, and llvm::BitVector::test().
Referenced by clearIn().
|
inline |
Definition at line 216 of file RDFRegisters.h.
References A.
|
inline |
Definition at line 269 of file RDFRegisters.h.
Referenced by refs().
|
inline |
Definition at line 270 of file RDFRegisters.h.
Referenced by refs().
|
inline |
Definition at line 276 of file RDFRegisters.h.
References llvm::make_range(), ref_begin(), and ref_end().
Referenced by llvm::rdf::DataFlowGraph::build(), and llvm::rdf::Liveness::resetLiveIns().
|
inline |
Definition at line 209 of file RDFRegisters.h.
References llvm::BitVector::count().
|
inline |
Definition at line 273 of file RDFRegisters.h.
References llvm::BitVector::set_bits_begin().
Referenced by units().
|
inline |
Definition at line 274 of file RDFRegisters.h.
References llvm::BitVector::set_bits_end().
Referenced by units().
|
inline |
Definition at line 279 of file RDFRegisters.h.
References llvm::make_range(), unit_begin(), and unit_end().