LLVM 19.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::rdf::RegisterAggr Struct Reference

#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 PhysicalRegisterInfogetPRI () const
 
bool operator== (const RegisterAggr &A) const
 
RegisterAggrinsert (RegisterRef RR)
 
RegisterAggrinsert (const RegisterAggr &RG)
 
RegisterAggrintersect (RegisterRef RR)
 
RegisterAggrintersect (const RegisterAggr &RG)
 
RegisterAggrclear (RegisterRef RR)
 
RegisterAggrclear (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_iteratorrefs () const
 
iterator_range< unit_iteratorunits () const
 

Static Public Member Functions

static bool isCoverOf (RegisterRef RA, RegisterRef RB, const PhysicalRegisterInfo &PRI)
 

Detailed Description

Definition at line 204 of file RDFRegisters.h.

Member Typedef Documentation

◆ unit_iterator

Definition at line 272 of file RDFRegisters.h.

Constructor & Destructor Documentation

◆ RegisterAggr() [1/2]

llvm::rdf::RegisterAggr::RegisterAggr ( const PhysicalRegisterInfo pri)
inline

Definition at line 205 of file RDFRegisters.h.

◆ RegisterAggr() [2/2]

llvm::rdf::RegisterAggr::RegisterAggr ( const RegisterAggr RG)
default

Member Function Documentation

◆ clear() [1/2]

RegisterAggr & llvm::rdf::RegisterAggr::clear ( const RegisterAggr RG)

Definition at line 339 of file RDFRegisters.cpp.

References llvm::BitVector::reset().

◆ clear() [2/2]

RegisterAggr & llvm::rdf::RegisterAggr::clear ( RegisterRef  RR)

Definition at line 335 of file RDFRegisters.cpp.

References clear(), and insert().

Referenced by clear(), and clearIn().

◆ clearIn()

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().

◆ empty()

bool llvm::rdf::RegisterAggr::empty ( ) const
inline

Definition at line 210 of file RDFRegisters.h.

References llvm::BitVector::none().

Referenced by llvm::rdf::DataFlowGraph::build().

◆ getPRI()

const PhysicalRegisterInfo & llvm::rdf::RegisterAggr::getPRI ( ) const
inline

Definition at line 214 of file RDFRegisters.h.

◆ hasAliasOf()

bool llvm::rdf::RegisterAggr::hasAliasOf ( RegisterRef  RR) const

◆ hasCoverOf()

bool llvm::rdf::RegisterAggr::hasCoverOf ( RegisterRef  RR) const

◆ hash()

size_t llvm::rdf::RegisterAggr::hash ( ) const
inline

Definition at line 236 of file RDFRegisters.h.

◆ insert() [1/2]

RegisterAggr & llvm::rdf::RegisterAggr::insert ( const RegisterAggr RG)

Definition at line 321 of file RDFRegisters.cpp.

◆ insert() [2/2]

RegisterAggr & llvm::rdf::RegisterAggr::insert ( RegisterRef  RR)

◆ intersect() [1/2]

RegisterAggr & llvm::rdf::RegisterAggr::intersect ( const RegisterAggr RG)

Definition at line 330 of file RDFRegisters.cpp.

◆ intersect() [2/2]

RegisterAggr & llvm::rdf::RegisterAggr::intersect ( RegisterRef  RR)

Definition at line 326 of file RDFRegisters.cpp.

References insert(), and intersect().

Referenced by intersect().

◆ intersectWith()

RegisterRef llvm::rdf::RegisterAggr::intersectWith ( RegisterRef  RR) const

Definition at line 344 of file RDFRegisters.cpp.

References assert(), and T.

Referenced by llvm::rdf::Liveness::computePhiInfo().

◆ isCoverOf()

static bool llvm::rdf::RegisterAggr::isCoverOf ( RegisterRef  RA,
RegisterRef  RB,
const PhysicalRegisterInfo PRI 
)
inlinestatic

Definition at line 220 of file RDFRegisters.h.

References hasCoverOf(), insert(), and RA.

Referenced by llvm::rdf::Liveness::getAllReachingDefs().

◆ makeRegRef()

RegisterRef llvm::rdf::RegisterAggr::makeRegRef ( ) const

◆ operator==()

bool llvm::rdf::RegisterAggr::operator== ( const RegisterAggr A) const
inline

Definition at line 216 of file RDFRegisters.h.

References A.

◆ ref_begin()

ref_iterator llvm::rdf::RegisterAggr::ref_begin ( ) const
inline

Definition at line 269 of file RDFRegisters.h.

Referenced by refs().

◆ ref_end()

ref_iterator llvm::rdf::RegisterAggr::ref_end ( ) const
inline

Definition at line 270 of file RDFRegisters.h.

Referenced by refs().

◆ refs()

iterator_range< ref_iterator > llvm::rdf::RegisterAggr::refs ( ) const
inline

◆ size()

unsigned llvm::rdf::RegisterAggr::size ( ) const
inline

Definition at line 209 of file RDFRegisters.h.

References llvm::BitVector::count().

◆ unit_begin()

unit_iterator llvm::rdf::RegisterAggr::unit_begin ( ) const
inline

Definition at line 273 of file RDFRegisters.h.

References llvm::BitVector::set_bits_begin().

Referenced by units().

◆ unit_end()

unit_iterator llvm::rdf::RegisterAggr::unit_end ( ) const
inline

Definition at line 274 of file RDFRegisters.h.

References llvm::BitVector::set_bits_end().

Referenced by units().

◆ units()

iterator_range< unit_iterator > llvm::rdf::RegisterAggr::units ( ) const
inline

Definition at line 279 of file RDFRegisters.h.

References llvm::make_range(), unit_begin(), and unit_end().


The documentation for this struct was generated from the following files: