22 #ifndef OTAWA_PROC_BBPROCESSOR_H
23 #define OTAWA_PROC_BBPROCESSOR_H
36 virtual void clean(
void);
88 { addCleaner(feature,
new BBDeletor<T>(workspace(),
id)); }
90 { addCleaner(feature,
new BBRemover<T>(workspace(),
id)); }
95 #endif // OTAWA_PROC_BBPROCESSOR_H
This processor is dedicated to the basic block process thru proccessBB() method.
Definition: BBProcessor.h:72
Efficient implementation of a cleaner for properties found on a basic block.
Definition: BBProcessor.h:33
virtual ~BBDeletor(void)
Definition: BBProcessor.h:63
virtual void clean(WorkSpace *ws, CFG *cfg, BasicBlock *bb)
Definition: BBProcessor.h:66
Abstract class to represent the registered processors.
Definition: Registration.h:80
BBDeletor(WorkSpace *ws, Identifier< T * > &identifier)
Definition: BBProcessor.h:61
BBProcessor(cstring name, const Version &version, AbstractRegistration ®)
Definition: BBProcessor.h:82
BBRemover(WorkSpace *ws, Identifier< T > &identifier)
Definition: BBProcessor.h:48
Identifier< T * > & id
Definition: BBProcessor.h:65
dtd::Element bb(dtd::make("bb", _BB).attr(id).attr(address).attr(size))
void trackBB(const AbstractFeature &feature, const Identifier< T * > &id)
Track and delete the content of the given identifier on each basic block.
Definition: BBProcessor.h:87
Control Flow Graph representation.
Definition: CFG.h:42
Definition: BBProcessor.h:46
static const Version ZERO
BBCleaner(WorkSpace *_ws)
Definition: BBProcessor.h:35
BBProcessor(AbstractRegistration ®)
Definition: BBProcessor.h:81
A workspace represents a program, its run-time and all information about WCET computation or any othe...
Definition: WorkSpace.h:67
WorkSpace * ws
Definition: BBProcessor.h:40
This is a specialization of the processor class dedicated to CFG processing.
Definition: CFGProcessor.h:35
Basic block cleaner removing an identifier and deleting its content.
Definition: BBProcessor.h:59
virtual void clean(void)
Definition: proc_BBProcessor.cpp:108
dtd::Element cfg(dtd::make("cfg", _CFG).attr(id).content((entry,*bb, exit,*edge)))
void removeProp(const AbstractIdentifier *id)
Remove a property matching the given identifier.
Definition: prop_PropList.cpp:409
This class represents identifier with a typed associated value.
Definition: Identifier.h:51
This is the minimal definition of a basic block.
Definition: BasicBlock.h:43
cstring name
Definition: odisasm.cpp:107
See Feature.
Definition: AbstractFeature.h:36
Identifier< T > & id
Definition: BBProcessor.h:51
virtual void clean(WorkSpace *ws, CFG *cfg, BasicBlock *bb)
Definition: BBProcessor.h:52
void trackBB(const AbstractFeature &feature, const Identifier< T > &id)
Track and remove properties put on basic blocks.
Definition: BBProcessor.h:89