ROSE
0.9.6a
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
IntraProcDataFlowAnalysis.h
Go to the documentation of this file.
1
/*
2
* File: IntraProcDataFlowAnalyis.h
3
* Author: rahman2
4
*
5
* Created on August 15, 2011, 10:28 AM
6
*/
7
#ifndef INTRAPROCDATAFLOWANALYIS_H
8
#define INTRAPROCDATAFLOWANALYIS_H
9
10
11
template
<
class
Node,
class
Data>
12
class
IntraProcDataFlowAnalysis
13
{
14
15
virtual
Data
meet_data
(
const
Data& d1,
const
Data& d2) = 0;
16
17
virtual
Data
getCFGInData
(Node *) = 0;
18
19
virtual
Data
getCFGOutData
(Node *) = 0;
20
21
virtual
void
setCFGInData
(Node*, Data &) = 0;
22
23
virtual
void
applyCFGTransferFunction
(Node* ) = 0;
24
25
virtual
void
buildCFG
() = 0;
26
public
:
27
28
// Creating an empty DAG
29
IntraProcDataFlowAnalysis
(
SgNode
*
head
);
30
31
virtual
void
run
();
32
// Get all the nodes
33
virtual
std::vector<Node *>
getAllNodes
() = 0;
34
35
// Get all the Predecessors of a current Node
36
virtual
std::vector<Node *>
getPredecessors
(Node *n) = 0;
37
38
protected
:
39
SgNode
*
head
;
40
41
};
42
43
#endif
/* INTRAPROCDATAFLOWANALYIS_H */
44
rose-edg4x
src
midend
programAnalysis
VirtualFunctionAnalysis
IntraProcDataFlowAnalysis.h
Generated on Mon May 5 2014 17:29:24 for ROSE by
1.8.4