OA::Alias::AliasIRInterface Class Reference

#include <AliasIRInterface.hpp>

Inheritance diagram for OA::Alias::AliasIRInterface:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 AliasIRInterface ()
virtual ~AliasIRInterface ()
virtual OA_ptr< IRStmtIteratorgetStmtIterator (ProcHandle h)=0
virtual OA_ptr
< MemRefHandleIterator
getAllMemRefs (StmtHandle stmt)=0
virtual OA_ptr
< PtrAssignPairStmtIterator
getPtrAssignStmtPairIterator (StmtHandle stmt)=0
virtual OA_ptr
< ParamBindPtrAssignIterator
getParamBindPtrAssignIterator (CallHandle call)=0
virtual SymHandle getFormalSym (ProcHandle, int)=0
virtual OA_ptr
< IRCallsiteIterator
getCallsites (StmtHandle h)=0
 Return an iterator over all of the callsites in a given stmt.
virtual OA_ptr< MemRefExprgetCallMemRefExpr (CallHandle h)=0
virtual ProcHandle getProcHandle (SymHandle sym)=0
 Given the callee symbol returns the callee proc handle.
virtual SymHandle getSymHandle (ProcHandle h)=0
 Given a procedure return associated SymHandle.
virtual OA_ptr< LocationgetLocation (ProcHandle p, SymHandle s)=0
virtual OA_ptr
< MemRefExprIterator
getMemRefExprIterator (MemRefHandle h)=0


Detailed Description

The AliasIRInterface abstract base class gives a set of methods for querying the source IR for information relevant to alias analysis. This is the primary interface for Alias to the underlying intermediate representation.

Definition at line 71 of file AliasIRInterface.hpp.


Constructor & Destructor Documentation

OA::Alias::AliasIRInterface::AliasIRInterface (  )  [inline]

Definition at line 73 of file AliasIRInterface.hpp.

virtual OA::Alias::AliasIRInterface::~AliasIRInterface (  )  [inline, virtual]

Definition at line 74 of file AliasIRInterface.hpp.


Member Function Documentation

virtual OA_ptr<MemRefHandleIterator> OA::Alias::AliasIRInterface::getAllMemRefs ( StmtHandle  stmt  )  [pure virtual]

Return an iterator over all the memory reference handles that appear in the given statement. Order that memory references are iterated over can be arbitrary.

Implemented in Open64IRInterface.

virtual OA_ptr<MemRefExpr> OA::Alias::AliasIRInterface::getCallMemRefExpr ( CallHandle  h  )  [pure virtual]

Given a procedure call create a memory reference expression to describe that call. For example, a normal call is a NamedRef. A call involving a function ptr is a Deref.

Implemented in Open64IRInterface.

virtual OA_ptr<IRCallsiteIterator> OA::Alias::AliasIRInterface::getCallsites ( StmtHandle  h  )  [pure virtual]

Return an iterator over all of the callsites in a given stmt.

Implemented in Open64IRInterface.

virtual SymHandle OA::Alias::AliasIRInterface::getFormalSym ( ProcHandle  ,
int   
) [pure virtual]

Return the symbol handle for the nth formal parameter to proc Number starts at 0 and implicit parameters should be given a number in the order as well. This number should correspond to the number provided in getParamBindPtrAssign pairs Should return SymHandle(0) if there is no formal parameter for given num

Implemented in Open64IRInterface.

virtual OA_ptr<Location> OA::Alias::AliasIRInterface::getLocation ( ProcHandle  p,
SymHandle  s 
) [pure virtual]

Given a subprogram return an IRSymIterator for all symbols that are visible in the subprogram Given a subprogram return an IRStmtIterator for all statements that involve an unnamed dynamic memory allocation in the subprogram For the given symbol create a Location that indicates statically overlapping locations and information about whether the location is local or not for the given procedure, local means only visible in this procedure

Implemented in Open64IRInterface.

virtual OA_ptr<MemRefExprIterator> OA::Alias::AliasIRInterface::getMemRefExprIterator ( MemRefHandle  h  )  [pure virtual]

Given a MemRefHandle return an iterator over MemRefExprs that describe this memory reference

Implemented in Open64IRInterface.

virtual OA_ptr<ParamBindPtrAssignIterator> OA::Alias::AliasIRInterface::getParamBindPtrAssignIterator ( CallHandle  call  )  [pure virtual]

Return an iterator over <int, MemRefExpr> pairs where the integer represents which formal parameter and the MemRefExpr describes the corresponding actual argument.

Implemented in Open64IRInterface.

virtual ProcHandle OA::Alias::AliasIRInterface::getProcHandle ( SymHandle  sym  )  [pure virtual]

Given the callee symbol returns the callee proc handle.

Implemented in Open64IRInterface.

virtual OA_ptr<PtrAssignPairStmtIterator> OA::Alias::AliasIRInterface::getPtrAssignStmtPairIterator ( StmtHandle  stmt  )  [pure virtual]

If this is a PTR_ASSIGN_STMT then return an iterator over MemRefHandle pairs where there is a source and target such that target

Implemented in Open64IRInterface.

virtual OA_ptr<IRStmtIterator> OA::Alias::AliasIRInterface::getStmtIterator ( ProcHandle  h  )  [pure virtual]

Given a subprogram return an IRStmtIterator for the entire subprogram

Implemented in Open64IRInterface.

virtual SymHandle OA::Alias::AliasIRInterface::getSymHandle ( ProcHandle  h  )  [pure virtual]

Given a procedure return associated SymHandle.

Implemented in Open64IRInterface.


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

Generated on Fri Jul 24 05:38:45 2009 for OpenADFortTk (extended to Open64) by  doxygen 1.5.7.1