OpenADFortTk (including Open64 and OpenAnalysis references)
|
#include <MemRefExpr.hpp>
Public Member Functions | |
IdxAccess (MemRefType mrType, OA_ptr< MemRefExpr > mre, int idx) | |
IdxAccess (IdxAccess &mre) | |
copy constructor More... | |
~IdxAccess () | |
void | acceptVisitor (MemRefExprVisitor &pVisitor) |
OA_ptr< MemRefExpr > | clone () |
return a ptr to a copy of self More... | |
bool | isaIdxAccess () |
bool | isSubClassOfSubSetRef () |
int | getIdx () |
virtual std::string | typeString () |
bool | operator< (MemRefExpr &other) |
bool | operator== (MemRefExpr &other) |
void | output (IRHandlesIRInterface &ir) |
virtual void | dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > pIR) |
virtual void | dump (std::ostream &os, IRHandlesIRInterface &pIR) |
virtual void | dump (std::ostream &os) |
virtual int | getOrder () |
Public Member Functions inherited from OA::SubSetRef | |
SubSetRef (MemRefType mrType, OA_ptr< MemRefExpr > mre) | |
SubSetRef (SubSetRef &mre) | |
copy constructor More... | |
virtual | ~SubSetRef () |
virtual bool | isaSubSetRef () |
OA_ptr< MemRefExpr > | composeWith (OA_ptr< MemRefExpr > mre) |
Will make this Refop wrap the given mre and return the result. More... | |
Public Member Functions inherited from OA::RefOp | |
RefOp (MemRefType mrType, OA_ptr< MemRefExpr > mre) | |
RefOp (RefOp &mre) | |
copy constructor More... | |
virtual | ~RefOp () |
bool | isaRefOp () |
SymHandle | getBaseSym () |
OA_ptr< MemRefExpr > | getBase () |
OA_ptr< MemRefExpr > | getMemRefExpr () |
Return the MRE that decorating this object. More... | |
Public Member Functions inherited from OA::MemRefExpr | |
MemRefExpr (MemRefType mrType) | |
MemRefExpr (MemRefExpr &mre) | |
copy constructor More... | |
virtual | ~MemRefExpr () |
virtual bool | isaNamed () |
virtual bool | isaUnnamed () |
virtual bool | isaUnknown () |
virtual bool | isaDeref () |
virtual bool | isaAddressOf () |
virtual bool | isaIdxExprAccess () |
virtual bool | isaFieldAccess () |
MemRefType | getMRType () |
whether USE/DEF MemRefExpr More... | |
bool | isDef () |
is this a def mem ref More... | |
bool | isUse () |
is this a use mem ref More... | |
bool | isDefUse () |
is this a defuse mem ref More... | |
bool | isUseDef () |
is this a usedef mem ref More... | |
void | setMemRefType (MemRefExpr::MemRefType mrType) |
specify the memory reference type More... | |
bool | operator!= (MemRefExpr &other) |
std::string | toString (MemRefType) |
Public Member Functions inherited from OA::Annotation | |
Annotation () | |
virtual | ~Annotation () |
Private Attributes | |
int | mIdx |
Static Private Attributes | |
static const int | sOrder = 400 |
Additional Inherited Members | |
Public Types inherited from OA::MemRefExpr | |
enum | MemRefType { USE, DEF, USEDEF, DEFUSE } |
Static Public Member Functions inherited from OA::Annotation | |
static void | configOutput (OA_ptr< OutputBuilder > ob) |
Static Protected Attributes inherited from OA::Annotation | |
static OA_ptr< OutputBuilder > | sOutBuild |
The IdxAccess class indicates a constant array index.
Definition at line 647 of file MemRefExpr.hpp.
|
inline |
Definition at line 650 of file MemRefExpr.hpp.
Referenced by clone().
|
inline |
copy constructor
Definition at line 654 of file MemRefExpr.hpp.
|
inline |
Definition at line 656 of file MemRefExpr.hpp.
|
virtual |
Reimplemented from OA::SubSetRef.
Definition at line 682 of file MemRefExpr.cpp.
References OA::MemRefExprVisitor::visitIdxAccess().
|
virtual |
return a ptr to a copy of self
Reimplemented from OA::SubSetRef.
Definition at line 687 of file MemRefExpr.cpp.
References IdxAccess().
|
virtual |
Reimplemented from OA::SubSetRef.
Definition at line 769 of file MemRefExpr.cpp.
Referenced by main().
|
virtual |
Reimplemented from OA::SubSetRef.
Definition at line 760 of file MemRefExpr.cpp.
References OA::MemRefExpr::dump(), getIdx(), and OA::RefOp::getMemRefExpr().
|
virtual |
Reimplemented from OA::SubSetRef.
Definition at line 751 of file MemRefExpr.cpp.
References OA::MemRefExpr::dump(), getIdx(), and OA::RefOp::getMemRefExpr().
|
inline |
Definition at line 672 of file MemRefExpr.hpp.
References mIdx.
Referenced by dump(), operator<(), operator==(), NotationGenerator::outputMemRefExpr(), OA::Alias::InvisibleLocationVisitor::visitIdxAccess(), and OA::Alias::OuterRefOpVisitor::visitIdxAccess().
|
inlinevirtual |
Reimplemented from OA::SubSetRef.
Definition at line 697 of file MemRefExpr.hpp.
References sOrder.
Referenced by operator<(), and operator==().
|
inlinevirtual |
Reimplemented from OA::MemRefExpr.
Definition at line 666 of file MemRefExpr.hpp.
|
inlinevirtual |
Reimplemented from OA::SubSetRef.
Definition at line 667 of file MemRefExpr.hpp.
|
virtual |
References are ordered first between MemRefExpr subclasses in an specific order: NamedRef < UnnamedRef < Deref < SubSetRefs( IdxAccess < ... ) < UnknownRef. Then there is a consistent ordering within each subclass.
For IdxAccess ordering is done by underlying reference and then then idx.
Any subclasses to SubSetRef that are added later must handle IdxAccess specifically, otherwise there will be inconsistent ordering.
Reimplemented from OA::SubSetRef.
Definition at line 707 of file MemRefExpr.cpp.
References getIdx(), OA::RefOp::getMemRefExpr(), OA::MemRefExpr::getOrder(), and getOrder().
|
virtual |
check if two memory references are equal at the level of accuracy provided by the MemRefExpr approximation
Reimplemented from OA::SubSetRef.
Definition at line 725 of file MemRefExpr.cpp.
References getIdx(), OA::RefOp::getMemRefExpr(), OA::MemRefExpr::getOrder(), and getOrder().
|
virtual |
Reimplemented from OA::SubSetRef.
Definition at line 742 of file MemRefExpr.cpp.
References OA::int2string(), mIdx, OA::RefOp::output(), and OA::Annotation::sOutBuild.
|
inlinevirtual |
Reimplemented from OA::SubSetRef.
Definition at line 673 of file MemRefExpr.hpp.
|
private |
Definition at line 701 of file MemRefExpr.hpp.
|
staticprivate |
Definition at line 700 of file MemRefExpr.hpp.
Referenced by getOrder().