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
LinearityLocsVisitor.hpp
Go to the documentation of this file.
1
17
#ifndef LinearityVisitor_H
18
#define LinearityVisitor_H
19
20
#include <
OpenAnalysis/IRInterface/IRHandles.hpp
>
21
#include <
OpenAnalysis/IRInterface/LinearityIRInterface.hpp
>
22
#include <
OpenAnalysis/ExprTree/ExprTree.hpp
>
23
#include <
OpenAnalysis/ExprTree/ExprTreeVisitor.hpp
>
24
#include <
OpenAnalysis/Linearity/LinearityDepsSet.hpp
>
25
#include <
OpenAnalysis/Linearity/LinearityMatrixStandard.hpp
>
26
#include <
OpenAnalysis/Alias/Interface.hpp
>
27
#include <
OpenAnalysis/DataFlow/ParamBindings.hpp
>
28
#include <
OpenAnalysis/Linearity/Interface.hpp
>
29
#include <
OpenAnalysis/ExprTree/MemRefsVisitor.hpp
>
30
31
namespace
OA {
32
33
//--------------------------------------------------------------------
36
class
LinearityLocsVisitor
:
public
ExprTreeVisitor
{
37
public
:
38
LinearityLocsVisitor
(
OA_ptr<Linearity::LinearityIRInterface>
ir,
39
OA_ptr<Linearity::Interface>
rc,
40
OA_ptr<Alias::Interface>
alias,
41
OA_ptr<DataFlow::ParamBindings>
paramBind);
42
~LinearityLocsVisitor
() {}
43
44
void
visitExprTreeBefore
(
ExprTree
&) { }
45
void
visitExprTreeAfter
(
ExprTree
&) { }
46
47
//---------------------------------------
48
// method for each ExprTree::Node subclass
49
//---------------------------------------
50
// default base class so that visitors can handle unknown
51
// node sub-classes in a generic fashion
52
void
visitNode
(
ExprTree::Node
&);
53
54
void
visitOpNode
(
ExprTree::OpNode
&
n
);
55
void
visitCallNode
(
ExprTree::CallNode
&
n
);
56
void
visitMemRefNode
(
ExprTree::MemRefNode
&
n
);
57
void
visitConstSymNode
(
ExprTree::ConstSymNode
&
n
);
58
void
visitConstValNode
(
ExprTree::ConstValNode
&
n
);
59
60
bool
getIsConst
() {
return
mIsConst
; }
61
63
OA_ptr<Linearity::LinearityDepsSet>
getDepsSet
() {
return
mDeps
; }
64
65
private
:
66
OA_ptr<Linearity::LinearityDepsSet>
mDeps
;
67
OA_ptr<Linearity::LinearityIRInterface>
mIR
;
68
OA_ptr<Linearity::Interface>
mLM
;
69
OA_ptr<Alias::Interface>
mAlias
;
70
OA_ptr<DataFlow::ParamBindings>
mParamBind
;
71
bool
mIsConst
;
72
};
73
74
75
}
// end of OA namespace
76
77
#endif
OpenAnalysis
src
OpenAnalysis
ExprTree
LinearityLocsVisitor.hpp
Generated on Fri Mar 14 2014 04:23:10 for OpenADFortTk (including Open64 and OpenAnalysis references) by
1.8.4