|
OpenASIP 2.2
|
#include <ScheduleEstimator.hh>


Public Member Functions | |
| ScheduleEstimator (InterPassData &data) | |
| virtual void | handleControlFlowGraph (ControlFlowGraph &cfg, const TTAMachine::Machine &mach) override |
| virtual std::string | shortDescription () const |
Public Member Functions inherited from ControlFlowGraphPass | |
| ControlFlowGraphPass (InterPassData &data) | |
| virtual | ~ControlFlowGraphPass () |
| void | executeBasicBlockPass (ControlFlowGraph &cfg, const TTAMachine::Machine &targetMachine, BasicBlockPass &bbPass) |
Public Member Functions inherited from SchedulerPass | |
| SchedulerPass (InterPassData &data) | |
| virtual | ~SchedulerPass () |
| InterPassData & | interPassData () |
| virtual std::string | longDescription () const |
Static Public Member Functions | |
| static int | maximumSizeOfBB (TTAProgram::BasicBlock &bb, const TTAMachine::Machine &mach) |
Definition at line 46 of file ScheduleEstimator.hh.
|
inline |
Definition at line 49 of file ScheduleEstimator.hh.
|
overridevirtual |
Handles a single control flow graph.
The pass should work with any kind of control flow graph, it should not assume the CFG represents a whole procedure, for example.
| cfg | The control flow graph to handle. |
| machine | The target machine if any. (NullMachine::instance() if target machine is irrelevant). |
| In | case handling is unsuccesful for any reason (cfg might still get modified). |
Reimplemented from ControlFlowGraphPass.
Definition at line 85 of file ScheduleEstimator.cc.
References BasicBlockNode::basicBlock(), BasicBlockNode::isNormalBB(), BasicBlockNode::isScheduled(), maximumSizeOfBB(), BoostGraph< GraphNode, GraphEdge >::node(), BoostGraph< GraphNode, GraphEdge >::nodeCount(), and BasicBlockNode::setMaximumSize().
Referenced by BBSchedulerController::handleCFGDDG().

|
static |
Definition at line 49 of file ScheduleEstimator.cc.
References TTAMachine::Machine::controlUnit(), TTAMachine::ControlUnit::delaySlots(), TTAProgram::CodeSnippet::instructionCount(), MachineInfo::maxLatency(), Operation::name(), and MachineConnectivityCheck::tempRegisterFiles().
Referenced by handleControlFlowGraph().

|
inlinevirtual |
A short description of the pass, usually the optimization name, such as "basic block scheduler".
Implements SchedulerPass.
Definition at line 58 of file ScheduleEstimator.hh.