23 #ifndef OTAWA_CFG_CFG_BUILDER_H
24 #define OTAWA_CFG_CFG_BUILDER_H
26 #include <elm/genstruct/Vector.h>
57 #endif // OTAWA_CFG_CFG_BUILDER_H
struct otawa::sem::inst inst
CFGInfo * info
Definition: CFGBuilder.h:52
void addCFG(Segment *seg, BasicBlock *bb)
Add a new CFG that starts at the given BB (if not already declared).
Definition: cfg_CFGBuilder.cpp:87
static const PropList EMPTY
This is an empty proplist for convenience.
Definition: PropList.h:66
WorkSpace * ws
Definition: Processor.h:185
dtd::Element bb(dtd::make("bb", _BB).attr(id).attr(address).attr(size))
Represent a basic block in the strictess meaning: a sequence of instructions containing no branch...
Definition: BasicBlock.h:188
In usual file format like ELF, COFF and so on, the program file is divided in segment according platf...
Definition: Segment.h:40
This class represents a file involved in the building of a process.
Definition: File.h:43
The processor class is implemented by all code processor.
Definition: Processor.h:49
A workspace represents a program, its run-time and all information about WCET computation or any othe...
Definition: WorkSpace.h:67
void addFile(WorkSpace *ws, File *file)
Add a file to the builder.
Definition: cfg_CFGBuilder.cpp:349
void addSubProgram(Segment *seg, Inst *inst)
Record the given instruction as the startup of a sub-program.
Definition: cfg_CFGBuilder.cpp:153
CFGBuilder(void)
CFG builder constructor.
Definition: cfg_CFGBuilder.cpp:76
This processor is used for building the CFG from the binary program representation.
Definition: CFGBuilder.h:34
CodeBasicBlock * nextBB(Inst *inst)
Find the basic block starting on the next instruction.
Definition: cfg_CFGBuilder.cpp:104
This is the minimal definition of a basic block.
Definition: BasicBlock.h:43
This class represents assembly instruction of a piece of code.
Definition: Inst.h:62
This allows storing all CFG available in a workspace.
Definition: CFGInfo.h:29
This a list of properties.
Definition: PropList.h:63
virtual void processWorkSpace(WorkSpace *fw)
Process the given framework.
Definition: cfg_CFGBuilder.cpp:386
CodeBasicBlock * thisBB(Inst *inst)
Get or create the basic block on the given instruction.
Definition: cfg_CFGBuilder.cpp:131
virtual void configure(const PropList &props=PropList::EMPTY)
This method may be called for configuring a processor thanks to information passed in the property li...
Definition: cfg_CFGBuilder.cpp:406
void buildCFG(WorkSpace *ws, Segment *seg)
Build the CFG for the given code.
Definition: cfg_CFGBuilder.cpp:165