Otawa
0.10
|
#include <otawa/exegraph/ExeGraph.h>
Classes | |
class | ContenderIterator |
Public Member Functions | |
ExeNode (ExeGraph< N > *graph, PipelineStage< N > *stage, ExeInst< N > *inst) | |
Constructor. More... | |
PipelineStage< N > * | pipelineStage (void) |
ExeInst< N > * | inst (void) |
int | latency () |
int | latency (time_bound_t bound) |
void | setLatency (time_bound_t bound, int latency) |
bool | needsOperands (void) |
void | setNeedsOperands (bool val) |
Sets whether the node depends on input operands. More... | |
bool | producesOperands (void) |
void | setProducesOperands (bool val) |
Sets whether the node produces output operands. More... | |
void | addContender (N *cont) |
Adds a contender to the lists of contenders for the node. More... | |
elm::genstruct::Vector< N * > * | contenders () |
elm::String | name () |
Returns the name of the node, composed of the name of the pipeline stage and the name of the instruction (e.g. More... | |
int | index (void) const |
bool | hasSucc (void) const |
bool | hasPred (void) const |
int | countSucc (void) const |
int | countPred (void) const |
bool | isPredOf (const GenNode *node) |
bool | isSuccOf (const GenNode *node) |
Protected Attributes | |
elm::genstruct::Vector< N * > | _contenders |
Private Attributes | |
ExeInst< N > * | _inst |
PipelineStage< N > * | _pipeline_stage |
int | _latency [BOUNDS] |
bool | _needs_operands |
bool | _produces_operands |
elm::String | _name |
|
inline |
Constructor.
graph | The execution graph the node is attached to. |
stage | The pipeline stage the node is related to. |
inst | The instruction the node is related to. |
References otawa::ExeGraph< N >::ExeNode::_latency, otawa::ExeGraph< N >::ExeNode::_name, otawa::ExeInst< N >::index(), otawa::ExeGraph< N >::MAX, otawa::PipelineStage< N >::maxLatency(), otawa::ExeGraph< N >::MIN, otawa::PipelineStage< N >::minLatency(), otawa::PipelineStage< N >::shortName(), and elm::StringBuffer::toString().
|
inline |
Adds a contender to the lists of contenders for the node.
cont | The new contender for the node. |
References otawa::ExeGraph< N >::ExeNode::_contenders, and elm::genstruct::Vector< T >::add().
|
inline |
References otawa::ExeGraph< N >::ExeNode::_contenders.
|
inlineinherited |
References otawa::graph::Node::countPred().
|
inlineinherited |
References otawa::graph::Node::countSucc().
|
inlineinherited |
References otawa::graph::Node::hasPred().
Referenced by otawa::LiExeGraph::shadeNodes().
|
inlineinherited |
References otawa::graph::Node::hasSucc().
|
inlineinherited |
References otawa::graph::Node::index().
Referenced by otawa::ParamExeNode::contentionDep(), otawa::ParamExeGraph::cost(), otawa::ParamExeNode::d(), otawa::ParamExeNode::delay(), otawa::ParExeNode::delay(), otawa::ParExeNode::producer(), otawa::ParamExeNode::setContentionDep(), otawa::ParExeNode::setDelay(), and otawa::ParamExeNode::setE().
|
inline |
References otawa::ExeGraph< N >::ExeNode::_inst.
Referenced by otawa::ParamExeGraph::analyzeContentions(), otawa::LiExeGraph::maxTimeToNode(), otawa::LiExeGraph::nodeEarliestTimes(), and otawa::LiExeGraph::nodeLatestTimes().
|
inlineinherited |
References otawa::graph::Node::countPred().
|
inlineinherited |
References otawa::graph::Node::isSuccOf().
|
inline |
References otawa::ExeGraph< N >::ExeNode::_latency, and otawa::ExeGraph< N >::MIN.
Referenced by otawa::LiExeGraph::analyze(), otawa::ParamExeGraph::Delta(), otawa::LiExeGraph::latestTimes(), otawa::LiExeGraph::maxTimeToNode(), otawa::LiExeGraph::nodeEarliestTimes(), otawa::LiExeGraph::nodeLatestTimes(), and otawa::ExeGraph< N >::ExeNode::setLatency().
|
inline |
bound | A time bound (MIN or MAX). |
References otawa::ExeGraph< N >::ExeNode::_latency.
|
inline |
Returns the name of the node, composed of the name of the pipeline stage and the name of the instruction (e.g.
"CM(I8)").
References otawa::ExeGraph< N >::ExeNode::_name.
Referenced by otawa::ParamExeGraph::Delta().
|
inline |
References otawa::ExeGraph< N >::ExeNode::_needs_operands.
|
inline |
References otawa::ExeGraph< N >::ExeNode::_pipeline_stage.
Referenced by otawa::ParamExeGraph::Delta(), otawa::LiExeGraph::nodeEarliestTimes(), otawa::LiExeGraph::nodeLatestTimes(), and otawa::ParamExeNode::ParamExeNode().
|
inline |
References otawa::ExeGraph< N >::ExeNode::_produces_operands.
|
inline |
bound | A time bound (MIN or MAX). |
latency | The new value of the latency. |
References otawa::ExeGraph< N >::ExeNode::_latency, and otawa::ExeGraph< N >::ExeNode::latency().
|
inline |
Sets whether the node depends on input operands.
References otawa::ExeGraph< N >::ExeNode::_needs_operands.
|
inline |
Sets whether the node produces output operands.
References otawa::ExeGraph< N >::ExeNode::_produces_operands.
|
protected |
|
private |
Referenced by otawa::ExeGraph< N >::ExeNode::inst().
|
private |
|
private |
Referenced by otawa::ExeGraph< N >::ExeNode::ExeNode(), and otawa::ExeGraph< N >::ExeNode::name().
|
private |
|
private |
Referenced by otawa::ExeGraph< N >::ExeNode::pipelineStage().
|
private |