Otawa
0.10
|
Classes | |
class | BasicConstraintsBuilder |
class | BasicObjectFunctionBuilder |
This processor is used for building the basic object function function to maximize for resolving the IPET system, that is, Then , it set the object function as maximizing the following expression: t1 * n1 + t2 * n2 + ... More... | |
class | CachePenaltiesObjectFunctionBuilder |
This processor is used for building the basic object function function in case of a L1 instruction cache. More... | |
class | ConstraintLoader |
This code processor allows loading IPET constraint from an external file. More... | |
class | FlowFactConstraintBuilder |
This processor allows using extern flow facts in an IPET system. More... | |
class | FlowFactLoader |
This processor allows using extern flow facts in an IPET system. More... | |
class | ILPSystemGetter |
This processor looks for an ILP plugin and build a new system that will be used by other IPET processor. More... | |
class | TrivialBBTime |
This processor is used for computing execution of basic blocks in a trivial way, that is, the multiplication of basic block instruction count by the pipeline depth. More... | |
class | TrivialDataCacheManager |
This processor apply a simple method for managing data cache in IPET method. More... | |
class | TrivialInstCacheManager |
This processor is a trivial manager of instruction cache for IPET approach. More... | |
class | VarAssignment |
This processor ensures that each basic block and each edge of the CFG has a variable associated with a ipet::VAR annotation. More... | |
class | WCETComputation |
This class is used for computing the WCET from the system found in the root CFG. More... | |
class | WCETCountRecorder |
This class may be used to record back in the CFG the execution count of each basic block and of each edge for the WCET path. More... | |
Functions | |
Identifier< Constraint * > | CALLING_CONSTRAINT ("otawa::ipet::CALLING_CONSTRAINT", 0) |
Used to record the constraint of a called CFG. More... | |
p::feature | CONTROL_CONSTRAINTS_FEATURE ("otawa::ipet::CONTROL_CONSTRAINTS_FEATURE", new Maker< BasicConstraintsBuilder >()) |
This feature ensures that control constraints has been added to the current ILP system. More... | |
SilentFeature | OBJECT_FUNCTION_FEATURE ("otawa::ipet::OBJECT_FUNCTION_FEATURE", maker) |
This feature ensures that the object function of the ILP system to solve has been built. More... | |
p::feature | INST_CACHE_SUPPORT_FEATURE ("otawa::ipet::INST_CACHE_SUPPORT_FEATURE", new Maker< TrivialInstCacheManager >) |
This feature ensurers that the instruction cache has been modelled in the IPET approach. More... | |
p::feature | DATA_CACHE_SUPPORT_FEATURE ("otawa::ipet::DATA_CACHE_SUPPORT_FEATURE", new Maker< TrivialDataCacheManager >()) |
This feature ensures that the first-level data cache has been taken in account in the basic block timing. More... | |
p::feature | CACHE_SUPPORT_FEATURE ("otawa::ipet::CACHE_SUPPORT_FEATURE", new Maker< CacheSupport >()) |
This feature ensures that analysis for the cache configuration has been performed. More... | |
SilentFeature | FLOW_FACTS_CONSTRAINTS_FEATURE ("otawa::ipet::FLOW_FACTS_CONSTRAINTS_FEATURE", maker) |
This feature asserts that constraints tied to the flow fact information has been added to the ILP system. More... | |
SilentFeature | FLOW_FACTS_FEATURE ("otawa::ipet::FLOW_FACTS_FEATURE", maker) |
This feature ensures that flow facts information (at less the loop bounds) has been put on the CFG of the current task. More... | |
Identifier< string > | ILP_PLUGIN_NAME ("otawa::ipet::ILP_PLUGIN_NAME","default") |
Select the name of the plugin to use as the ILP solver. More... | |
Identifier< ilp::System * > | SYSTEM ("otawa::ipet::SYSTEM", 0) |
Link the curerently ILP system. More... | |
SilentFeature | ILP_SYSTEM_FEATURE ("otawa::ipet::ILP_SYSTEM_FEATURE", maker) |
This feature assert that an ILP is available for IPET computation. More... | |
Identifier< ot::time > | 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 * > | 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 > | 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 > | EXPLICIT ("otawa::ipet::EXPLICIT", false) |
Identifier of a boolean property requiring that explicit names must be used. More... | |
Identifier< ot::time > | 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 > | 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... | |
ilp::System * | getSystem (WorkSpace *fw, CFG *cfg) |
Get the system tied with the given CFG. More... | |
Feature< NoProcessor > | 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... | |
Identifier< unsigned > | PIPELINE_DEPTH ("otawa::ipet::PIPELINE_DEPTH", 5) |
This property is used to configure the TrivialBBTime processor with the depth of the used pipeline. More... | |
SilentFeature | BB_TIME_FEATURE ("otawa::ipet::BB_TIME_FEATURE", maker) |
This feature ensures that the execution time of each basic block has been computed. More... | |
Identifier< String * > | FORCE_NAME ("otawa::FORCE_NAME", 0) |
Force the ilp variable name of an edge or basic block. More... | |
SilentFeature | ASSIGNED_VARS_FEATURE ("otawa::ipet::ASSIGNED_VARS_FEATURE", maker) |
This feature asserts that each block and each edge has a variable name asserted. More... | |
SilentFeature | WCET_FEATURE ("otawa::ipet::WCET_FEATURE", maker) |
This feature ensures that the WCET has been computed using IPET approach. More... | |
p::feature | WCET_COUNT_RECORDED_FEATURE ("otawa::ipet::WCET_COUNT_RECORDED_FEATURE", new Maker< WCETCountRecorder >()) |
This feature asserts that WCET execution count of basic block and of edge have been recorded. More... | |
Variables | |
Identifier< bool > | EXPLICIT |
Identifier of a boolean property requiring that explicit names must be used. More... | |
Identifier< string > | ILP_PLUGIN_NAME |
Select the name of the plugin to use as the ILP solver. More... | |
Feature< NoProcessor > | INTERBLOCK_SUPPORT_FEATURE |
This feature ensures that effects of the inter-block have been modelized in the current ILP system. More... | |
SilentFeature | BB_TIME_FEATURE |
This feature ensures that the execution time of each basic block has been computed. More... | |
Identifier< ot::time > | TIME |
This identifier is used for storing the time of execution in cycles (int) of the program area it applies to. More... | |
Identifier< ot::time > | TIME_DELTA |
This property is used to store time delta on edges. More... | |
Identifier< int > | COUNT |
This property is put on basic blocks and edge to record the execution count of these object on the WCET path. More... | |
SilentFeature | ASSIGNED_VARS_FEATURE |
This feature asserts that each block and each edge has a variable name asserted. More... | |
Identifier< ilp::Var * > | VAR |
This identifier is used for storing in basic blocks and edges the variables (otawa::ilp::Var *) used in ILP resolution. More... | |
SilentFeature | WCET_FEATURE |
This feature ensures that the WCET has been computed using IPET approach. More... | |
Identifier< ot::time > | WCET |
Identifier of annotation used for storing for storing the WCET value (int) in the CFG of the computed function. More... | |
SilentFeature | OBJECT_FUNCTION_FEATURE |
This feature ensures that the object function of the ILP system to solve has been built. More... | |
p::feature | CONTROL_CONSTRAINTS_FEATURE |
This feature ensures that control constraints has been added to the current ILP system. More... | |
Identifier < otawa::ilp::Constraint * > | CALLING_CONSTRAINT |
Used to record the constraint of a called CFG. More... | |
SilentFeature | FLOW_FACTS_CONSTRAINTS_FEATURE |
This feature asserts that constraints tied to the flow fact information has been added to the ILP system. More... | |
SilentFeature | FLOW_FACTS_FEATURE |
This feature ensures that flow facts information (at less the loop bounds) has been put on the CFG of the current task. More... | |
SilentFeature | ILP_SYSTEM_FEATURE |
This feature assert that an ILP is available for IPET computation. More... | |
Identifier< ilp::System * > | SYSTEM |
Link the curerently ILP system. More... | |
p::feature | DATA_CACHE_SUPPORT_FEATURE |
This feature ensures that the first-level data cache has been taken in account in the basic block timing. More... | |
p::feature | INST_CACHE_SUPPORT_FEATURE |
This feature ensurers that the instruction cache has been modelled in the IPET approach. More... | |
p::feature | CACHE_SUPPORT_FEATURE |
This feature ensures that analysis for the cache configuration has been performed. More... | |
p::feature | WCET_COUNT_RECORDED_FEATURE |
This feature asserts that WCET execution count of basic block and of edge have been recorded. More... | |
Identifier< unsigned > | PIPELINE_DEPTH |
This property is used to configure the TrivialBBTime processor with the depth of the used pipeline. More... | |
Identifier< String * > | FORCE_NAME |
Force the ilp variable name of an edge or basic block. More... | |
SilentFeature otawa::ipet::ASSIGNED_VARS_FEATURE | ( | "otawa::ipet::ASSIGNED_VARS_FEATURE" | , |
maker | |||
) |
This feature asserts that each block and each edge has a variable name asserted.
Referenced by otawa::ipet::VarAssignment::cleanup().
SilentFeature otawa::ipet::BB_TIME_FEATURE | ( | "otawa::ipet::BB_TIME_FEATURE" | , |
maker | |||
) |
This feature ensures that the execution time of each basic block has been computed.
p::feature otawa::ipet::CACHE_SUPPORT_FEATURE | ( | "otawa::ipet::CACHE_SUPPORT_FEATURE" | , |
new Maker< CacheSupport > | () | ||
) |
This feature ensures that analysis for the cache configuration has been performed.
Identifier<Constraint *> otawa::ipet::CALLING_CONSTRAINT | ( | "otawa::ipet::CALLING_CONSTRAINT" | , |
0 | |||
) |
Used to record the constraint of a called CFG.
Referenced by otawa::ipet::BasicConstraintsBuilder::addEntryConstraint(), and otawa::ipet::BasicConstraintsBuilder::processWorkSpace().
p::feature otawa::ipet::CONTROL_CONSTRAINTS_FEATURE | ( | "otawa::ipet::CONTROL_CONSTRAINTS_FEATURE" | , |
new Maker< BasicConstraintsBuilder > | () | ||
) |
This feature ensures that control constraints has been added to the current ILP system.
p::feature otawa::ipet::DATA_CACHE_SUPPORT_FEATURE | ( | "otawa::ipet::DATA_CACHE_SUPPORT_FEATURE" | , |
new Maker< TrivialDataCacheManager > | () | ||
) |
This feature ensures that the first-level data cache has been taken in account in the basic block timing.
SilentFeature otawa::ipet::FLOW_FACTS_CONSTRAINTS_FEATURE | ( | "otawa::ipet::FLOW_FACTS_CONSTRAINTS_FEATURE" | , |
maker | |||
) |
This feature asserts that constraints tied to the flow fact information has been added to the ILP system.
SilentFeature otawa::ipet::FLOW_FACTS_FEATURE | ( | "otawa::ipet::FLOW_FACTS_FEATURE" | , |
maker | |||
) |
This feature ensures that flow facts information (at less the loop bounds) has been put on the CFG of the current task.
Identifier<String* > otawa::ipet::FORCE_NAME | ( | "otawa::FORCE_NAME" | , |
0 | |||
) |
Force the ilp variable name of an edge or basic block.
Referenced by otawa::ipet::VarAssignment::processBB().
ilp::System* otawa::ipet::getSystem | ( | WorkSpace * | fw, |
CFG * | cfg | ||
) |
Identifier<string> otawa::ipet::ILP_PLUGIN_NAME | ( | "otawa::ipet::ILP_PLUGIN_NAME" | , |
"default" | |||
) |
Select the name of the plugin to use as the ILP solver.
SilentFeature otawa::ipet::ILP_SYSTEM_FEATURE | ( | "otawa::ipet::ILP_SYSTEM_FEATURE" | , |
maker | |||
) |
This feature assert that an ILP is available for IPET computation.
p::feature otawa::ipet::INST_CACHE_SUPPORT_FEATURE | ( | "otawa::ipet::INST_CACHE_SUPPORT_FEATURE" | , |
new Maker< TrivialInstCacheManager > | |||
) |
This feature ensurers that the instruction cache has been modelled in the IPET approach.
SilentFeature otawa::ipet::OBJECT_FUNCTION_FEATURE | ( | "otawa::ipet::OBJECT_FUNCTION_FEATURE" | , |
maker | |||
) |
This feature ensures that the object function of the ILP system to solve has been built.
Identifier<unsigned> otawa::ipet::PIPELINE_DEPTH | ( | "otawa::ipet::PIPELINE_DEPTH" | , |
5 | |||
) |
This property is used to configure the TrivialBBTime processor with the depth of the used pipeline.
Identifier<ilp::System *> otawa::ipet::SYSTEM | ( | "otawa::ipet::SYSTEM" | , |
0 | |||
) |
p::feature otawa::ipet::WCET_COUNT_RECORDED_FEATURE | ( | "otawa::ipet::WCET_COUNT_RECORDED_FEATURE" | , |
new Maker< WCETCountRecorder > | () | ||
) |
This feature asserts that WCET execution count of basic block and of edge have been recorded.
SilentFeature otawa::ipet::WCET_FEATURE | ( | "otawa::ipet::WCET_FEATURE" | , |
maker | |||
) |
This feature ensures that the WCET has been computed using IPET approach.
SilentFeature otawa::ipet::ASSIGNED_VARS_FEATURE("otawa::ipet::ASSIGNED_VARS_FEATURE", maker) |
This feature asserts that each block and each edge has a variable name asserted.
Referenced by otawa::ipet::BasicConstraintsBuilder::BasicConstraintsBuilder(), otawa::EdgeCAT2ConstraintBuilder::EdgeCAT2ConstraintBuilder(), otawa::ipet::FlowFactConstraintBuilder::FlowFactConstraintBuilder(), and otawa::LinkedBlocksDetector::LinkedBlocksDetector().
SilentFeature otawa::ipet::BB_TIME_FEATURE("otawa::ipet::BB_TIME_FEATURE", maker) |
This feature ensures that the execution time of each basic block has been computed.
Referenced by otawa::ExeGraphBBTime< G >::ExeGraphBBTime(), otawa::ExeGraphBBTime< ParamExeGraph >::ExeGraphBBTime(), and otawa::ipet::TrivialDataCacheManager::TrivialDataCacheManager().
p::feature otawa::ipet::CACHE_SUPPORT_FEATURE("otawa::ipet::CACHE_SUPPORT_FEATURE", new Maker< CacheSupport >()) |
This feature ensures that analysis for the cache configuration has been performed.
Identifier<Constraint *> otawa::ipet::CALLING_CONSTRAINT("otawa::ipet::CALLING_CONSTRAINT", 0) |
Used to record the constraint of a called CFG.
p::feature otawa::ipet::CONTROL_CONSTRAINTS_FEATURE("otawa::ipet::CONTROL_CONSTRAINTS_FEATURE", new Maker< BasicConstraintsBuilder >()) |
This feature ensures that control constraints has been added to the current ILP system.
Referenced by otawa::ipet::BasicConstraintsBuilder::BasicConstraintsBuilder().
p::feature otawa::ipet::DATA_CACHE_SUPPORT_FEATURE("otawa::ipet::DATA_CACHE_SUPPORT_FEATURE", new Maker< TrivialDataCacheManager >()) |
This feature ensures that the first-level data cache has been taken in account in the basic block timing.
Referenced by otawa::ipet::TrivialDataCacheManager::TrivialDataCacheManager().
SilentFeature otawa::ipet::FLOW_FACTS_CONSTRAINTS_FEATURE("otawa::ipet::FLOW_FACTS_CONSTRAINTS_FEATURE", maker) |
This feature asserts that constraints tied to the flow fact information has been added to the ILP system.
Referenced by otawa::ipet::FlowFactConstraintBuilder::FlowFactConstraintBuilder().
SilentFeature otawa::ipet::FLOW_FACTS_FEATURE("otawa::ipet::FLOW_FACTS_FEATURE", maker) |
This feature ensures that flow facts information (at less the loop bounds) has been put on the CFG of the current task.
Referenced by otawa::ipet::FlowFactConstraintBuilder::FlowFactConstraintBuilder().
Identifier<String* > otawa::ipet::FORCE_NAME("otawa::FORCE_NAME", 0) |
Force the ilp variable name of an edge or basic block.
Identifier<string> otawa::ipet::ILP_PLUGIN_NAME("otawa::ipet::ILP_PLUGIN_NAME","default") |
Select the name of the plugin to use as the ILP solver.
Referenced by otawa::ipet::ILPSystemGetter::configure().
SilentFeature otawa::ipet::ILP_SYSTEM_FEATURE("otawa::ipet::ILP_SYSTEM_FEATURE", maker) |
This feature assert that an ILP is available for IPET computation.
Referenced by otawa::ipet::BasicConstraintsBuilder::BasicConstraintsBuilder(), otawa::EdgeCAT2ConstraintBuilder::EdgeCAT2ConstraintBuilder(), otawa::ipet::ILPSystemGetter::ILPSystemGetter(), and otawa::LinkedBlocksDetector::LinkedBlocksDetector().
p::feature otawa::ipet::INST_CACHE_SUPPORT_FEATURE("otawa::ipet::INST_CACHE_SUPPORT_FEATURE", new Maker< TrivialInstCacheManager >) |
This feature ensurers that the instruction cache has been modelled in the IPET approach.
Referenced by otawa::CAT2OnlyConstraintBuilder::collectStats(), and otawa::EdgeCAT2ConstraintBuilder::EdgeCAT2ConstraintBuilder().
SilentFeature otawa::ipet::OBJECT_FUNCTION_FEATURE("otawa::ipet::OBJECT_FUNCTION_FEATURE", maker) |
This feature ensures that the object function of the ILP system to solve has been built.
Identifier<unsigned> otawa::ipet::PIPELINE_DEPTH("otawa::ipet::PIPELINE_DEPTH", 5) |
This property is used to configure the TrivialBBTime processor with the depth of the used pipeline.
Referenced by otawa::ipet::TrivialBBTime::configure().
Identifier<ilp::System *> otawa::ipet::SYSTEM("otawa::ipet::SYSTEM", 0) |
Link the curerently ILP system.
Referenced by getSystem(), otawa::etime::StandardEventBuilder::handleVariableBranchPred(), otawa::ipet::CachePenaltiesObjectFunctionBuilder::processBB(), otawa::ipet::BasicObjectFunctionBuilder::processBB(), otawa::tsim::TimeDeltaObjectFunctionModifier::processBB(), otawa::branch::OnlyConsBuilder::processBB(), otawa::ipet::BasicConstraintsBuilder::processBB(), otawa::branch::ConsBuilder::processBB(), otawa::tsim::Delta::processCFG(), otawa::ipet::ConstraintLoader::processCFG(), otawa::cat::CATConstraintBuilder::processLBlockSet(), otawa::ccg::ConstraintBuilder::processLBlockSet(), otawa::EdgeCAT2ConstraintBuilder::processWorkSpace(), otawa::CAT2OnlyConstraintBuilder::processWorkSpace(), otawa::ipet::WCETComputation::processWorkSpace(), otawa::ilp::Output::processWorkSpace(), otawa::dcache::CatConstraintBuilder::processWorkSpace(), otawa::ipet::ILPSystemGetter::processWorkSpace(), otawa::ipet::BasicConstraintsBuilder::processWorkSpace(), otawa::CAT2ConstraintBuilder::processWorkSpace(), otawa::display::ILPSystemDisplayer::processWorkSpace(), otawa::ipet::WCETCountRecorder::setup(), otawa::dcache::WCETFunctionBuilder::setup(), otawa::BBRatioDisplayer::setup(), otawa::ipet::FlowFactConstraintBuilder::setup(), otawa::ipet::VarAssignment::setup(), and otawa::etime::EdgeTimeBuilder::setup().
p::feature otawa::ipet::WCET_COUNT_RECORDED_FEATURE("otawa::ipet::WCET_COUNT_RECORDED_FEATURE", new Maker< WCETCountRecorder >()) |
This feature asserts that WCET execution count of basic block and of edge have been recorded.
SilentFeature otawa::ipet::WCET_FEATURE("otawa::ipet::WCET_FEATURE", maker) |
This feature ensures that the WCET has been computed using IPET approach.
Referenced by otawa::ipet::WCETComputation::collectStats().