LLVM  8.0.1
Public Member Functions | List of all members
llvm::ScheduleDAGInstrs::Value2SUsMap Class Reference
Inheritance diagram for llvm::ScheduleDAGInstrs::Value2SUsMap:
Inheritance graph
[legend]
Collaboration diagram for llvm::ScheduleDAGInstrs::Value2SUsMap:
Collaboration 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(). More...
 
void insert (SUnit *SU, ValueType V)
 Adds SU to the SUList of V. More...
 
void clearList (ValueType V)
 Clears the list of SUs mapped to V. More...
 
void clear ()
 Clears map from all contents. More...
 
unsigned size () const
 
void reComputeSize ()
 Counts the number of SUs in this map after a reduction. More...
 
unsigned getTrueMemOrderLatency () const
 
void dump ()
 
- Public Member Functions inherited from llvm::MapVector< ValueType, SUList >
std::vector< std::pair< ValueType, SUList >> takeVector ()
 Clear the MapVector and return the underlying vector. More...
 
size_type size () const
 
void reserve (size_type NumEntries)
 Grow the MapVector so that it can contain at least NumEntries items before resizing again. More...
 
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, boolinsert (const std::pair< ValueType, SUList > &KV)
 
std::pair< iterator, boolinsert (std::pair< ValueType, SUList > &&KV)
 
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. More...
 
std::vector< std::pair< ValueType, SUList >> ::iterator erase (typename std::vector< std::pair< ValueType, SUList >> ::iterator Iterator)
 Remove the element given by Iterator. More...
 
size_type erase (const ValueType &Key)
 Remove all elements with the key value Key. More...
 
void remove_if (Predicate Pred)
 Remove the elements that match the predicate. More...
 
void remove_if (Function Pred)
 

Additional Inherited Members

- Public Types inherited from llvm::MapVector< ValueType, SUList >
using value_type = typename std::vector< std::pair< ValueType, SUList >> ::value_type
 
using size_type = typename std::vector< std::pair< ValueType, SUList >> ::size_type
 
using iterator = typename std::vector< std::pair< ValueType, SUList >> ::iterator
 
using const_iterator = typename std::vector< std::pair< ValueType, SUList >> ::const_iterator
 
using reverse_iterator = typename std::vector< std::pair< ValueType, SUList >> ::reverse_iterator
 
using const_reverse_iterator = typename std::vector< std::pair< ValueType, SUList >> ::const_reverse_iterator
 

Detailed Description

Definition at line 589 of file ScheduleDAGInstrs.cpp.

Constructor & Destructor Documentation

◆ Value2SUsMap()

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

Definition at line 597 of file ScheduleDAGInstrs.cpp.

Member Function Documentation

◆ clear()

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

Clears map from all contents.

Definition at line 623 of file ScheduleDAGInstrs.cpp.

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

◆ clearList()

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

Clears the list of SUs mapped to V.

Definition at line 612 of file ScheduleDAGInstrs.cpp.

References assert(), llvm::ScheduleDAGInstrs::end(), and llvm::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 606 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 601 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 631 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: