OA::Alias::InvisibleLocationVisitor Class Reference

#include <ManagerFIAlias.hpp>

Inheritance diagram for OA::Alias::InvisibleLocationVisitor:
Inheritance graph
[legend]
Collaboration diagram for OA::Alias::InvisibleLocationVisitor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 InvisibleLocationVisitor (OA_ptr< AliasIRInterface > ir, ProcHandle proc, std::set< SymHandle > &procFormalSet)
 ~InvisibleLocationVisitor ()
bool isInvisibleRef ()
OA_ptr< LocationgetInvisibleRefLoc ()
void visitNamedRef (NamedRef &ref)
void visitUnnamedRef (UnnamedRef &ref)
void visitUnknownRef (UnknownRef &ref)
void visitDeref (Deref &ref)
void visitAddressOf (AddressOf &ref)
void visitSubSetRef (SubSetRef &ref)
void visitFieldAccess (FieldAccess &ref)
void visitIdxAccess (IdxAccess &ref)
void visitIdxExprAccess (IdxExprAccess &ref)

Private Member Functions

void notInvisible ()

Private Attributes

bool mInvisibleRef
bool mBaseIsNotLocal
bool mBaseIsFormal
OA_ptr< LocationmLoc
OA_ptr< AliasIRInterfacemIR
ProcHandle mProc
std::set< SymHandle > & mProcFormalSet

Detailed Description

Visitor over memory reference expressions that determines if a memory reference is some level of dereference involving a formal parameter or a symbol that is visible outside of the current procedure and inside the current proc. If so then an InvisibleLoc is created.

Definition at line 81 of file ManagerFIAlias.hpp.


Constructor & Destructor Documentation

OA::Alias::InvisibleLocationVisitor::InvisibleLocationVisitor ( OA_ptr< AliasIRInterface ir,
ProcHandle  proc,
std::set< SymHandle > &  procFormalSet 
) [inline]

Definition at line 83 of file ManagerFIAlias.hpp.

OA::Alias::InvisibleLocationVisitor::~InvisibleLocationVisitor (  )  [inline]

Definition at line 87 of file ManagerFIAlias.hpp.


Member Function Documentation

OA_ptr< Location > OA::Alias::InvisibleLocationVisitor::getInvisibleRefLoc (  ) 
bool OA::Alias::InvisibleLocationVisitor::isInvisibleRef (  ) 
void OA::Alias::InvisibleLocationVisitor::notInvisible (  )  [private]

Definition at line 241 of file ManagerFIAlias.cpp.

References mInvisibleRef, and mLoc.

Referenced by visitAddressOf(), visitNamedRef(), visitUnknownRef(), and visitUnnamedRef().

void OA::Alias::InvisibleLocationVisitor::visitAddressOf ( AddressOf ref  )  [virtual]

Implements OA::MemRefExprVisitor.

Definition at line 248 of file ManagerFIAlias.cpp.

References notInvisible().

Here is the call graph for this function:

void OA::Alias::InvisibleLocationVisitor::visitDeref ( Deref ref  )  [virtual]

Implements OA::MemRefExprVisitor.

Definition at line 275 of file ManagerFIAlias.cpp.

References OA::Deref::clone(), OA::RefOp::getMemRefExpr(), mBaseIsFormal, mBaseIsNotLocal, mInvisibleRef, mLoc, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::Alias::InvisibleLocationVisitor::visitFieldAccess ( FieldAccess ref  )  [virtual]

Reimplemented from OA::MemRefExprVisitor.

Definition at line 302 of file ManagerFIAlias.cpp.

References OA::FieldAccess::getFieldName(), OA::RefOp::getMemRefExpr(), mInvisibleRef, mLoc, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::Alias::InvisibleLocationVisitor::visitIdxAccess ( IdxAccess ref  )  [virtual]

Reimplemented from OA::MemRefExprVisitor.

Definition at line 312 of file ManagerFIAlias.cpp.

References OA::IdxAccess::getIdx(), OA::RefOp::getMemRefExpr(), mInvisibleRef, mLoc, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::Alias::InvisibleLocationVisitor::visitIdxExprAccess ( IdxExprAccess ref  )  [virtual]

Reimplemented from OA::MemRefExprVisitor.

Definition at line 322 of file ManagerFIAlias.cpp.

References OA::RefOp::getMemRefExpr(), mInvisibleRef, mLoc, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::Alias::InvisibleLocationVisitor::visitNamedRef ( NamedRef ref  )  [virtual]

if NamedRef is the base of a derference then we need to know whether the NamedRef is a formal or not local

Implements OA::MemRefExprVisitor.

Definition at line 254 of file ManagerFIAlias.cpp.

References OA::NamedRef::getSymHandle(), mBaseIsFormal, mBaseIsNotLocal, mInvisibleRef, mIR, mLoc, mProc, mProcFormalSet, notInvisible(), and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::Alias::InvisibleLocationVisitor::visitSubSetRef ( SubSetRef ref  )  [virtual]

Implements OA::MemRefExprVisitor.

Definition at line 290 of file ManagerFIAlias.cpp.

References OA::RefOp::getMemRefExpr(), mInvisibleRef, mLoc, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::Alias::InvisibleLocationVisitor::visitUnknownRef ( UnknownRef ref  )  [virtual]

Implements OA::MemRefExprVisitor.

Definition at line 236 of file ManagerFIAlias.cpp.

References notInvisible().

Here is the call graph for this function:

void OA::Alias::InvisibleLocationVisitor::visitUnnamedRef ( UnnamedRef ref  )  [virtual]

Implements OA::MemRefExprVisitor.

Definition at line 231 of file ManagerFIAlias.cpp.

References notInvisible().

Here is the call graph for this function:


Member Data Documentation

Definition at line 117 of file ManagerFIAlias.hpp.

Referenced by visitDeref(), and visitNamedRef().

Definition at line 116 of file ManagerFIAlias.hpp.

Referenced by visitDeref(), and visitNamedRef().

Definition at line 119 of file ManagerFIAlias.hpp.

Referenced by visitNamedRef().

Definition at line 120 of file ManagerFIAlias.hpp.

Referenced by visitNamedRef().

Definition at line 121 of file ManagerFIAlias.hpp.

Referenced by visitNamedRef().


The documentation for this class was generated from the following files:

Generated on Sat Oct 31 05:29:55 2009 for OpenAnalysis by  doxygen 1.6.1