Public Member Functions | Private Member Functions | Private Attributes

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 (  ) 

Definition at line 223 of file ManagerFIAlias.cpp.

bool OA::Alias::InvisibleLocationVisitor::isInvisibleRef (  ) 

Definition at line 218 of file ManagerFIAlias.cpp.

void OA::Alias::InvisibleLocationVisitor::notInvisible (  )  [private]

Definition at line 238 of file ManagerFIAlias.cpp.

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

Implements OA::MemRefExprVisitor.

Definition at line 245 of file ManagerFIAlias.cpp.

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

Implements OA::MemRefExprVisitor.

Definition at line 272 of file ManagerFIAlias.cpp.

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

Reimplemented from OA::MemRefExprVisitor.

Definition at line 299 of file ManagerFIAlias.cpp.

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

Reimplemented from OA::MemRefExprVisitor.

Definition at line 309 of file ManagerFIAlias.cpp.

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

Reimplemented from OA::MemRefExprVisitor.

Definition at line 319 of file ManagerFIAlias.cpp.

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 251 of file ManagerFIAlias.cpp.

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

Implements OA::MemRefExprVisitor.

Definition at line 287 of file ManagerFIAlias.cpp.

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

Implements OA::MemRefExprVisitor.

Definition at line 233 of file ManagerFIAlias.cpp.

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

Implements OA::MemRefExprVisitor.

Definition at line 228 of file ManagerFIAlias.cpp.


Member Data Documentation

Definition at line 117 of file ManagerFIAlias.hpp.

Definition at line 116 of file ManagerFIAlias.hpp.

Definition at line 115 of file ManagerFIAlias.hpp.

Definition at line 119 of file ManagerFIAlias.hpp.

Definition at line 118 of file ManagerFIAlias.hpp.

Definition at line 120 of file ManagerFIAlias.hpp.

Definition at line 121 of file ManagerFIAlias.hpp.


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