Otawa
0.10
|
OTAWA provides many code processors supporting IPET approach: More...
Functions | |
Identifier< ot::time > | otawa::ipet::TIME ("otawa::ipet::TIME",-1, idLabel("time"), idDesc("execution time (in cycles)"), 0) |
This identifier is used for storing the time of execution in cycles (int) of the program area it applies to. More... | |
Identifier< ilp::Var * > | otawa::ipet::VAR ("otawa::ipet::VAR", 0, idLabel("variable"), idDesc("variable in ILP system for IPET resolution"), 0) |
This identifier is used for storing in basic blocks and edges the variables (otawa::ilp::Var *) used in ILP resolution. More... | |
Identifier< ot::time > | otawa::ipet::WCET ("otawa::ipet::WCET",-1, idLabel("WCET"), idDesc("WCET (in cycles)"), 0) |
Identifier of annotation used for storing for storing the WCET value (int) in the CFG of the computed function. More... | |
Identifier< bool > | otawa::ipet::EXPLICIT ("otawa::ipet::EXPLICIT", false) |
Identifier of a boolean property requiring that explicit names must be used. More... | |
Identifier< ot::time > | otawa::ipet::TIME_DELTA ("otawa::ipet::TIME_DELTA", 0, idLabel("time delta"), idDesc("time fix for an edge traversal (in cycles)"), 0) |
This property is used to store time delta on edges. More... | |
Identifier< int > | otawa::ipet::COUNT ("otawa::ipet::COUNT",-1, idLabel("execution count"), idDesc("execution count in WCET"), 0) |
This property is put on basic blocks and edge to record the execution count of these object on the WCET path. More... | |
Feature< NoProcessor > | otawa::ipet::INTERBLOCK_SUPPORT_FEATURE ("otawa::ipet::INTERBLOCK_SUPPORT_FEATURE") |
This feature ensures that effects of the inter-block have been modelized in the current ILP system. More... | |
Variables | |
Identifier< ot::time > | otawa::ipet::TIME |
This identifier is used for storing the time of execution in cycles (int) of the program area it applies to. More... | |
Identifier< ilp::Var * > | otawa::ipet::VAR |
This identifier is used for storing in basic blocks and edges the variables (otawa::ilp::Var *) used in ILP resolution. More... | |
Identifier< ot::time > | otawa::ipet::WCET |
Identifier of annotation used for storing for storing the WCET value (int) in the CFG of the computed function. More... | |
Identifier< bool > | otawa::ipet::EXPLICIT |
Identifier of a boolean property requiring that explicit names must be used. More... | |
Identifier< ot::time > | otawa::ipet::TIME_DELTA |
This property is used to store time delta on edges. More... | |
Identifier< int > | otawa::ipet::COUNT |
This property is put on basic blocks and edge to record the execution count of these object on the WCET path. More... | |
Feature< NoProcessor > | otawa::ipet::INTERBLOCK_SUPPORT_FEATURE |
This feature ensures that effects of the inter-block have been modelized in the current ILP system. More... | |
OTAWA provides many code processors supporting IPET approach:
Some processors are dedicated to pipeline-level analyses:
Some processors are dedicated to cache analyses:
These processors interacts using the following properties:
Identifier<int> otawa::ipet::COUNT | ( | "otawa::ipet::COUNT" | , |
- | 1, | ||
idLabel("execution count") | , | ||
idDesc("execution count in WCET") | , | ||
0 | |||
) |
This property is put on basic blocks and edge to record the execution count of these object on the WCET path.
Identifier<bool> otawa::ipet::EXPLICIT | ( | "otawa::ipet::EXPLICIT" | , |
false | |||
) |
Identifier of a boolean property requiring that explicit names must be used.
The generation of explicit names for variables may be time-consuming and must only be activated for debugging purposes.
Feature<NoProcessor> otawa::ipet::INTERBLOCK_SUPPORT_FEATURE | ( | "otawa::ipet::INTERBLOCK_SUPPORT_FEATURE" | ) |
This feature ensures that effects of the inter-block have been modelized in the current ILP system.
Currently, there is no default processor to get it cause the heterogeneity of solutions to this problem.
Identifier<ot::time> otawa::ipet::TIME | ( | "otawa::ipet::TIME" | , |
- | 1, | ||
idLabel("time") | , | ||
idDesc("execution time (in cycles)") | , | ||
0 | |||
) |
This identifier is used for storing the time of execution in cycles (int) of the program area it applies to.
Identifier<ot::time> otawa::ipet::TIME_DELTA | ( | "otawa::ipet::TIME_DELTA" | , |
0 | , | ||
idLabel("time delta") | , | ||
idDesc("time fix for an edge traversal (in cycles)") | , | ||
0 | |||
) |
This property is used to store time delta on edges.
This time may be used to improve accuracy of the IPET system with a time modifier based on edges (use the TimeDeltaObjectFunctionModifier to add time deltas to the object function).
Identifier<ilp::Var *> otawa::ipet::VAR | ( | "otawa::ipet::VAR" | , |
0 | , | ||
idLabel("variable") | , | ||
idDesc("variable in ILP system for IPET resolution") | , | ||
0 | |||
) |
This identifier is used for storing in basic blocks and edges the variables (otawa::ilp::Var *) used in ILP resolution.
Identifier<ot::time> otawa::ipet::WCET | ( | "otawa::ipet::WCET" | , |
- | 1, | ||
idLabel("WCET") | , | ||
idDesc("WCET (in cycles)") | , | ||
0 | |||
) |
Identifier of annotation used for storing for storing the WCET value (int) in the CFG of the computed function.
Identifier<int> otawa::ipet::COUNT("otawa::ipet::COUNT",-1, idLabel("execution count"), idDesc("execution count in WCET"), 0) |
This property is put on basic blocks and edge to record the execution count of these object on the WCET path.
Referenced by otawa::ipet::WCETCountRecorder::processBB().
Identifier<bool> otawa::ipet::EXPLICIT("otawa::ipet::EXPLICIT", false) |
Identifier of a boolean property requiring that explicit names must be used.
The generation of explicit names for variables may be time-consuming and must only be activated for debugging purposes.
Referenced by otawa::ipet::CachePenaltiesObjectFunctionBuilder::configure(), otawa::CAT2OnlyConstraintBuilder::configure(), otawa::EdgeCAT2ConstraintBuilder::configure(), otawa::dcache::CatConstraintBuilder::configure(), otawa::ipet::FlowFactConstraintBuilder::configure(), otawa::etime::EdgeTimeBuilder::configure(), otawa::LinkedBlocksDetector::configure(), otawa::branch::OnlyConsBuilder::configure(), otawa::cat::CATConstraintBuilder::configure(), otawa::etime::StandardEventBuilder::configure(), otawa::ipet::BasicConstraintsBuilder::configure(), otawa::ipet::VarAssignment::configure(), otawa::ccg::ConstraintBuilder::configure(), and otawa::tsim::Delta::configure().
Feature<NoProcessor> otawa::ipet::INTERBLOCK_SUPPORT_FEATURE("otawa::ipet::INTERBLOCK_SUPPORT_FEATURE") |
This feature ensures that effects of the inter-block have been modelized in the current ILP system.
Currently, there is no default processor to get it cause the heterogeneity of solutions to this problem.
Identifier<ot::time> otawa::ipet::TIME("otawa::ipet::TIME",-1, idLabel("time"), idDesc("execution time (in cycles)"), 0) |
This identifier is used for storing the time of execution in cycles (int) of the program area it applies to.
Referenced by otawa::GraphBBTime< G >::analyzePathContext(), otawa::ipet::TrivialDataCacheManager::processBB(), otawa::ipet::TrivialInstCacheManager::processBB(), otawa::ipet::BasicObjectFunctionBuilder::processBB(), otawa::ipet::TrivialBBTime::processBB(), otawa::tsim::BBTimeSimulator::processBB(), otawa::BBRatioDisplayer::processBB(), otawa::tsim::Delta::processBBPath(), and otawa::tsim::BBPath::time().
Identifier<ot::time> otawa::ipet::TIME_DELTA("otawa::ipet::TIME_DELTA", 0, idLabel("time delta"), idDesc("time fix for an edge traversal (in cycles)"), 0) |
This property is used to store time delta on edges.
This time may be used to improve accuracy of the IPET system with a time modifier based on edges (use the TimeDeltaObjectFunctionModifier to add time deltas to the object function).
Referenced by otawa::tsim::TimeDeltaObjectFunctionModifier::processBB().
Identifier<ilp::Var *> otawa::ipet::VAR("otawa::ipet::VAR", 0, idLabel("variable"), idDesc("variable in ILP system for IPET resolution"), 0) |
This identifier is used for storing in basic blocks and edges the variables (otawa::ilp::Var *) used in ILP resolution.
Referenced by otawa::ccg::ConstraintBuilder::addConstraintHeader(), otawa::ipet::BasicConstraintsBuilder::addEntryConstraint(), otawa::etime::EdgeTimeBuilder::contributeConst(), otawa::etime::EdgeTimeBuilder::contributeSplit(), otawa::etime::EdgeTimeBuilder::genForOneCost(), otawa::tsim::BBPath::getVar(), otawa::tsim::BBPath::makeVarName(), otawa::ipet::ConstraintLoader::newBBVar(), otawa::ipet::ConstraintLoader::newEdgeVar(), otawa::ipet::WCETCountRecorder::processBB(), otawa::ipet::CachePenaltiesObjectFunctionBuilder::processBB(), otawa::tsim::TimeDeltaObjectFunctionModifier::processBB(), otawa::ipet::BasicObjectFunctionBuilder::processBB(), otawa::branch::OnlyConsBuilder::processBB(), otawa::ipet::FlowFactConstraintBuilder::processBB(), otawa::ipet::VarAssignment::processBB(), otawa::ipet::BasicConstraintsBuilder::processBB(), otawa::BBRatioDisplayer::processBB(), otawa::BBRatioDisplayer::processCFG(), otawa::cat::CATConstraintBuilder::processLBlockSet(), otawa::ccg::ConstraintBuilder::processLBlockSet(), otawa::EdgeCAT2ConstraintBuilder::processWorkSpace(), otawa::CAT2OnlyConstraintBuilder::processWorkSpace(), otawa::dcache::CatConstraintBuilder::processWorkSpace(), and otawa::ipet::BasicConstraintsBuilder::processWorkSpace().
Identifier<ot::time> otawa::ipet::WCET("otawa::ipet::WCET",-1, idLabel("WCET"), idDesc("WCET (in cycles)"), 0) |
Identifier of annotation used for storing for storing the WCET value (int) in the CFG of the computed function.
Referenced by otawa::ipet::WCETComputation::processWorkSpace(), otawa::display::ILPSystemDisplayer::processWorkSpace(), and otawa::BBRatioDisplayer::setup().