OpenASIP
2.0
|
#include <ControlDependenceGraphPass.hh>
Public Member Functions | |
ControlDependenceGraphPass (InterPassData &data) | |
virtual | ~ControlDependenceGraphPass () |
virtual void | handleControlDependenceGraph (ControlDependenceGraph &cdg, const TTAMachine::Machine &targetMachine)=0 |
Public Member Functions inherited from SchedulerPass | |
SchedulerPass (InterPassData &data) | |
virtual | ~SchedulerPass () |
InterPassData & | interPassData () |
virtual std::string | shortDescription () const =0 |
virtual std::string | longDescription () const |
Interface for scheduler passes that handle control dependence graphs.
Definition at line 55 of file ControlDependenceGraphPass.hh.
ControlDependenceGraphPass::ControlDependenceGraphPass | ( | InterPassData & | data | ) |
Constructor.
Definition at line 47 of file ControlDependenceGraphPass.cc.
|
virtual |
|
pure virtual |
Handles a single control dependence graph.
The pass should work with any kind of control dependence graph, it should not assume the CDG represents a whole procedure, for example.
cdg | The control dependence graph to handle. |
machine | The target machine if any. (NullMachine::instance() if target machine is irrelevant). |
In | case handling is unsuccesful for any reason (cdg might still get modified). |
Definition at line 70 of file ControlDependenceGraphPass.cc.
References __func__, ControlDependenceGraph::analyzeCDG(), Exception::errorMessageStack(), TTAMachine::Machine::machineTester(), and BoostGraph< GraphNode, GraphEdge >::nodeCount().