LLVM  4.0.0
Public Member Functions | List of all members
llvm::ScheduleDAGInstrs::Value2SUsMap Class Reference
Inheritance diagram for llvm::ScheduleDAGInstrs::Value2SUsMap:
[legend]
Collaboration diagram for llvm::ScheduleDAGInstrs::Value2SUsMap:
[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)
 Add 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 (void)
 Count 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
 
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...
 

Additional Inherited Members

- Public Types inherited from llvm::MapVector< ValueType, SUList >
typedef std::vector< std::pair
< ValueType, SUList >
>::iterator 
iterator
 
typedef std::vector< std::pair
< ValueType, SUList >
>::const_iterator 
const_iterator
 
typedef std::vector< std::pair
< ValueType, SUList >
>::reverse_iterator 
reverse_iterator
 
typedef std::vector< std::pair
< ValueType, SUList >
>::const_reverse_iterator 
const_reverse_iterator
 

Detailed Description

Definition at line 684 of file ScheduleDAGInstrs.cpp.

Constructor & Destructor Documentation

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

Definition at line 693 of file ScheduleDAGInstrs.cpp.

Member Function Documentation

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

Clears map from all contents.

Definition at line 719 of file ScheduleDAGInstrs.cpp.

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

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

Clears the list of SUs mapped to V.

Definition at line 708 of file ScheduleDAGInstrs.cpp.

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

void llvm::ScheduleDAGInstrs::Value2SUsMap::dump ( void  )
unsigned llvm::ScheduleDAGInstrs::Value2SUsMap::getTrueMemOrderLatency ( ) const
inline
void llvm::ScheduleDAGInstrs::Value2SUsMap::insert ( SUnit SU,
ValueType  V 
)
inline

Add SU to the SUList of V.

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

Definition at line 702 of file ScheduleDAGInstrs.cpp.

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

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

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 697 of file ScheduleDAGInstrs.cpp.

References llvm_unreachable.

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

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

Definition at line 727 of file ScheduleDAGInstrs.cpp.

References I.

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

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

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