LLVM 20.0.0git
|
A NodeSet contains a set of SUnit DAG nodes with additional information that assigns a priority to the set. More...
#include "llvm/CodeGen/MachinePipeliner.h"
Public Types | |
using | iterator = SetVector< SUnit * >::const_iterator |
Public Member Functions | |
NodeSet ()=default | |
NodeSet (iterator S, iterator E) | |
bool | insert (SUnit *SU) |
void | insert (iterator S, iterator E) |
template<typename UnaryPredicate > | |
bool | remove_if (UnaryPredicate P) |
unsigned | count (SUnit *SU) const |
bool | hasRecurrence () |
unsigned | size () const |
bool | empty () const |
SUnit * | getNode (unsigned i) const |
void | setRecMII (unsigned mii) |
void | setColocate (unsigned c) |
void | setExceedPressure (SUnit *SU) |
bool | isExceedSU (SUnit *SU) |
int | compareRecMII (NodeSet &RHS) |
int | getRecMII () |
void | computeNodeSetInfo (SwingSchedulerDAG *SSD) |
Summarize node functions for the entire node set. | |
unsigned | getLatency () |
unsigned | getMaxDepth () |
void | clear () |
operator SetVector< SUnit * > & () | |
bool | operator> (const NodeSet &RHS) const |
Sort the node sets by importance. | |
bool | operator== (const NodeSet &RHS) const |
bool | operator!= (const NodeSet &RHS) const |
iterator | begin () |
iterator | end () |
void | print (raw_ostream &os) const |
LLVM_DUMP_METHOD void | dump () const |
A NodeSet contains a set of SUnit DAG nodes with additional information that assigns a priority to the set.
Definition at line 328 of file MachinePipeliner.h.
Definition at line 339 of file MachinePipeliner.h.
|
default |
Definition at line 342 of file MachinePipeliner.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), llvm::SDep::getLatency(), llvm::SDep::getSUnit(), and llvm::Latency.
|
inline |
Definition at line 438 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set, N >::begin().
|
inline |
Definition at line 404 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set, N >::clear().
|
inline |
Definition at line 388 of file MachinePipeliner.h.
References RHS.
|
inline |
Summarize node functions for the entire node set.
Definition at line 393 of file MachinePipeliner.h.
References llvm::SwingSchedulerDAG::getDepth(), and llvm::SwingSchedulerDAG::getMOV().
Definition at line 370 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set, N >::count().
Referenced by llvm::rdf::Liveness::computePhiInfo(), and isIntersect().
LLVM_DUMP_METHOD void NodeSet::dump | ( | ) | const |
Definition at line 3486 of file MachinePipeliner.cpp.
References llvm::dbgs(), and print().
|
inline |
Definition at line 376 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set, N >::empty().
|
inline |
Definition at line 439 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set, N >::end().
|
inline |
Definition at line 400 of file MachinePipeliner.h.
References llvm::Latency.
|
inline |
Definition at line 402 of file MachinePipeliner.h.
Definition at line 378 of file MachinePipeliner.h.
|
inline |
Definition at line 390 of file MachinePipeliner.h.
|
inline |
Definition at line 372 of file MachinePipeliner.h.
Definition at line 364 of file MachinePipeliner.h.
References E, and llvm::SetVector< T, Vector, Set, N >::insert().
Definition at line 362 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set, N >::insert().
Referenced by llvm::rdf::Liveness::computeLiveIns(), llvm::rdf::Liveness::computePhiInfo(), and nodes_for_root().
Definition at line 386 of file MachinePipeliner.h.
Definition at line 414 of file MachinePipeliner.h.
Definition at line 436 of file MachinePipeliner.h.
References operator==(), and RHS.
Sort the node sets by importance.
First, rank them by recurrence MII, then by mobility (least mobile done first), and finally by depth. Each node set may contain a colocate value which is used as the first tie breaker, if it's set.
Definition at line 420 of file MachinePipeliner.h.
References RHS.
void NodeSet::print | ( | raw_ostream & | os | ) | const |
Definition at line 3460 of file MachinePipeliner.cpp.
Referenced by dump().
|
inline |
Definition at line 366 of file MachinePipeliner.h.
References P, and llvm::SetVector< T, Vector, Set, N >::remove_if().
|
inline |
Definition at line 382 of file MachinePipeliner.h.
|
inline |
Definition at line 384 of file MachinePipeliner.h.
|
inline |
Definition at line 380 of file MachinePipeliner.h.
|
inline |
Definition at line 374 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set, N >::size().
Referenced by print().