Otawa  0.10
LBlockProcessor.h
Go to the documentation of this file.
1 /*
2  * $Id$
3  * Copyright (c) 2005-06, IRIT UPS.
4  *
5  * otawa/proc/LBlockProcessor.h -- LBlockProcessor class interface.
6  */
7 #ifndef OTAWA_PROC_LBLOCKPROCESSOR_H
8 #define OTAWA_PROC_LBLOCKPROCESSOR_H
9 
10 #include <otawa/proc/Processor.h>
11 #include <otawa/cache/LBlockSet.h>
12 
13 namespace otawa {
14 
15 // Extern class
16 class LBlock;
17 class BasicBlock;
18 
19 // Processor class
20 class LBlockProcessor: public Processor {
21 public:
24 
25 protected:
26  inline const hard::Cache *cache(void) const { return _cache; }
27  virtual void processWorkSpace(WorkSpace *ws);
28  virtual void processLBlockSet(WorkSpace *ws, LBlockSet *set);
29  virtual void processLBlock(WorkSpace *ws, LBlockSet *set, LBlock *lblock);
30 
31 private:
33 };
34 
35 } // otawa
36 
37 #endif // OTAWA_PROC_LBLOCKPROCESSOR_H
Definition: Registration.h:127
static MetaRegistration reg
Definition: LBlockProcessor.h:23
Abstract class to represent the registered processors.
Definition: Registration.h:80
virtual void processLBlockSet(WorkSpace *ws, LBlockSet *set)
Called for each LBlock set.
Definition: proc_LBlockProcessor.cpp:67
const hard::Cache * cache(void) const
Definition: LBlockProcessor.h:26
WorkSpace * ws
Definition: Processor.h:185
const AbstractRegistration & registration(void)
Definition: Registry.h:54
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
LBlockProcessor(AbstractRegistration &registration=reg)
Build a new named processor.
Definition: proc_LBlockProcessor.cpp:37
This class contains the configuration of a level of cache of processor.
Definition: Cache.h:34
The l-block is an abstraction allowing to split the basic block according to the bound of the cache b...
Definition: LBlock.h:43
virtual void processLBlock(WorkSpace *ws, LBlockSet *set, LBlock *lblock)
Called for each LBlock.
Definition: proc_LBlockProcessor.cpp:78
virtual void processWorkSpace(WorkSpace *ws)
Process the given framework.
Definition: proc_LBlockProcessor.cpp:43
This class represents the list of l-blocks of a task for a chosen cache row.
Definition: LBlockSet.h:38
This is a specialization of the processor class dedicated to LBlock.
Definition: LBlockProcessor.h:20
const hard::Cache * _cache
Definition: LBlockProcessor.h:32