OA::DataFlow::ParamBindings Class Reference

#include <ParamBindings.hpp>

Inheritance diagram for OA::DataFlow::ParamBindings:
Inheritance graph
[legend]
Collaboration diagram for OA::DataFlow::ParamBindings:
Collaboration graph
[legend]

List of all members.

Classes

class  ExprIterator
 An iterator over ExprHandles that is initialized with a list. More...
class  MemRefIterator
 An iterator over MemRefHandle's. More...
class  SymIterator
 An iterator over Symbols. More...

Public Member Functions

 ParamBindings ()
 ~ParamBindings ()
MemRefHandle getCallerMemRef (CallHandle call, SymHandle calleeFormal)
 get caller mem ref associated with callee formal
OA_ptr< MemRefHandleIteratorgetActualIterator (CallHandle call)
 returns an iterator over the memory reference parameters for a call
SymHandle getCalleeFormal (CallHandle call, MemRefHandle callerRef, ProcHandle callee)
 get callee formal associated with caller mem ref
OA_ptr< SymHandleIteratorgetFormalIterator (ProcHandle proc)
 returns an iterator over the formal symbols for a procedure
OA_ptr< ExprHandleIteratorgetActualExprHandleIterator (CallHandle call)
 returns true if given formal is a reference parameter
OA_ptr< ExprTreegetActualExprTree (ExprHandle expr)
 get ExprTree for actual ExprHandle
ExprHandle getActualExprHandle (CallHandle call, SymHandle formal)
 get actual ExprHandle in CallHandle for formal SymHandle
void output (IRHandlesIRInterface &ir)
void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
 debugging output
void mapMemRefToFormal (CallHandle call, MemRefHandle ref, ProcHandle callee, SymHandle sym)
void mapFormalToProc (SymHandle formal, ProcHandle proc)
void mapCallToExprList (CallHandle call, OA_ptr< std::list< ExprHandle > > elist)
void mapExprToTree (ExprHandle act_expr, OA_ptr< ExprTree > etree)
void mapFormalToExpr (CallHandle call, SymHandle formal, ExprHandle act_expr)

Private Attributes

OUTPUT GENOUT std::map
< CallHandle, std::map
< ProcHandle, std::map
< MemRefHandle, SymHandle > > > 
mCallerToCalleeMap
GENOUT std::map< CallHandle,
std::map< SymHandle,
MemRefHandle > > 
mCalleeToCallerMap
std::map< ProcHandle, OA_ptr
< std::set< SymHandle > > > 
mProcToFormalSetMap
std::map< CallHandle, OA_ptr
< std::set< MemRefHandle > > > 
mCallToActualSetMap
GENOUT std::map< CallHandle,
OA_ptr< std::list< ExprHandle > > > 
mCallToExprListMap
GENOUT std::map< ExprHandle,
OA_ptr< ExprTree > > 
mExprToTreeMap
GENOUT std::map< CallHandle,
std::map< SymHandle,
ExprHandle > > 
mCallToFormalToActualMap

Detailed Description

Definition at line 30 of file ParamBindings.hpp.


Constructor & Destructor Documentation

OA::DataFlow::ParamBindings::ParamBindings (  )  [inline]

Definition at line 32 of file ParamBindings.hpp.

OA::DataFlow::ParamBindings::~ParamBindings (  )  [inline]

Definition at line 33 of file ParamBindings.hpp.


Member Function Documentation

void OA::DataFlow::ParamBindings::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
)

debugging output

Definition at line 145 of file ParamBindings.cpp.

References mCallerToCalleeMap.

ExprHandle OA::DataFlow::ParamBindings::getActualExprHandle ( CallHandle  call,
SymHandle  formal 
)

get actual ExprHandle in CallHandle for formal SymHandle

Definition at line 86 of file ParamBindings.cpp.

References mCallToFormalToActualMap.

OA_ptr< ExprHandleIterator > OA::DataFlow::ParamBindings::getActualExprHandleIterator ( CallHandle  call  ) 

returns true if given formal is a reference parameter

returns an iterator over the actual ExprHandles for a call in order

Definition at line 67 of file ParamBindings.cpp.

References mCallToExprListMap.

Referenced by output().

OA_ptr< ExprTree > OA::DataFlow::ParamBindings::getActualExprTree ( ExprHandle  expr  ) 

get ExprTree for actual ExprHandle

Definition at line 81 of file ParamBindings.cpp.

References mExprToTreeMap.

OA_ptr< MemRefHandleIterator > OA::DataFlow::ParamBindings::getActualIterator ( CallHandle  call  ) 

returns an iterator over the memory reference parameters for a call

Definition at line 29 of file ParamBindings.cpp.

References mCallToActualSetMap, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

SymHandle OA::DataFlow::ParamBindings::getCalleeFormal ( CallHandle  call,
MemRefHandle  callerRef,
ProcHandle  callee 
)

get callee formal associated with caller mem ref

Definition at line 45 of file ParamBindings.cpp.

References mCallerToCalleeMap.

MemRefHandle OA::DataFlow::ParamBindings::getCallerMemRef ( CallHandle  call,
SymHandle  calleeFormal 
)

get caller mem ref associated with callee formal

Definition at line 23 of file ParamBindings.cpp.

References mCalleeToCallerMap.

OA_ptr< SymHandleIterator > OA::DataFlow::ParamBindings::getFormalIterator ( ProcHandle  proc  ) 

returns an iterator over the formal symbols for a procedure

Definition at line 52 of file ParamBindings.cpp.

References mProcToFormalSetMap.

void OA::DataFlow::ParamBindings::mapCallToExprList ( CallHandle  call,
OA_ptr< std::list< ExprHandle > >  elist 
)

Definition at line 127 of file ParamBindings.cpp.

References mCallToExprListMap.

void OA::DataFlow::ParamBindings::mapExprToTree ( ExprHandle  act_expr,
OA_ptr< ExprTree etree 
)

Definition at line 133 of file ParamBindings.cpp.

References mExprToTreeMap.

void OA::DataFlow::ParamBindings::mapFormalToExpr ( CallHandle  call,
SymHandle  formal,
ExprHandle  act_expr 
)

Definition at line 138 of file ParamBindings.cpp.

References mCallToFormalToActualMap.

void OA::DataFlow::ParamBindings::mapFormalToProc ( SymHandle  formal,
ProcHandle  proc 
)

Definition at line 108 of file ParamBindings.cpp.

References mProcToFormalSetMap.

void OA::DataFlow::ParamBindings::mapMemRefToFormal ( CallHandle  call,
MemRefHandle  ref,
ProcHandle  callee,
SymHandle  sym 
)

Definition at line 96 of file ParamBindings.cpp.

References mCalleeToCallerMap, mCallerToCalleeMap, and mCallToActualSetMap.

void OA::DataFlow::ParamBindings::output ( IRHandlesIRInterface ir  )  [virtual]

Member Data Documentation

Definition at line 86 of file ParamBindings.hpp.

Referenced by getCallerMemRef(), mapMemRefToFormal(), and output().

OUTPUT GENOUT std::map<CallHandle,std::map<ProcHandle,std::map<MemRefHandle,SymHandle> > > OA::DataFlow::ParamBindings::mCallerToCalleeMap [private]

Definition at line 85 of file ParamBindings.hpp.

Referenced by dump(), getCalleeFormal(), mapMemRefToFormal(), and output().

Definition at line 88 of file ParamBindings.hpp.

Referenced by getActualIterator(), mapMemRefToFormal(), and output().

Definition at line 91 of file ParamBindings.hpp.

Referenced by getActualExprHandleIterator(), mapCallToExprList(), and output().

Definition at line 93 of file ParamBindings.hpp.

Referenced by getActualExprHandle(), mapFormalToExpr(), and output().

Definition at line 92 of file ParamBindings.hpp.

Referenced by getActualExprTree(), mapExprToTree(), and output().

Definition at line 87 of file ParamBindings.hpp.

Referenced by getFormalIterator(), mapFormalToProc(), and output().


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

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