Public Member Functions | Static Public Attributes | Private Attributes

OA::XAIF::AliasMapXAIF Class Reference

#include <AliasMapXAIF.hpp>

Inheritance diagram for OA::XAIF::AliasMapXAIF:
Inheritance graph
[legend]
Collaboration diagram for OA::XAIF::AliasMapXAIF:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AliasMapXAIF (ProcHandle p)
 ~AliasMapXAIF ()
OA_ptr< MemRefHandleIteratorgetMemRefIter ()
 get iterator over all memory references that information is available for
int getMapSetId (MemRefHandle ref)
int findMapSet (MemRefHandle ref)
int findMapSet (OA_ptr< std::set< LocTuple > > pLocTupleSet)
OA_ptr< IdIteratorgetIdIterator ()
 get iterator over ids for this alias map
OA_ptr< LocTupleIteratorgetLocIterator (int setId)
 get iterator over all locations in a particular set
void mapLocTupleSet (OA_ptr< std::set< LocTuple > > ltSet, int setId)
 associate the given location set with the given mapSet
void mapMemRefToMapSet (MemRefHandle ref, int setId)
void output (IRHandlesIRInterface &ir)
 output for regression tests
void dump (std::ostream &os, OA_ptr< OA::IRHandlesIRInterface > ir)
 incomplete output of info for debugging

Static Public Attributes

static const int SET_ID_NONE = -1

Private Attributes

ProcHandle mProcHandle
std::map< int, OA_ptr
< std::set< LocTuple > > > 
mIdToLocTupleSetMap
std::map< int, MemRefSetmIdToMemRefSetMap
std::map< MemRefHandle, int > mMemRefToIdMap
std::map< MemRefHandle,
std::set< OA_ptr< MemRefExpr > > > 
mMemRefToMRESetMap

Detailed Description

Definition at line 157 of file AliasMapXAIF.hpp.


Constructor & Destructor Documentation

OA::XAIF::AliasMapXAIF::AliasMapXAIF ( ProcHandle  p  ) 

Definition at line 20 of file AliasMapXAIF.cpp.

OA::XAIF::AliasMapXAIF::~AliasMapXAIF (  )  [inline]

Definition at line 160 of file AliasMapXAIF.hpp.


Member Function Documentation

void OA::XAIF::AliasMapXAIF::dump ( std::ostream &  os,
OA_ptr< OA::IRHandlesIRInterface ir 
)

incomplete output of info for debugging

incomplete output of info for debugging, just lists map set Ids and associated set of locations and mapping of memrefs to the map set Ids

Definition at line 147 of file AliasMapXAIF.cpp.

References findMapSet(), OA::XAIF::LocRange::getEnd(), getIdIterator(), getLocIterator(), OA::XAIF::LocTuple::getLocRange(), getMemRefIter(), OA::XAIF::LocRange::getStart(), and OA::XAIF::LocTuple::isFull().

Here is the call graph for this function:

int OA::XAIF::AliasMapXAIF::findMapSet ( MemRefHandle  ref  ) 

get unique id for the alias map set for this memory reference SET_ID_NONE indicates that this memory reference doesn't map to any of the existing AliasMap sets

Definition at line 49 of file AliasMapXAIF.cpp.

Referenced by dump(), and output().

int OA::XAIF::AliasMapXAIF::findMapSet ( OA_ptr< std::set< LocTuple > >  pLocTupleSet  ) 

get id for an alias map set that contains an equivalent set of locations. SET_ID_NONE indicates that no equivalent location set was found in any AliasMap sets

Definition at line 60 of file AliasMapXAIF.cpp.

OA_ptr< IdIterator > OA::XAIF::AliasMapXAIF::getIdIterator (  ) 

get iterator over ids for this alias map

Definition at line 73 of file AliasMapXAIF.cpp.

Referenced by dump(), and output().

OA_ptr< LocTupleIterator > OA::XAIF::AliasMapXAIF::getLocIterator ( int  setId  ) 

get iterator over all locations in a particular set

Definition at line 80 of file AliasMapXAIF.cpp.

References mIdToLocTupleSetMap.

Referenced by dump(), and output().

int OA::XAIF::AliasMapXAIF::getMapSetId ( MemRefHandle  ref  ) 

get unique id for the alias map set for this memory reference This method is NOT used for construction, and CANNOT return SET_ID_NONE

Definition at line 38 of file AliasMapXAIF.cpp.

OA_ptr< MemRefHandleIterator > OA::XAIF::AliasMapXAIF::getMemRefIter (  ) 

get iterator over all memory references that information is available for

get iterator over all memory references that information is available for User must delete the iterator

Definition at line 23 of file AliasMapXAIF.cpp.

References mMemRefToIdMap.

Referenced by dump(), and output().

void OA::XAIF::AliasMapXAIF::mapLocTupleSet ( OA_ptr< std::set< LocTuple > >  ltSet,
int  setId 
)

associate the given location set with the given mapSet

Definition at line 87 of file AliasMapXAIF.cpp.

References mIdToLocTupleSetMap.

void OA::XAIF::AliasMapXAIF::mapMemRefToMapSet ( MemRefHandle  ref,
int  setId 
)

associate a MemRefHandle with the given mapSet, means that the MemRefHandle can access all of the locations in the mapSet

associate a MemRefHandle with the given mapset, means that the MemRefHandle can access all of the locations in the mapset, if only one full location then is a must access

Definition at line 93 of file AliasMapXAIF.cpp.

void OA::XAIF::AliasMapXAIF::output ( IRHandlesIRInterface ir  )  [virtual]

output for regression tests

Implements OA::Annotation.

Definition at line 105 of file AliasMapXAIF.cpp.

References findMapSet(), getIdIterator(), getLocIterator(), getMemRefIter(), OA::int2string(), mProcHandle, OA::XAIF::LocTuple::output(), and OA::Annotation::sOutBuild.

Here is the call graph for this function:


Member Data Documentation

std::map<int,OA_ptr<std::set<LocTuple> > > OA::XAIF::AliasMapXAIF::mIdToLocTupleSetMap [private]

Definition at line 219 of file AliasMapXAIF.hpp.

Referenced by getLocIterator(), and mapLocTupleSet().

Definition at line 222 of file AliasMapXAIF.hpp.

Definition at line 225 of file AliasMapXAIF.hpp.

Referenced by getMemRefIter().

Definition at line 229 of file AliasMapXAIF.hpp.

Definition at line 216 of file AliasMapXAIF.hpp.

Referenced by output().

const int OA::XAIF::AliasMapXAIF::SET_ID_NONE = -1 [static]

Definition at line 162 of file AliasMapXAIF.hpp.


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