LLVM
8.0.1
|
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. More... | |
unsigned | getLatency () |
unsigned | getMaxDepth () |
void | clear () |
operator SetVector< SUnit * > & () | |
bool | operator> (const NodeSet &RHS) const |
Sort the node sets by importance. More... | |
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 353 of file MachinePipeliner.h.
using llvm::NodeSet::iterator = SetVector<SUnit *>::const_iterator |
Definition at line 364 of file MachinePipeliner.h.
|
default |
Definition at line 367 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set >::count(), and llvm::SetVector< T, Vector, Set >::size().
|
inline |
Definition at line 451 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set >::begin().
Referenced by node_eq().
|
inline |
Definition at line 417 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set >::clear().
Referenced by computeLiveOuts().
|
inline |
Definition at line 401 of file MachinePipeliner.h.
Referenced by computeLiveOuts(), and isIntersect().
|
inline |
Summarize node functions for the entire node set.
Definition at line 406 of file MachinePipeliner.h.
References llvm::SwingSchedulerDAG::getDepth(), llvm::SwingSchedulerDAG::getMOV(), and llvm::max().
Definition at line 383 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set >::count().
Referenced by isIntersect().
LLVM_DUMP_METHOD void NodeSet::dump | ( | ) | const |
Definition at line 3739 of file MachinePipeliner.cpp.
References llvm::dbgs(), and llvm::Pass::print().
|
inline |
Definition at line 389 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set >::empty().
Referenced by computeLiveOuts(), and node_eq().
|
inline |
Definition at line 452 of file MachinePipeliner.h.
References llvm::Pass::dump(), llvm::SetVector< T, Vector, Set >::end(), LLVM_DUMP_METHOD, and llvm::Pass::print().
Referenced by node_eq().
|
inline |
Definition at line 413 of file MachinePipeliner.h.
References llvm::Latency.
|
inline |
Definition at line 415 of file MachinePipeliner.h.
References MaxDepth.
Definition at line 391 of file MachinePipeliner.h.
Referenced by isIntersect().
|
inline |
Definition at line 403 of file MachinePipeliner.h.
Referenced by isIntersect().
|
inline |
Definition at line 385 of file MachinePipeliner.h.
Definition at line 375 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set >::insert().
Referenced by computeLiveOuts(), node_eq(), and nodes_for_root().
Definition at line 377 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set >::insert().
Definition at line 399 of file MachinePipeliner.h.
Definition at line 427 of file MachinePipeliner.h.
Definition at line 449 of file MachinePipeliner.h.
References llvm::operator==().
Definition at line 444 of file MachinePipeliner.h.
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 433 of file MachinePipeliner.h.
void NodeSet::print | ( | raw_ostream & | os | ) | const |
Definition at line 3713 of file MachinePipeliner.cpp.
References I, MaxDepth, and llvm::size().
|
inline |
Definition at line 379 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set >::remove_if().
|
inline |
Definition at line 395 of file MachinePipeliner.h.
Referenced by computeLiveOuts().
|
inline |
Definition at line 397 of file MachinePipeliner.h.
|
inline |
Definition at line 393 of file MachinePipeliner.h.
Referenced by isIntersect().
|
inline |
Definition at line 387 of file MachinePipeliner.h.
References llvm::SetVector< T, Vector, Set >::size().