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< ValueType, SUList >
SmallVector< std::pair< ValueType, SUList >, 0 > 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< ValueType, SUList > & front ()
 
const std::pair< ValueType, SUList > & front () const
 
std::pair< ValueType, SUList > & back ()
 
const std::pair< ValueType, SUList > & back () const
 
void clear ()
 
void swap (MapVector &RHS)
 
SUList & operator[] (const ValueType &Key)
 
SUList lookup (const ValueType &Key) const
 
std::pair< iterator, booltry_emplace (const ValueType &Key, Ts &&...Args)
 
std::pair< iterator, booltry_emplace (ValueType &&Key, Ts &&...Args)
 
std::pair< iterator, boolinsert (const std::pair< ValueType, SUList > &KV)
 
std::pair< iterator, boolinsert (std::pair< ValueType, SUList > &&KV)
 
std::pair< iterator, boolinsert_or_assign (const ValueType &Key, V &&Val)
 
std::pair< iterator, boolinsert_or_assign (ValueType &&Key, V &&Val)
 
bool contains (const ValueType &Key) const
 
size_type count (const ValueType &Key) const
 
iterator find (const ValueType &Key)
 
const_iterator find (const ValueType &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 ValueType &Key)
 Remove all elements with the key value Key.
 
void remove_if (Predicate Pred)
 Remove the elements that match the predicate.
 
void remove_if (Function Pred)
 

Additional Inherited Members

- Public Types inherited from llvm::MapVector< ValueType, SUList >
using key_type = ValueType
 
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 632 of file ScheduleDAGInstrs.cpp.

Member Function Documentation

◆ clear()

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

Clears map from all contents.

Definition at line 658 of file ScheduleDAGInstrs.cpp.

References llvm::MapVector< KeyT, ValueT, MapType, VectorType >::clear().

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

◆ clearList()

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

Clears the list of SUs mapped to V.

Definition at line 647 of file ScheduleDAGInstrs.cpp.

References assert(), llvm::MapVector< ValueType, SUList >::end(), and llvm::MapVector< ValueType, SUList >::find().

◆ dump()

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

◆ 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 641 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 636 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 666 of file ScheduleDAGInstrs.cpp.

References I.

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

◆ size()

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

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