Otawa
0.10
|
#include <otawa/exegraph/ParamExeGraph.h>
Public Member Functions | |
ParamExeNode (ExeGraph< ParamExeNode > *graph, PipelineStage< ParamExeNode > *stage, ExeInst< ParamExeNode > *inst) | |
elm::genstruct::SLList < elm::BitVector * > * | contendersMasksList () |
elm::BitVector * | possibleContenders () |
int | lateContenders () |
void | setLateContenders (int num) |
void | initContenders (int size) |
bool | isContender (int index) |
void | setContender (int index) |
int | contendersNumber () |
void | buildContendersMasks () |
void | addConflict (ParamExeGraph::InternalConflictResource *conflict) |
elm::genstruct::SLList < ParamExeGraph::InternalConflictResource * > * | conflictList () |
void | setStageNumber (int number) |
int | stageNumber () |
bool | hasContenders () |
int | d (int index, ExeGraph< ParamExeNode >::time_bound_t bound) |
int | d (int index) |
bool | e (int index) |
void | setD (int index, int value, ExeGraph< ParamExeNode >::time_bound_t bound) |
void | setD (int index, int value) |
void | setE (int index, bool value) |
int | maxContentionDelay () |
void | setMaxContentionDelay (int value) |
int | minContentionDelay () |
void | setMinContentionDelay (int value) |
int | delay (int index, ExeGraph< ParamExeNode >::time_bound_t bound) |
bool | contentionDep (int index) |
int | internalDelay (ExeGraph< ParamExeNode >::time_bound_t bound) |
int | contentionDelay (ExeGraph< ParamExeNode >::time_bound_t bound) |
void | setDelay (int index, ExeGraph< ParamExeNode >::time_bound_t bound, int delay) |
void | setContentionDep (int index) |
void | setInternalDelay (ExeGraph< ParamExeNode >::time_bound_t bound, int delay) |
void | setContentionDelay (ExeGraph< ParamExeNode >::time_bound_t bound, int delay) |
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 | |
ParamExeGraph * | _graph |
elm::genstruct::AllocatedTable < int > * | _d [ExeGraph< ParamExeNode >::BOUNDS] |
int | _max_contention_delay |
int | _min_contention_delay |
int | _stage_number |
elm::genstruct::AllocatedTable < bool > * | _contention_dep |
elm::genstruct::AllocatedTable < int > * | _delay [ExeGraph< ParamExeNode >::BOUNDS] |
int | _internal_delay [ExeGraph< ParamExeNode >::BOUNDS] |
int | _contention_delay [ExeGraph< ParamExeNode >::BOUNDS] |
elm::genstruct::SLList < ParamExeGraph::InternalConflictResource * > | _contenders_list |
elm::BitVector * | _possible_contenders |
elm::genstruct::SLList < elm::BitVector * > | _contenders_masks_list |
int | _late_contenders |
|
inline |
|
inline |
References _contenders_list.
|
inlineinherited |
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().
void ParamExeNode::buildContendersMasks | ( | ) |
|
inline |
References _contenders_list.
|
inlineinherited |
References otawa::ExeGraph< N >::ExeNode::_contenders.
|
inline |
References _contenders_masks_list.
Referenced by otawa::ParamExeGraph::Delta().
|
inline |
References _possible_contenders, and elm::BitVector::countBits().
|
inline |
References _contention_delay.
|
inline |
References _contention_dep, and otawa::GenGraph< N, E >::GenNode::index().
|
inlineinherited |
References otawa::graph::Node::countPred().
|
inlineinherited |
References otawa::graph::Node::countSucc().
|
inline |
References _d, and otawa::GenGraph< N, E >::GenNode::index().
Referenced by otawa::ParamExeGraph::cost(), and otawa::ParamExeGraph::Delta().
|
inline |
References _d, and otawa::GenGraph< N, E >::GenNode::index().
|
inline |
References _delay, and otawa::GenGraph< N, E >::GenNode::index().
Referenced by setContentionDelay(), and setInternalDelay().
|
inline |
References _d.
Referenced by otawa::ParamExeGraph::cost(), and otawa::ParamExeGraph::Delta().
|
inline |
|
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 contentionDep(), otawa::ParamExeGraph::cost(), d(), delay(), otawa::ParExeNode::delay(), otawa::ParExeNode::producer(), setContentionDep(), otawa::ParExeNode::setDelay(), and setE().
|
inline |
References _possible_contenders.
|
inlineinherited |
References otawa::ExeGraph< N >::ExeNode::_inst.
Referenced by otawa::ParamExeGraph::analyzeContentions(), otawa::LiExeGraph::maxTimeToNode(), otawa::LiExeGraph::nodeEarliestTimes(), and otawa::LiExeGraph::nodeLatestTimes().
|
inline |
References _internal_delay.
|
inline |
References _possible_contenders.
|
inlineinherited |
References otawa::graph::Node::countPred().
|
inlineinherited |
References otawa::graph::Node::isSuccOf().
|
inline |
References _late_contenders.
Referenced by otawa::ParamExeGraph::Delta().
|
inlineinherited |
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().
|
inlineinherited |
bound | A time bound (MIN or MAX). |
References otawa::ExeGraph< N >::ExeNode::_latency.
|
inline |
References _max_contention_delay.
|
inline |
References _min_contention_delay.
|
inlineinherited |
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().
|
inlineinherited |
References otawa::ExeGraph< N >::ExeNode::_needs_operands.
|
inlineinherited |
References otawa::ExeGraph< N >::ExeNode::_pipeline_stage.
Referenced by otawa::ParamExeGraph::Delta(), otawa::LiExeGraph::nodeEarliestTimes(), otawa::LiExeGraph::nodeLatestTimes(), and ParamExeNode().
|
inline |
References _possible_contenders.
|
inlineinherited |
References otawa::ExeGraph< N >::ExeNode::_produces_operands.
|
inline |
References _possible_contenders, and elm::BitVector::set().
|
inline |
References _contention_delay, _graph, delay(), and otawa::ParamExeGraph::setTimesChanged().
|
inline |
References otawa::GenGraph< N, E >::GenNode::index().
|
inline |
References _d.
|
inline |
References _d.
|
inline |
References _delay, _graph, and otawa::ParamExeGraph::setTimesChanged().
|
inline |
References _d, and otawa::GenGraph< N, E >::GenNode::index().
Referenced by otawa::ParamExeGraph::initDelays().
|
inline |
References _graph, _internal_delay, delay(), and otawa::ParamExeGraph::setTimesChanged().
|
inline |
References _late_contenders.
|
inlineinherited |
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 |
References _max_contention_delay.
|
inline |
References _min_contention_delay.
|
inlineinherited |
Sets whether the node depends on input operands.
References otawa::ExeGraph< N >::ExeNode::_needs_operands.
|
inlineinherited |
Sets whether the node produces output operands.
References otawa::ExeGraph< N >::ExeNode::_produces_operands.
|
inline |
References _stage_number.
|
inline |
References _stage_number.
|
protectedinherited |
|
private |
Referenced by addConflict(), and conflictList().
|
private |
Referenced by buildContendersMasks(), and contendersMasksList().
|
private |
Referenced by contentionDelay(), ParamExeNode(), and setContentionDelay().
|
private |
Referenced by contentionDep(), and ParamExeNode().
|
private |
Referenced by d(), e(), ParamExeNode(), setD(), and setE().
|
private |
Referenced by delay(), ParamExeNode(), and setDelay().
|
private |
Referenced by ParamExeNode(), setContentionDelay(), setDelay(), and setInternalDelay().
|
private |
Referenced by internalDelay(), ParamExeNode(), and setInternalDelay().
|
private |
Referenced by lateContenders(), and setLateContenders().
|
private |
Referenced by maxContentionDelay(), ParamExeNode(), and setMaxContentionDelay().
|
private |
Referenced by minContentionDelay(), ParamExeNode(), and setMinContentionDelay().
|
private |
Referenced by buildContendersMasks(), contendersNumber(), initContenders(), isContender(), possibleContenders(), and setContender().
|
private |
Referenced by setStageNumber(), and stageNumber().