LLVM 20.0.0git
Public Member Functions | List of all members
llvm::ScheduleDAGInstrs::Value2SUsMap Class Reference
Inheritance diagram for llvm::ScheduleDAGInstrs::Value2SUsMap:
Inheritance graph
[legend]

Public Member Functions

 Value2SUsMap (unsigned lat=0)
 
ValueTypeoperator[] (const SUList &Key)
 To keep NumNodes up to date, insert() is used instead of this operator w/ push_back().
 
void insert (SUnit *SU, ValueType V)
 Adds SU to the SUList of V.
 
void clearList (ValueType V)
 Clears the list of SUs mapped to V.
 
void clear ()
 Clears map from all contents.
 
unsigned size () const
 
void reComputeSize ()
 Counts the number of SUs in this map after a reduction.
 
unsigned getTrueMemOrderLatency () const
 
void dump ()
 
- Public Member Functions inherited from llvm::MapVector< KeyT, ValueT, MapType, VectorType >
VectorType takeVector ()
 Clear the MapVector and return the underlying vector.
 
size_type size () const
 
void reserve (size_type NumEntries)
 Grow the MapVector so that it can contain at least NumEntries items before resizing again.
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
bool empty () const
 
std::pair< KeyT, ValueT > & front ()
 
const std::pair< KeyT, ValueT > & front () const
 
std::pair< KeyT, ValueT > & back ()
 
const std::pair< KeyT, ValueT > & back () const
 
void clear ()
 
void swap (MapVector &RHS)
 
ValueToperator[] (const KeyT &Key)
 
ValueT lookup (const KeyT &Key) const
 
template<typename... Ts>
std::pair< iterator, booltry_emplace (const KeyT &Key, Ts &&...Args)
 
template<typename... Ts>
std::pair< iterator, booltry_emplace (KeyT &&Key, Ts &&...Args)
 
std::pair< iterator, boolinsert (const std::pair< KeyT, ValueT > &KV)
 
std::pair< iterator, boolinsert (std::pair< KeyT, ValueT > &&KV)
 
template<typename V >
std::pair< iterator, boolinsert_or_assign (const KeyT &Key, V &&Val)
 
template<typename V >
std::pair< iterator, boolinsert_or_assign (KeyT &&Key, V &&Val)
 
bool contains (const KeyT &Key) const
 
size_type count (const KeyT &Key) const
 
iterator find (const KeyT &Key)
 
const_iterator find (const KeyT &Key) const
 
void pop_back ()
 Remove the last element from the vector.
 
VectorType::iterator erase (typename VectorType::iterator Iterator)
 Remove the element given by Iterator.
 
size_type erase (const KeyT &Key)
 Remove all elements with the key value Key.
 
template<class Predicate >
void remove_if (Predicate Pred)
 Remove the elements that match the predicate.
 
template<class Function >
void remove_if (Function Pred)
 

Additional Inherited Members

- Public Types inherited from llvm::MapVector< KeyT, ValueT, MapType, VectorType >
using key_type = KeyT
 
using value_type = typename VectorType::value_type
 
using size_type = typename VectorType::size_type
 
using iterator = typename VectorType::iterator
 
using const_iterator = typename VectorType::const_iterator
 
using reverse_iterator = typename VectorType::reverse_iterator
 
using const_reverse_iterator = typename VectorType::const_reverse_iterator
 

Detailed Description

Definition at line 624 of file ScheduleDAGInstrs.cpp.

Constructor & Destructor Documentation

◆ Value2SUsMap()

llvm::ScheduleDAGInstrs::Value2SUsMap::Value2SUsMap ( unsigned  lat = 0)
inline

Definition at line 633 of file ScheduleDAGInstrs.cpp.

Member Function Documentation

◆ clear()

void llvm::ScheduleDAGInstrs::Value2SUsMap::clear ( )
inline

◆ clearList()

void llvm::ScheduleDAGInstrs::Value2SUsMap::clearList ( ValueType  V)
inline

◆ dump()

void llvm::ScheduleDAGInstrs::Value2SUsMap::dump ( )

Definition at line 1040 of file ScheduleDAGInstrs.cpp.

References llvm::dbgs(), dumpSUList(), and llvm_unreachable.

◆ getTrueMemOrderLatency()

unsigned llvm::ScheduleDAGInstrs::Value2SUsMap::getTrueMemOrderLatency ( ) const
inline

◆ insert()

void llvm::ScheduleDAGInstrs::Value2SUsMap::insert ( SUnit SU,
ValueType  V 
)
inline

Adds SU to the SUList of V.

If Map grows huge, reduce its size by calling reduce().

Definition at line 642 of file ScheduleDAGInstrs.cpp.

References llvm::MapVector< KeyT, ValueT, MapType, VectorType >::operator[]().

Referenced by llvm::ScheduleDAGInstrs::buildSchedGraph().

◆ operator[]()

ValueType & llvm::ScheduleDAGInstrs::Value2SUsMap::operator[] ( const SUList Key)
inline

To keep NumNodes up to date, insert() is used instead of this operator w/ push_back().

Definition at line 637 of file ScheduleDAGInstrs.cpp.

References llvm_unreachable.

◆ reComputeSize()

void llvm::ScheduleDAGInstrs::Value2SUsMap::reComputeSize ( )
inline

Counts the number of SUs in this map after a reduction.

Definition at line 667 of file ScheduleDAGInstrs.cpp.

References I.

Referenced by llvm::ScheduleDAGInstrs::insertBarrierChain().

◆ size()

unsigned llvm::ScheduleDAGInstrs::Value2SUsMap::size ( ) const
inline

Definition at line 664 of file ScheduleDAGInstrs.cpp.

Referenced by llvm::ScheduleDAGInstrs::buildSchedGraph().


The documentation for this class was generated from the following file: