Public Member Functions

OA::DUG::DUGIRInterface Class Reference

#include <DUGIRInterface.hpp>

Inheritance diagram for OA::DUG::DUGIRInterface:
Inheritance graph
[legend]
Collaboration diagram for OA::DUG::DUGIRInterface:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DUGIRInterface ()
virtual ~DUGIRInterface ()
virtual OA_ptr
< MemRefExprIterator
getIndepMemRefExprIter (ProcHandle h)=0
 Return an iterator over all independent MemRefExpr for given proc.
virtual OA_ptr
< MemRefExprIterator
getDepMemRefExprIter (ProcHandle h)=0
 Return and iterator over all dependent locations for given proc.
virtual OA_ptr< IRStmtIteratorgetStmtIterator (ProcHandle h)=0
virtual OA_ptr
< IRCallsiteIterator
getCallsites (StmtHandle h)=0
 Return an iterator over all of the callsites in a given stmt.
virtual OA::OA_ptr
< OA::IRCallsiteParamIterator
getCallsiteParams (OA::CallHandle h)=0
virtual OA_ptr< ExprTreegetExprTree (ExprHandle h)=0
 Given an ExprHandle, return an ExprTree.
virtual SymHandle getSymHandle (CallHandle expr)=0
 Given a function call return the callee symbol handle.
virtual ProcHandle getProcHandle (SymHandle sym)=0
 Given the callee symbol returns the callee proc handle.
virtual OA_ptr< LocationgetLocation (ProcHandle p, SymHandle s)=0
virtual OA_ptr
< MemRefHandleIterator
getDefMemRefs (StmtHandle stmt)=0
virtual OA_ptr
< MemRefHandleIterator
getUseMemRefs (StmtHandle stmt)=0
virtual OA_ptr
< MemRefExprIterator
getMemRefExprIterator (MemRefHandle h)=0
virtual OA_ptr
< MemRefHandleIterator
getAllMemRefs (StmtHandle stmt)=0
virtual OA::OA_ptr
< OA::MemRefExpr
convertSymToMemRefExpr (OA::SymHandle sym)=0
virtual OA::OA_ptr
< OA::MemRefExprIterator
getUseMREs (OA::StmtHandle stmt)=0
virtual OA::OA_ptr
< OA::MemRefExprIterator
getDefMREs (OA::StmtHandle stmt)=0
virtual OA::SymHandle getFormalSym (OA::ProcHandle, int)=0

Detailed Description

The DUGIRInterface abstract base class gives a set of methods for manipulating a program. This is the primary interface to the underlying intermediate representation.

Definition at line 40 of file DUGIRInterface.hpp.


Constructor & Destructor Documentation

OA::DUG::DUGIRInterface::DUGIRInterface (  )  [inline]

Definition at line 42 of file DUGIRInterface.hpp.

virtual OA::DUG::DUGIRInterface::~DUGIRInterface (  )  [inline, virtual]

Definition at line 43 of file DUGIRInterface.hpp.


Member Function Documentation

virtual OA::OA_ptr<OA::MemRefExpr> OA::DUG::DUGIRInterface::convertSymToMemRefExpr ( OA::SymHandle  sym  )  [pure virtual]
virtual OA_ptr<MemRefHandleIterator> OA::DUG::DUGIRInterface::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.

virtual OA::OA_ptr<OA::IRCallsiteParamIterator> OA::DUG::DUGIRInterface::getCallsiteParams ( OA::CallHandle  h  )  [pure virtual]

Get IRCallsiteParamIterator for a callsite. Iterator visits actual parameters in called order.

virtual OA_ptr<IRCallsiteIterator> OA::DUG::DUGIRInterface::getCallsites ( StmtHandle  h  )  [pure virtual]

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

virtual OA_ptr<MemRefHandleIterator> OA::DUG::DUGIRInterface::getDefMemRefs ( StmtHandle  stmt  )  [pure virtual]

Return a list of all the def memory reference handles that appear in the given statement. User is responsible for deleting the list

virtual OA::OA_ptr<OA::MemRefExprIterator> OA::DUG::DUGIRInterface::getDefMREs ( OA::StmtHandle  stmt  )  [pure virtual]
virtual OA_ptr<MemRefExprIterator> OA::DUG::DUGIRInterface::getDepMemRefExprIter ( ProcHandle  h  )  [pure virtual]

Return and iterator over all dependent locations for given proc.

virtual OA_ptr<ExprTree> OA::DUG::DUGIRInterface::getExprTree ( ExprHandle  h  )  [pure virtual]

Given an ExprHandle, return an ExprTree.

virtual OA::SymHandle OA::DUG::DUGIRInterface::getFormalSym ( OA::ProcHandle  ,
int   
) [pure virtual]
virtual OA_ptr<MemRefExprIterator> OA::DUG::DUGIRInterface::getIndepMemRefExprIter ( ProcHandle  h  )  [pure virtual]

Return an iterator over all independent MemRefExpr for given proc.

Return and iterator over all independent locations for given proc if not known then must return iterator over set with UnknownLoc Return and iterator over all dependent locations for given proc if not known then must return iterator over set with UnknownLoc

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

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

virtual OA_ptr<MemRefExprIterator> OA::DUG::DUGIRInterface::getMemRefExprIterator ( MemRefHandle  h  )  [pure virtual]

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

virtual ProcHandle OA::DUG::DUGIRInterface::getProcHandle ( SymHandle  sym  )  [pure virtual]

Given the callee symbol returns the callee proc handle.

virtual OA_ptr<IRStmtIterator> OA::DUG::DUGIRInterface::getStmtIterator ( ProcHandle  h  )  [pure virtual]

Given a subprogram return an IRStmtIterator* for the entire subprogram The user must free the iterator's memory via delete.

virtual SymHandle OA::DUG::DUGIRInterface::getSymHandle ( CallHandle  expr  )  [pure virtual]

Given a function call return the callee symbol handle.

virtual OA_ptr<MemRefHandleIterator> OA::DUG::DUGIRInterface::getUseMemRefs ( StmtHandle  stmt  )  [pure virtual]

Return a list of all the source and sub memory reference handles that appear in the given statement. User is responsible for deleting the list

virtual OA::OA_ptr<OA::MemRefExprIterator> OA::DUG::DUGIRInterface::getUseMREs ( OA::StmtHandle  stmt  )  [pure virtual]

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