Otawa  0.10
ParamExeGraphBBTime.h
Go to the documentation of this file.
1 /*
2  * $Id$
3  * Copyright (c) 2005, IRIT UPS.
4  *
5  * ExeGraphBBTime.h -- ExeGraphBBTime class interface.
6  */
7 #ifndef PARAM_EXECUTIONGRAPH_BBTIME_H
8 #define PARAM_EXECUTIONGRAPH_BBTIME_H
9 
10 #include "ExeGraphBBTime.h"
11 #include "ParamExeGraph.h"
12 #include <otawa/ipet.h>
13 #include <otawa/prop/Identifier.h>
14 
15 
16 
17 namespace otawa {
18 
19 extern Identifier<String> OUTPUT_FILE;
20 extern Identifier<int> OUTPUT_LEVEL;
21 extern Identifier<String> GRAPHS_DIR;
22 
23 
24 using namespace elm::genstruct;
25 
26 class ParamExeGraphBBTime: public ExeGraphBBTime<ParamExeGraph> {
27  private:
33  public:
34  ParamExeGraphBBTime(const PropList& props = PropList::EMPTY, int prologue_depth=0);
35  void processBB(WorkSpace *ws, CFG *cfg, BasicBlock *bb);
36  void buildPrologueList(BasicBlock * bb,
37  ExeSequence<ExeNode> * prologue,
38  int capacity,
40  int depth);
41  class InstIterator : public ParamExeGraph::InstIterator {
42  public:
43  inline InstIterator(const ExeSequence<ExeNode> * sequence)
44  : ParamExeGraph::InstIterator(sequence) {}
45  };
46 };
47 
48 
49 
50 } //otawa
51 
52 #endif // ParamExeGraphBBTime_H
Definition: ExeGraphBBTime.h:40
Definition: ParamExeGraphBBTime.h:26
Identifier< int > OUTPUT_LEVEL
static const PropList EMPTY
This is an empty proplist for convenience.
Definition: PropList.h:66
int _prologue_depth
Definition: ParamExeGraphBBTime.h:28
OutStream * _output_stream
Definition: ParamExeGraphBBTime.h:29
A sequence of instructions (ExeInst)
Definition: ExeGraph.h:91
dtd::Element bb(dtd::make("bb", _BB).attr(id).attr(address).attr(size))
InstIterator(const ExeSequence< ExeNode > *sequence)
Definition: ParamExeGraphBBTime.h:43
Control Flow Graph representation.
Definition: CFG.h:42
Trace * _trace
Definition: ParamExeGraphBBTime.h:32
Definition: Trace.h:59
A workspace represents a program, its run-time and all information about WCET computation or any othe...
Definition: WorkSpace.h:67
Identifier< String > OUTPUT_FILE
Definition: ParamExeGraph.h:36
Identifier< String > GRAPHS_DIR
dtd::Element cfg(dtd::make("cfg", _CFG).attr(id).content((entry,*bb, exit,*edge)))
Definition: ParamExeGraphBBTime.h:41
This is the minimal definition of a basic block.
Definition: BasicBlock.h:43
This a list of properties.
Definition: PropList.h:63
String _graphs_dir_name
Definition: ParamExeGraphBBTime.h:31
elm::io::Output * _output
Definition: ParamExeGraphBBTime.h:30