OpenASIP
2.0
|
#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.