LLVM: llvm::NodeSet Class Reference (original) (raw)

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](MachinePipeliner%5F8h%5Fsource.html)"

Public Member Functions
NodeSet ()=default
NodeSet (iterator S, iterator E, const SwingSchedulerDAG *DAG)
bool insert (SUnit *SU)
void insert (iterator S, iterator E)
template
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 481 of file MachinePipeliner.h.

iterator

NodeSet() [1/2]

llvm::NodeSet::NodeSet ( ) default

NodeSet() [2/2]

begin()

iterator llvm::NodeSet::begin ( ) inline

clear()

void llvm::NodeSet::clear ( ) inline

compareRecMII()

int llvm::NodeSet::compareRecMII ( NodeSet & RHS) inline

computeNodeSetInfo()

count()

dump()

empty()

bool llvm::NodeSet::empty ( ) const inline

end()

iterator llvm::NodeSet::end ( ) inline

getLatency()

unsigned llvm::NodeSet::getLatency ( ) inline

getMaxDepth()

unsigned llvm::NodeSet::getMaxDepth ( ) inline

getNode()

getRecMII()

int llvm::NodeSet::getRecMII ( ) inline

hasRecurrence()

bool llvm::NodeSet::hasRecurrence ( ) inline

insert() [1/2]

void llvm::NodeSet::insert ( iterator S, iterator E ) inline

insert() [2/2]

bool llvm::NodeSet::insert ( SUnit * SU) inline

isExceedSU()

bool llvm::NodeSet::isExceedSU ( SUnit * SU) inline

operator SetVector< SUnit * > &()

operator!=()

operator==()

operator>()

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 608 of file MachinePipeliner.h.

References NodeSet(), and RHS.

print()

remove_if()

template

bool llvm::NodeSet::remove_if ( UnaryPredicate P) inline

setColocate()

void llvm::NodeSet::setColocate ( unsigned c) inline

setExceedPressure()

void llvm::NodeSet::setExceedPressure ( SUnit * SU) inline

setRecMII()

void llvm::NodeSet::setRecMII ( unsigned mii) inline

size()

unsigned llvm::NodeSet::size ( ) const inline

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