Otawa  0.10
ClpAnalysis.h
Go to the documentation of this file.
1 /*
2  * $Id$
3  * ClpAnalysis processor interface
4  *
5  * This file is part of OTAWA
6  * Copyright (c) 2011, IRIT UPS.
7  *
8  * OTAWA is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * OTAWA is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with OTAWA; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21  * 02110-1301 USA
22  */
23 
24 #ifndef OTAWA_DATA_CLP_ANALYSIS_H_
25 #define OTAWA_DATA_CLP_ANALYSIS_H_
26 
27 #include <otawa/proc/Processor.h>
29 
30 namespace otawa {
31 
32 namespace hard { class Memory; }
33 
34 namespace clp {
35 
36 class Analysis: public Processor {
37 public:
41  static p::declare reg;
42 
43  Analysis(p::declare& r = reg);
44  virtual void configure(const PropList &props);
45 
47  inline clp::STAT_UINT get_nb_inst(void){ return _nb_inst; }
51  inline clp::STAT_UINT get_nb_set(void){ return _nb_set; }
53  inline clp::STAT_UINT get_nb_top_set(void){ return _nb_top_set; }
55  inline clp::STAT_UINT get_nb_store(void){ return _nb_store; }
61  inline clp::STAT_UINT get_nb_load(void){return _nb_load;}
65  inline clp::STAT_UINT get_nb_filters(void){ return _nb_filters; }
69  inline clp::STAT_UINT get_nb_top_load(void) const { return _nb_top_load; }
70 
71 protected:
72  virtual void setup(WorkSpace *ws);
73  virtual void processWorkSpace(WorkSpace *ws);
75 private:
76  const hard::Memory *mem;
88 };
89 
90 } } // otawa::clp
91 
92 #endif /* OTAWA_DATA_CLP_ANALYSIS_H_ */
clp::STAT_UINT get_nb_inst(void)
Definition: ClpAnalysis.h:47
clp::STAT_UINT get_nb_top_load(void) const
Definition: ClpAnalysis.h:69
clp::STAT_UINT get_nb_top_store_addr(void)
Definition: ClpAnalysis.h:59
clp::STAT_UINT _nb_top_store_addr
Definition: ClpAnalysis.h:82
clp::STAT_UINT get_nb_top_store(void)
Definition: ClpAnalysis.h:57
clp::STAT_UINT _nb_top_store
Definition: ClpAnalysis.h:81
Class to declare simple a processor.
Definition: Registration.h:213
clp::STAT_UINT get_nb_store(void)
Definition: ClpAnalysis.h:55
Analysis(p::declare &r=reg)
Definition: clp_analysis.cpp:2175
WorkSpace * ws
Definition: Processor.h:185
clp::STAT_UINT _nb_sem_inst
Definition: ClpAnalysis.h:77
Class to represent the whole memory of the platform.
Definition: Memory.h:173
clp::STAT_UINT _nb_filters
Definition: ClpAnalysis.h:86
clp::STAT_UINT _nb_top_filters
Definition: ClpAnalysis.h:87
clp::STAT_UINT get_nb_filters(void)
Definition: ClpAnalysis.h:65
clp::STAT_UINT get_nb_set(void)
Definition: ClpAnalysis.h:51
clp::STAT_UINT get_nb_load_top_addr(void)
Definition: ClpAnalysis.h:63
const hard::Memory * mem
Definition: ClpAnalysis.h:76
clp::STAT_UINT _nb_inst
Definition: ClpAnalysis.h:77
clp::STAT_UINT get_nb_sem_inst(void)
Definition: ClpAnalysis.h:49
clp::STAT_UINT _nb_set
Definition: ClpAnalysis.h:78
static Identifier< init_t > INITIAL
Initial state of the analysis.
Definition: ClpAnalysis.h:40
static p::declare reg
Definition: ClpAnalysis.h:41
The processor class is implemented by all code processor.
Definition: Processor.h:49
virtual void processWorkSpace(WorkSpace *ws)
Perform the analysis by processing the workspace.
Definition: clp_analysis.cpp:2204
A workspace represents a program, its run-time and all information about WCET computation or any othe...
Definition: WorkSpace.h:67
clp::STAT_UINT get_nb_top_set(void)
Definition: ClpAnalysis.h:53
genstruct::Vector< init_t > inits
Definition: ClpAnalysis.h:74
virtual void configure(const PropList &props)
Build the initial configuration of the Analysis fro a property list.
Definition: clp_analysis.cpp:2299
Definition: ClpAnalysis.h:36
clp::STAT_UINT _nb_load_top_addr
Definition: ClpAnalysis.h:85
clp::STAT_UINT get_nb_load(void)
Definition: ClpAnalysis.h:61
clp::STAT_UINT _nb_load
Definition: ClpAnalysis.h:83
This class represents identifier with a typed associated value.
Definition: Identifier.h:51
clp::STAT_UINT _nb_store
Definition: ClpAnalysis.h:80
clp::STAT_UINT get_nb_top_filters(void)
Definition: ClpAnalysis.h:67
This a list of properties.
Definition: PropList.h:63
virtual void setup(WorkSpace *ws)
This method is called before an anlysis to let the processor do some initialization.
Definition: clp_analysis.cpp:2195
clp::STAT_UINT _nb_top_set
Definition: ClpAnalysis.h:79
t::uint64 STAT_UINT
Definition: ClpValue.h:40
Pair< const hard::Register *, Address > init_t
Definition: ClpAnalysis.h:38
clp::STAT_UINT _nb_top_load
Definition: ClpAnalysis.h:84