21 #ifndef OTAWA_CACHE_LBLOCKBUILDER_H
22 #define OTAWA_CACHE_LBLOCKBUILDER_H
27 #include <elm/genstruct/Vector.h>
28 #include <elm/genstruct/Table.h>
61 #endif // OTAWA_CACHE_LBLOCKBUILDER_H
struct otawa::sem::inst inst
virtual void processBB(WorkSpace *fw, CFG *cfg, BasicBlock *bb)
Perform the work of the given basic block.
Definition: cache_LBlockBuilder.cpp:155
This processor is dedicated to the basic block process thru proccessBB() method.
Definition: BBProcessor.h:72
CFG * cfg(void) const
Get the current CFG.
Definition: CFGProcessor.h:56
static p::declare reg
Definition: LBlockBuilder.h:40
genstruct::HashTable< ot::mask, int > block_map
Definition: LBlockBuilder.h:52
Abstract class to represent the registered processors.
Definition: Registration.h:80
Class to declare simple a processor.
Definition: Registration.h:213
dtd::Element bb(dtd::make("bb", _BB).attr(id).attr(address).attr(size))
Control Flow Graph representation.
Definition: CFG.h:42
Class to represent the whole memory of the platform.
Definition: Memory.h:173
void addLBlock(BasicBlock *bb, Inst *inst, int &index, genstruct::AllocatedTable< LBlock * > *lblocks)
Add an lblock to the lblock lists.
Definition: cache_LBlockBuilder.cpp:115
virtual void cleanup(WorkSpace *fw)
This method is called after the end of the processor analysis to let it do some clean up...
Definition: cache_LBlockBuilder.cpp:99
A workspace represents a program, its run-time and all information about WCET computation or any othe...
Definition: WorkSpace.h:67
This class contains the configuration of a level of cache of processor.
Definition: Cache.h:34
const hard::Memory * mem
Definition: LBlockBuilder.h:51
This class represents the list of l-blocks of a task for a chosen cache row.
Definition: LBlockSet.h:38
This is the minimal definition of a basic block.
Definition: BasicBlock.h:43
LBlockSet ** lbsets
Definition: LBlockBuilder.h:49
This class represents assembly instruction of a piece of code.
Definition: Inst.h:62
Feature< LBlockBuilder > COLLECTED_LBLOCKS_FEATURE
This properties is set on the first instruction of each lblock and points to the lblock.
This processor builds the list of l-blocks for each lines of instruction cache and stores it in the C...
Definition: LBlockBuilder.h:38
LBlockBuilder(AbstractRegistration &r=reg)
Build a new l-block builder.
Definition: cache_LBlockBuilder.cpp:66
virtual void setup(WorkSpace *fw)
This method is called before an anlysis to let the processor do some initialization.
Definition: cache_LBlockBuilder.cpp:72
A feature is a set of facilities, usually provided using properties, available on a framework...
Definition: Feature.h:46
const hard::Cache * cache
Definition: LBlockBuilder.h:50