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

Compute the values of each DAG node for various metrics during DFS. More...

#include "[llvm/CodeGen/ScheduleDFS.h](ScheduleDFS%5F8h%5Fsource.html)"

Public Member Functions
SchedDFSResult (bool IsBU, unsigned lim)
unsigned getSubtreeLimit () const
Get the node cutoff before subtrees are considered significant.
bool empty () const
Return true if this DFSResult is uninitialized.
void clear ()
Clear the results.
void resize (unsigned NumSUnits)
Initialize the result data with the size of the DAG.
void compute (ArrayRef< SUnit > SUnits)
Compute various metrics for the DAG with given roots.
unsigned getNumInstrs (const SUnit *SU) const
Get the number of instructions in the given subtree and its children.
unsigned getNumSubInstrs (unsigned SubtreeID) const
Get the number of instructions in the given subtree not including children.
ILPValue getILP (const SUnit *SU) const
Get the ILP value for a DAG node.
unsigned getNumSubtrees () const
The number of subtrees detected in this DAG.
unsigned getSubtreeID (const SUnit *SU) const
Get the ID of the subtree the given DAG node belongs to.
unsigned getSubtreeLevel (unsigned SubtreeID) const
Get the connection level of a subtree.
void scheduleTree (unsigned SubtreeID)
Scheduler callback to update SubtreeConnectLevels when a tree is initially scheduled.
Friends
class SchedDFSImpl

Compute the values of each DAG node for various metrics during DFS.

Definition at line 65 of file ScheduleDFS.h.

llvm::SchedDFSResult::SchedDFSResult ( bool IsBU, unsigned lim ) inline

clear()

void llvm::SchedDFSResult::clear ( ) inline

compute()

empty()

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

Return true if this DFSResult is uninitialized.

resize() initializes DFSResult, while compute() populates it.

Definition at line 125 of file ScheduleDFS.h.

Referenced by getSubtreeID().

getILP()

getNumInstrs()

getNumSubInstrs()

unsigned llvm::SchedDFSResult::getNumSubInstrs ( unsigned SubtreeID) const inline

Get the number of instructions in the given subtree not including children.

Definition at line 151 of file ScheduleDFS.h.

getNumSubtrees()

unsigned llvm::SchedDFSResult::getNumSubtrees ( ) const inline

The number of subtrees detected in this DAG.

Definition at line 163 of file ScheduleDFS.h.

getSubtreeID()

getSubtreeLevel()

unsigned llvm::SchedDFSResult::getSubtreeLevel ( unsigned SubtreeID) const inline

Get the connection level of a subtree.

For bottom-up trees, the connection level is the latency depth (in cycles) of the deepest connection to another subtree.

Definition at line 180 of file ScheduleDFS.h.

getSubtreeLimit()

unsigned llvm::SchedDFSResult::getSubtreeLimit ( ) const inline

Get the node cutoff before subtrees are considered significant.

Definition at line 120 of file ScheduleDFS.h.

resize()

void llvm::SchedDFSResult::resize ( unsigned NumSUnits) inline

Initialize the result data with the size of the DAG.

Definition at line 136 of file ScheduleDFS.h.

scheduleTree()

void SchedDFSResult::scheduleTree ( unsigned SubtreeID )

Scheduler callback to update SubtreeConnectLevels when a tree is initially scheduled.

The root of the given SubtreeID was just scheduled.

For all subtrees connected to this tree, record the depth of the connection so that the nearest connected subtrees can be prioritized.

Definition at line 1532 of file ScheduleDAGInstrs.cpp.

References llvm::CallingConv::C, llvm::dbgs(), and LLVM_DEBUG.

SchedDFSImpl


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