class SwingSchedulerDAG::Circuits
Declaration
class SwingSchedulerDAG::Circuits { /* full declaration omitted */ };
Description
Helper class to implement Johnson's circuit finding algorithm.
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:160
Method Overview
- public Circuits(std::vector<SUnit> & SUs, llvm::ScheduleDAGTopologicalSort & Topo)
- public bool circuit(int V, int S, llvm::SwingSchedulerDAG::NodeSetType & NodeSets, bool HasBackedge = false)
- public void createAdjacencyStructure(llvm::SwingSchedulerDAG * DAG)
- public void reset()
- public void unblock(int U)
- public ~Circuits()
Methods
¶Circuits(std::vector<SUnit>& SUs,
llvm::ScheduleDAGTopologicalSort& Topo)
Circuits(std::vector<SUnit>& SUs,
llvm::ScheduleDAGTopologicalSort& Topo)
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:172
Parameters
- std::vector<SUnit>& SUs
- llvm::ScheduleDAGTopologicalSort& Topo
¶bool circuit(int V,
int S,
llvm::SwingSchedulerDAG::NodeSetType&
NodeSets,
bool HasBackedge = false)
bool circuit(int V,
int S,
llvm::SwingSchedulerDAG::NodeSetType&
NodeSets,
bool HasBackedge = false)
Description
Identify an elementary circuit in the dependence graph starting at the specified node.
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:191
Parameters
- int V
- int S
- llvm::SwingSchedulerDAG::NodeSetType& NodeSets
- bool HasBackedge = false
¶void createAdjacencyStructure(
llvm::SwingSchedulerDAG* DAG)
void createAdjacencyStructure(
llvm::SwingSchedulerDAG* DAG)
Description
Create the adjacency structure of the nodes in the graph.
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:190
Parameters
¶void reset()
void reset()
Description
Reset the data structures used in the circuit algorithm.
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:183
¶void unblock(int U)
void unblock(int U)
Description
Unblock a node in the circuit finding algorithm.
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:192
Parameters
- int U
¶~Circuits()
~Circuits()
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:180