This class can compute a topological ordering for SUnits and provides methods for dynamically updating the ordering as new edges are added.
Synopsis
Declared in <llvm/CodeGen/ScheduleDAG.h>
class ScheduleDAGTopologicalSort;
Description
This allows a very fast implementation of IsReachable, for example.
Type Aliases
Name |
Description |
Const iterator over nodes in topological order. |
|
Const reverse iterator over nodes in topological order. |
|
Mutable iterator over nodes in topological order. |
|
Mutable reverse iterator over nodes in topological order. |
Member Functions
Name |
Description |
|
Construct a topological sort helper for |
Updates the topological ordering to accommodate an edge to be added from SUnit |
|
Queues an update to the topological ordering to accommodate an edge to be added from SUnit |
|
Add a SUnit without predecessors to the end of the topological order. It also must be the first new node added to the DAG. |
|
Returns SUs in both the successor and predecessor subtrees. |
|
Creates the initial topological ordering from the DAG to be scheduled. |
|
Checks if |
|
Mark the ordering as temporarily broken, after a new node has been added. |
|
Updates the topological ordering to accommodate an edge to be removed from the specified node |
|
Returns true if addPred(TargetSU, SU) creates a cycle. |
|
|
|
|
|
|
|
|
Created with MrDocs