Otawa  0.10
oipet.cpp File Reference
#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)
 

Typedef Documentation

typedef enum bbtime_t bbtime_t
typedef enum icache_t icache_t

Enumeration Type Documentation

enum bbtime_t
Enumerator
bbtime_sim 
bbtime_delta 
bbtime_exegraph 
bbtime_trivial 
bbtime_paramexegraph 
bbtime_parexegraph 
Enumerator
NO_OUTPUT 
LP 
HTML 
enum icache_t
Enumerator
icache_def 
icache_none 
icache_ccg 
icache_cat 
icache_cat2 

Function Documentation

int main ( int  argc,
char **  argv 
)

Variable Documentation

EnumOption<int> bbtime_option(command, 't',"bbtiming","basic block timing method", bbtime_values)
EnumOption<int>::value_t bbtime_values[]
Initial value:
= {
{ "method", bbtime_trivial },
{ "sim", bbtime_sim },
{ "delta", bbtime_delta },
{ "exegraph", bbtime_exegraph },
{ "trivial", bbtime_trivial },
{ "paramexegraph", bbtime_paramexegraph },
{ "parexegraph", bbtime_parexegraph },
{ "" }
}
Definition: oipet.cpp:219
Definition: oipet.cpp:216
Definition: oipet.cpp:218
Definition: oipet.cpp:214
Definition: oipet.cpp:215
Definition: oipet.cpp:217
Command command
EnumOption<int>::value_t cons_output_kinds[]
Initial value:
= {
{ "output kind", NO_OUTPUT },
{ "lp", LP },
{ "html", HTML },
{ "" }
}
Definition: oipet.cpp:241
Definition: oipet.cpp:239
Definition: oipet.cpp:240
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[]
Initial value:
= {
{ "output kind", display::OUTPUT_ANY },
{ "ps", display::OUTPUT_PS },
{ "pdf", display::OUTPUT_PDF },
{ "png", display::OUTPUT_PNG },
{ "gif", display::OUTPUT_GIF },
{ "jpg", display::OUTPUT_JPG },
{ "svg", display::OUTPUT_SVG },
}
Definition: Driver.h:41
Definition: Driver.h:39
Definition: Driver.h:36
Definition: Driver.h:35
Definition: Driver.h:37
Definition: Driver.h:34
Definition: Driver.h:40
Definition: Driver.h:38
EnumOption<int> icache_option(command, 'i',"icache","instruction management method", icache_values)
EnumOption<int>::value_t icache_values[]
Initial value:
= {
{ "method", icache_def },
{ "none", icache_none },
{ "ccg", icache_ccg },
{ "cat", icache_cat },
{ "cat2", icache_cat2 },
{ "" }
}
Definition: oipet.cpp:183
Definition: oipet.cpp:181
Definition: oipet.cpp:185
Definition: oipet.cpp:182
Definition: oipet.cpp:184
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[]
Initial value:
= {
{ "type", FML_MULTI},
{ "multi", FML_MULTI},
{ "outer", FML_OUTER},
{ "inner", FML_INNER},
{ "" }
}
Definition: features.h:35
Definition: features.h:36
Definition: features.h:34
BoolOption pseudounrolling(command, 'u',"pseudounrolling","enable Pseudo-Unrolling (cat2 only)", false)
BoolOption verbose(command, 'v',"verbose","verbose mode", false)