OpenADFortTk (including Open64 and OpenAnalysis references)
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
ReachConstsIRInterface.hpp
Go to the documentation of this file.
1
21
#ifndef ReachConstsIRInterface_h
22
#define ReachConstsIRInterface_h
23
24
#include <
OpenAnalysis/IRInterface/IRHandles.hpp
>
25
#include <
OpenAnalysis/Utils/OA_ptr.hpp
>
26
#include <
OpenAnalysis/ExprTree/ExprTree.hpp
>
27
#include <
OpenAnalysis/IRInterface/ConstValBasicInterface.hpp
>
28
#include <
OpenAnalysis/IRInterface/EvalToConstVisitorIRInterface.hpp
>
29
//#include <OpenAnalysis/IRInterface/ExprStmtPairIterator.hpp>
30
#include <
OpenAnalysis/IRInterface/AssignPairIterator.hpp
>
31
#include <
OpenAnalysis/IRInterface/CalleeToCallerVisitorIRInterface.hpp
>
32
33
namespace
OA {
34
namespace
ReachConsts {
35
41
class
ReachConstsIRInterface
:
public
virtual
IRHandlesIRInterface
,
42
public
virtual
EvalToConstVisitorIRInterface
,
43
public
virtual
DataFlow::CalleeToCallerVisitorIRInterface
44
{
45
public
:
46
ReachConstsIRInterface
() { }
47
virtual
~ReachConstsIRInterface
() { }
48
51
virtual
OA_ptr<IRStmtIterator>
getStmtIterator
(
ProcHandle
h) = 0;
52
54
//virtual std::string toString(const StmtHandle h) = 0;
55
57
//virtual std::string toString(const MemRefHandle h) = 0;
58
61
virtual
OA_ptr<MemRefHandleIterator>
getAllMemRefs
(
StmtHandle
stmt) = 0;
62
65
virtual
OA_ptr<MemRefHandleIterator>
getDefMemRefs
(
StmtHandle
stmt) = 0;
66
69
virtual
OA_ptr<MemRefHandleIterator>
getUseMemRefs
(
StmtHandle
stmt) = 0;
70
74
virtual
OA_ptr<AssignPairIterator>
75
getAssignPairIterator
(
StmtHandle
h) = 0;
76
80
virtual
OA_ptr<ConstValBasicInterface>
81
evalOp
(
OpHandle
op,
OA_ptr<ConstValBasicInterface>
operand1,
82
OA_ptr<ConstValBasicInterface>
operand2) = 0;
83
86
virtual
OA_ptr<ConstValBasicInterface>
getConstValBasic
(
ConstSymHandle
c) = 0;
87
90
virtual
OA_ptr<ConstValBasicInterface>
getConstValBasic
(
ConstValHandle
c) = 0;
91
93
// given a ConstValBasicInterface, print out value if any
94
virtual
std::string
toString
(
OA_ptr<ConstValBasicInterface>
cvPtr) = 0;
95
// need all for full override
96
virtual
std::string
toString
(
const
ProcHandle
h) = 0;
97
virtual
std::string
toString
(
const
StmtHandle
h) = 0;
98
virtual
std::string
toString
(
const
ExprHandle
h) = 0;
99
virtual
std::string
toString
(
const
OpHandle
h) = 0;
100
virtual
std::string
toString
(
const
MemRefHandle
h) = 0;
101
virtual
std::string
toString
(
const
SymHandle
h) = 0;
102
virtual
std::string
toString
(
const
ConstSymHandle
h) = 0;
103
virtual
std::string
toString
(
const
ConstValHandle
h) = 0;
104
105
107
// Given an unsigned int, return a ConstValBAsicInterface for it
108
virtual
OA_ptr<ConstValBasicInterface>
getConstValBasic
(
unsigned
int
val
) = 0;
109
111
virtual
OA_ptr<ExprTree>
getExprTree
(
ExprHandle
h) = 0;
112
114
virtual
OA_ptr<IRCallsiteIterator>
getCallsites
(
StmtHandle
h) = 0;
115
117
// should be removed after testing
118
virtual
int
returnOpEnumValInt
(
OA::OpHandle
op) = 0;
119
120
};
121
122
}
// end of namespace ReachConsts
123
}
// end of namespace OA
124
125
#endif
OpenAnalysis
src
OpenAnalysis
IRInterface
ReachConstsIRInterface.hpp
Generated on Fri Mar 14 2014 04:23:11 for OpenADFortTk (including Open64 and OpenAnalysis references) by
1.8.4