OpenADFortTk (including Open64 and OpenAnalysis references)
|
#include <AliasIRInterface.hpp>
Public Member Functions | |
AliasIRInterface () | |
virtual | ~AliasIRInterface () |
virtual OA_ptr< IRStmtIterator > | getStmtIterator (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. More... | |
virtual OA_ptr< MemRefExpr > | getCallMemRefExpr (CallHandle h)=0 |
virtual ProcHandle | getProcHandle (SymHandle sym)=0 |
Given the callee symbol returns the callee proc handle. More... | |
virtual SymHandle | getSymHandle (ProcHandle h)=0 |
Given a procedure return associated SymHandle. More... | |
virtual OA_ptr< Location > | getLocation (ProcHandle p, SymHandle s)=0 |
virtual OA_ptr < MemRefExprIterator > | getMemRefExprIterator (MemRefHandle h)=0 |
Public Member Functions inherited from OA::IRHandlesIRInterface | |
virtual | ~IRHandlesIRInterface () |
virtual std::string | toString (const ProcHandle h)=0 |
virtual std::string | toString (const StmtHandle h)=0 |
virtual std::string | toString (const ExprHandle h)=0 |
virtual std::string | toString (const OpHandle h)=0 |
virtual std::string | toString (const MemRefHandle h)=0 |
virtual std::string | toString (const CallHandle h)=0 |
virtual std::string | toString (const SymHandle h)=0 |
virtual std::string | toString (const ConstSymHandle h)=0 |
virtual std::string | toString (const ConstValHandle h)=0 |
virtual void | dump (MemRefHandle h, std::ostream &os)=0 |
Given a memory reference, pretty-print it to the output stream os. More... | |
virtual void | dump (StmtHandle stmt, std::ostream &os)=0 |
Given a statement, pretty-print it to the output stream os. More... | |
virtual void | dump (SymHandle sym, std::ostream &os)=0 |
Given a statement, pretty-print it to the output stream os. More... | |
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.
|
inline |
Definition at line 73 of file AliasIRInterface.hpp.
|
inlinevirtual |
Definition at line 74 of file AliasIRInterface.hpp.
|
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, and OA::DUG::DUGIRInterface.
Referenced by NotationGenerator::outputMemRefExprs().
|
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.
Referenced by NotationGenerator::outputCallSites().
|
pure virtual |
Return an iterator over all of the callsites in a given stmt.
Implemented in Open64IRInterface, and OA::DUG::DUGIRInterface.
Referenced by NotationGenerator::outputCallSites(), and NotationGenerator::outputParamBindPtrAssignPairs().
|
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, and OA::DUG::DUGIRInterface.
Referenced by NotationGenerator::outputFormals().
|
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, and OA::DUG::DUGIRInterface.
Referenced by NotationGenerator::outputLocation().
|
pure virtual |
Given a MemRefHandle return an iterator over MemRefExprs that describe this memory reference
Implemented in Open64IRInterface, and OA::DUG::DUGIRInterface.
Referenced by NotationGenerator::outputMemRefExprs().
|
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.
Referenced by NotationGenerator::outputParamBindPtrAssignPairs().
|
pure virtual |
Given the callee symbol returns the callee proc handle.
Implemented in Open64IRInterface, and OA::DUG::DUGIRInterface.
|
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.
Referenced by NotationGenerator::outputPtrAssignPairs().
|
pure virtual |
Given a subprogram return an IRStmtIterator for the entire subprogram
Implemented in Open64IRInterface, and OA::DUG::DUGIRInterface.
Referenced by NotationGenerator::generate().
|
pure virtual |
Given a procedure return associated SymHandle.
Implemented in Open64IRInterface.
Referenced by NotationGenerator::outputProcedure().