Otawa
0.10
|
#include <stdlib.h>
#include <elm/io.h>
#include <elm/io/OutFileStream.h>
#include <elm/options.h>
#include <otawa/otawa.h>
#include <otawa/ipet.h>
#include <otawa/ilp.h>
#include <elm/system/StopWatch.h>
#include <otawa/proc/ProcessorException.h>
#include <otawa/hard/CacheConfiguration.h>
#include <otawa/tsim/BBTimeSimulator.h>
#include <otawa/exegraph/LiExeGraphBBTime.h>
#include <otawa/util/LBlockBuilder.h>
#include <otawa/display/CFGDrawer.h>
#include <otawa/cfg/CFGCollector.h>
#include <otawa/cfg/Virtualizer.h>
#include <otawa/display/CFGOutput.h>
#include <otawa/exegraph/ParamExeGraphBBTime.h>
#include <otawa/parexegraph/GraphBBTime.h>
#include <otawa/util/FlowFactLoader.h>
#include <otawa/util/BBRatioDisplayer.h>
#include <otawa/display/ILPSystemDisplayer.h>
#include <otawa/stats.h>
#include <otawa/ipet/VarAssignment.h>
#include <otawa/tsim/Delta.h>
#include <otawa/proc/DynProcessor.h>
Typedefs | |
typedef enum icache_t | icache_t |
typedef enum bbtime_t | bbtime_t |
Enumerations | |
enum | icache_t { icache_def = 0, icache_none, icache_ccg, icache_cat, icache_cat2 } |
enum | bbtime_t { bbtime_sim, bbtime_delta, bbtime_exegraph, bbtime_trivial, bbtime_paramexegraph, bbtime_parexegraph } |
enum | const_output_t { NO_OUTPUT, LP, HTML } |
Functions | |
int | main (int argc, char **argv) |
Program entry point. More... | |
Variables | |
Command | command |
EnumOption< int >::value_t | icache_values [] |
EnumOption< int >::value_t | pers_values [] |
EnumOption< int > | icache_option (command, 'i',"icache","instruction management method", icache_values) |
StringOption | cache (command, 'c',"cache","used cache","path","") |
EnumOption< int > | pers_option (command, 'P',"pers","persistence type for cat2 (multi, inner, or outer)", pers_values) |
EnumOption< int >::value_t | bbtime_values [] |
EnumOption< int > | bbtime_option (command, 't',"bbtiming","basic block timing method", bbtime_values) |
StringOption | proc (command, 'p',"processor","used processor","path","") |
IntOption | delta (command, 'D',"delta","use delta method with given sequence length","length", 4) |
EnumOption< int >::value_t | cons_output_kinds [] |
EnumOption< int >::value_t | graph_output_kinds [] |
EnumOption< int > | dump_constraints (command, 'C',"dump-constraints","dump lp_solve constraints (lp or html)", cons_output_kinds) |
EnumOption< int > | dump_graph (command, 'G',"dump-graph","dump DOT graph of the processed function", graph_output_kinds) |
BoolOption | dump_time (command, 'T',"dump-time","dump ratio of each BB for the WCET", false) |
BoolOption | verbose (command, 'v',"verbose","verbose mode", false) |
BoolOption | linkedblocks (command, 'l',"linkedblocks","enable LinkedBlocksDetector (cat2 only)", false) |
BoolOption | pseudounrolling (command, 'u',"pseudounrolling","enable Pseudo-Unrolling (cat2 only)", false) |
BoolOption | not_inlining (command, 'I',"do-not-inline","do not inline function calls", false) |
enum bbtime_t |
enum const_output_t |
enum icache_t |
int main | ( | int | argc, |
char ** | argv | ||
) |
Program entry point.
References cerr, command, elm::MessageException::message(), and elm::Exception::message().
EnumOption<int> bbtime_option(command, 't',"bbtiming","basic block timing method", bbtime_values) |
EnumOption<int>::value_t bbtime_values[] |
StringOption cache(command, 'c',"cache","used cache","path","") |
Referenced by otawa::ParExeGraph::ParExeGraph(), otawa::CAT2Builder::processCFG(), otawa::EdgeCAT2Builder::processCFG(), otawa::FirstLastBuilder::processCFG(), otawa::ACSMayBuilder::processLBlockSet(), otawa::ACSBuilder::processLBlockSet(), otawa::EdgeACSBuilder::processLBlockSet(), otawa::ccg::Builder::processLBlockSet(), otawa::dcache::ACSBuilder::processLBlockSet(), otawa::EdgeCAT2ConstraintBuilder::processWorkSpace(), otawa::dcache::CATBuilder::processWorkSpace(), otawa::CAT2OnlyConstraintBuilder::processWorkSpace(), otawa::ACSMayBuilder::processWorkSpace(), otawa::LinkedBlocksDetector::processWorkSpace(), otawa::ACSBuilder::processWorkSpace(), otawa::cat::CATConstraintBuilder::processWorkSpace(), otawa::cat::CATBuilder::processWorkSpace(), otawa::CAT2ConstraintBuilder::processWorkSpace(), otawa::ccg::ConstraintBuilder::processWorkSpace(), otawa::EdgeACSBuilder::processWorkSpace(), otawa::ccg::Builder::processWorkSpace(), otawa::dcache::ACSMayBuilder::processWorkSpace(), otawa::dcache::ACSBuilder::processWorkSpace(), and otawa::script::Script::work().
Command command |
Referenced by otawa::display::GraphVizGraph::display(), and main().
EnumOption<int>::value_t cons_output_kinds[] |
EnumOption<int> dump_constraints(command, 'C',"dump-constraints","dump lp_solve constraints (lp or html)", cons_output_kinds) |
EnumOption<int> dump_graph(command, 'G',"dump-graph","dump DOT graph of the processed function", graph_output_kinds) |
BoolOption dump_time(command, 'T',"dump-time","dump ratio of each BB for the WCET", false) |
EnumOption<int>::value_t graph_output_kinds[] |
EnumOption<int> icache_option(command, 'i',"icache","instruction management method", icache_values) |
EnumOption<int>::value_t icache_values[] |
BoolOption linkedblocks(command, 'l',"linkedblocks","enable LinkedBlocksDetector (cat2 only)", false) |
BoolOption not_inlining(command, 'I',"do-not-inline","do not inline function calls", false) |
EnumOption<int> pers_option(command, 'P',"pers","persistence type for cat2 (multi, inner, or outer)", pers_values) |
EnumOption<int>::value_t pers_values[] |
StringOption proc(command, 'p',"processor","used processor","path","") |
Referenced by otawa::display::GraphVizGraph::display(), otawa::DynProcessor::DynProcessor(), otawa::WorkSpace::findInstAt(), otawa::dfa::State::get(), otawa::WorkSpace::manager(), otawa::WorkSpace::platform(), otawa::Feature< T, C >::process(), otawa::ProcessException::process(), otawa::WorkSpace::process(), otawa::dfa::State::process(), otawa::SimState::process(), otawa::ExeGraphBBTime< G >::processWorkSpace(), otawa::GraphBBTime< G >::processWorkSpace(), otawa::WorkSpace::start(), and otawa::script::Script::work().
BoolOption pseudounrolling(command, 'u',"pseudounrolling","enable Pseudo-Unrolling (cat2 only)", false) |
BoolOption verbose(command, 'v',"verbose","verbose mode", false) |
Referenced by otawa::Monitor::configure(), and otawa::Application::isVerbose().