OA::SideEffect::InterSideEffectStandard Class Reference

#include <InterSideEffectStandard.hpp>

Inheritance diagram for OA::SideEffect::InterSideEffectStandard:
Inheritance graph
[legend]
Collaboration diagram for OA::SideEffect::InterSideEffectStandard:
Collaboration graph
[legend]

List of all members.

Classes

class  InterSideEffectProcIter
 Iterator over procedures in the mProcToSideEffectMap. More...

Public Member Functions

 InterSideEffectStandard ()
 ~InterSideEffectStandard ()
OA_ptr< ProcIteratorgetKnownProcIterator ()
OA_ptr< LocIteratorgetLMODIterator (CallHandle call)
OA_ptr< LocIteratorgetMODIterator (CallHandle call)
OA_ptr< LocIteratorgetLDEFIterator (CallHandle call)
OA_ptr< LocIteratorgetDEFIterator (CallHandle call)
OA_ptr< LocIteratorgetLUSEIterator (CallHandle call)
OA_ptr< LocIteratorgetUSEIterator (CallHandle call)
OA_ptr< LocIteratorgetLREFIterator (CallHandle call)
OA_ptr< LocIteratorgetREFIterator (CallHandle call)
OA_ptr< LocIteratorgetLMODIterator (ProcHandle p)
OA_ptr< LocIteratorgetMODIterator (ProcHandle p)
OA_ptr< LocIteratorgetLDEFIterator (ProcHandle p)
OA_ptr< LocIteratorgetDEFIterator (ProcHandle p)
OA_ptr< LocIteratorgetLUSEIterator (ProcHandle p)
OA_ptr< LocIteratorgetUSEIterator (ProcHandle p)
OA_ptr< LocIteratorgetLREFIterator (ProcHandle p)
OA_ptr< LocIteratorgetREFIterator (ProcHandle p)
void mapProcToSideEffect (ProcHandle proc, OA_ptr< OA::SideEffect::SideEffectStandard > sideEffect)
OA_ptr
< OA::SideEffect::SideEffectStandard
getSideEffectResults (ProcHandle proc)
 Get the SideEffect information associated with the given procedure.
void mapCallToSideEffect (CallHandle call, OA_ptr< OA::SideEffect::SideEffectStandard > sideEffect)
int getLocCount (ProcHandle proc)
 Return count of locations in all sets for given procedure.
void insertLMOD (CallHandle call, OA_ptr< Location > loc)
 Insert a location into the LMOD set for the given call.
void insertMOD (CallHandle call, OA_ptr< Location > loc)
 Insert a location into the MOD set for the given call.
void insertLDEF (CallHandle call, OA_ptr< Location > loc)
 Insert a location into the LDEF set for the given call.
void insertDEF (CallHandle call, OA_ptr< Location > loc)
 Insert a location into the DEF set for the given call.
void insertLUSE (CallHandle call, OA_ptr< Location > loc)
 Insert a location into the LUSE set for the given call.
void insertUSE (CallHandle call, OA_ptr< Location > loc)
 Insert a location into the USE set for the given call.
void insertLREF (CallHandle call, OA_ptr< Location > loc)
 Insert a location into the LREF set for the given call.
void insertREF (CallHandle call, OA_ptr< Location > loc)
 Insert a location into the REF set for the given call.
void initCallSideEffect (CallHandle call)
void output (IRHandlesIRInterface &ir)
 will use OutputBuilder to generate output
void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)

Private Attributes

OUTPUT GENOUT typedef std::map
< ProcHandle, OA_ptr
< OA::SideEffect::SideEffectStandard > > 
ProcToSideEffectMap
GENOUT typedef std::map
< CallHandle, OA_ptr
< OA::SideEffect::SideEffectStandard > > 
CallToSideEffectMap
GENOUT ProcToSideEffectMap mProcToSideEffectMap
GENOUT CallToSideEffectMap mCallToSideEffectMap
OA_ptr< OA::SideEffect::InterfacemDefaultSideEffect

Detailed Description

Definition at line 34 of file InterSideEffectStandard.hpp.


Constructor & Destructor Documentation

OA::SideEffect::InterSideEffectStandard::InterSideEffectStandard (  ) 

Definition at line 27 of file InterSideEffectStandard.cpp.

References mDefaultSideEffect.

OA::SideEffect::InterSideEffectStandard::~InterSideEffectStandard (  )  [inline]

Definition at line 39 of file InterSideEffectStandard.hpp.


Member Function Documentation

void OA::SideEffect::InterSideEffectStandard::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
) [virtual]
OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getDEFIterator ( ProcHandle  p  )  [virtual]

Return an iterator over all locations that are definitely modified within the given procedure or within a procedure called by the given procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 174 of file InterSideEffectStandard.cpp.

References mDefaultSideEffect, and mProcToSideEffectMap.

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getDEFIterator ( CallHandle  call  )  [virtual]

Return an iterator over all locations that are definitely modified within the called procedure or within a procedure called by the called procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 92 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap, and mDefaultSideEffect.

Referenced by dump().

OA_ptr< ProcIterator > OA::SideEffect::InterSideEffectStandard::getKnownProcIterator (  )  [virtual]

Return an iterator over all procedures for which interprocedural side effect information is available

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 34 of file InterSideEffectStandard.cpp.

References mProcToSideEffectMap.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getLDEFIterator ( ProcHandle  p  )  [virtual]

Return an iterator over all locations that are definitely modified locally within the given procedure. Locations modified directly in the procedure and not by a function call in the procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 164 of file InterSideEffectStandard.cpp.

References mDefaultSideEffect, and mProcToSideEffectMap.

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getLDEFIterator ( CallHandle  call  )  [virtual]

Return an iterator over all locations that are definitely modified locally within the called procedure. Locations modified directly in the procedure and not by a function call in the procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 82 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap, and mDefaultSideEffect.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getLMODIterator ( ProcHandle  p  )  [virtual]

Return an iterator over all locations that are may be modified locally within the given procedure. Locations modified directly in the procedure and not by a function call in the procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 144 of file InterSideEffectStandard.cpp.

References mDefaultSideEffect, and mProcToSideEffectMap.

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getLMODIterator ( CallHandle  call  )  [virtual]

Return an iterator over all locations that may be modified locally within the called procedure. Locations modified directly in the called procedure and not by a function call in the called procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 62 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap, and mDefaultSideEffect.

Referenced by dump().

int OA::SideEffect::InterSideEffectStandard::getLocCount ( ProcHandle  proc  ) 

Return count of locations in all sets for given procedure.

Definition at line 346 of file InterSideEffectStandard.cpp.

References mProcToSideEffectMap.

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getLREFIterator ( ProcHandle  p  )  [virtual]

Return an iterator over all locations that are used locally within the given procedure. Locations used directly in the procedure and not by a function call in the procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 204 of file InterSideEffectStandard.cpp.

References mDefaultSideEffect, and mProcToSideEffectMap.

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getLREFIterator ( CallHandle  call  )  [virtual]

Return an iterator over all locations that are used locally within the called procedure. Locations used directly in the procedure and not by a function call in the procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 122 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap, and mDefaultSideEffect.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getLUSEIterator ( ProcHandle  p  )  [virtual]

Return an iterator over all locations that are used locally within the given procedure before being definitely modified. Locations used directly in the procedure and not by a function call in the procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 184 of file InterSideEffectStandard.cpp.

References mDefaultSideEffect, and mProcToSideEffectMap.

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getLUSEIterator ( CallHandle  call  )  [virtual]

Return an iterator over all locations that are used locally within the called procedure before being definitely modified. Locations used directly in the procedure and not by a function call in the procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 102 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap, and mDefaultSideEffect.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getMODIterator ( ProcHandle  p  )  [virtual]

Return an iterator over all locations that are may be modified within the given procedure or within a procedure called by the given procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 154 of file InterSideEffectStandard.cpp.

References mDefaultSideEffect, and mProcToSideEffectMap.

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getMODIterator ( CallHandle  call  )  [virtual]

Return an iterator over all locations that are may be modified within the called procedure or within a procedure called by the called procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 72 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap, and mDefaultSideEffect.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getREFIterator ( ProcHandle  p  )  [virtual]

Return an iterator over all locations that are used within the given procedure or within a procedure called by the given procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 214 of file InterSideEffectStandard.cpp.

References mDefaultSideEffect, and mProcToSideEffectMap.

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getREFIterator ( CallHandle  call  )  [virtual]

Return an iterator over all locations that are used within the called procedure or within a procedure called by the called procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 132 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap, and mDefaultSideEffect.

Referenced by dump().

OA_ptr< OA::SideEffect::SideEffectStandard > OA::SideEffect::InterSideEffectStandard::getSideEffectResults ( ProcHandle  proc  ) 

Get the SideEffect information associated with the given procedure.

Definition at line 328 of file InterSideEffectStandard.cpp.

References mProcToSideEffectMap.

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getUSEIterator ( ProcHandle  p  )  [virtual]

Return an iterator over all locations that may be used before being defined within the given procedure or within a procedure called by the given procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 194 of file InterSideEffectStandard.cpp.

References mDefaultSideEffect, and mProcToSideEffectMap.

OA_ptr< LocIterator > OA::SideEffect::InterSideEffectStandard::getUSEIterator ( CallHandle  call  )  [virtual]

Return an iterator over all locations that may be used before being defined within the called procedure or within a procedure called by the called procedure.

Implements OA::SideEffect::InterSideEffectInterface.

Definition at line 112 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap, and mDefaultSideEffect.

Referenced by dump().

void OA::SideEffect::InterSideEffectStandard::initCallSideEffect ( CallHandle  call  ) 

Initialize the information for a particular call to have all empty sets

Definition at line 399 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap.

void OA::SideEffect::InterSideEffectStandard::insertDEF ( CallHandle  call,
OA_ptr< Location loc 
)

Insert a location into the DEF set for the given call.

Definition at line 432 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap.

void OA::SideEffect::InterSideEffectStandard::insertLDEF ( CallHandle  call,
OA_ptr< Location loc 
)

Insert a location into the LDEF set for the given call.

Definition at line 426 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap.

void OA::SideEffect::InterSideEffectStandard::insertLMOD ( CallHandle  call,
OA_ptr< Location loc 
)

Insert a location into the LMOD set for the given call.

Definition at line 414 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap.

void OA::SideEffect::InterSideEffectStandard::insertLREF ( CallHandle  call,
OA_ptr< Location loc 
)

Insert a location into the LREF set for the given call.

Definition at line 450 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap.

void OA::SideEffect::InterSideEffectStandard::insertLUSE ( CallHandle  call,
OA_ptr< Location loc 
)

Insert a location into the LUSE set for the given call.

Definition at line 438 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap.

void OA::SideEffect::InterSideEffectStandard::insertMOD ( CallHandle  call,
OA_ptr< Location loc 
)

Insert a location into the MOD set for the given call.

Definition at line 420 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap.

void OA::SideEffect::InterSideEffectStandard::insertREF ( CallHandle  call,
OA_ptr< Location loc 
)

Insert a location into the REF set for the given call.

Definition at line 456 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap.

void OA::SideEffect::InterSideEffectStandard::insertUSE ( CallHandle  call,
OA_ptr< Location loc 
)

Insert a location into the USE set for the given call.

Definition at line 444 of file InterSideEffectStandard.cpp.

References mCallToSideEffectMap.

void OA::SideEffect::InterSideEffectStandard::mapCallToSideEffect ( CallHandle  call,
OA_ptr< OA::SideEffect::SideEffectStandard sideEffect 
)

Associate the given call with the given intraprocedural SideEffect information

Definition at line 336 of file InterSideEffectStandard.cpp.

References OA::SideEffect::debug, OA::IRHandle::hval(), mCallToSideEffectMap, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::SideEffect::InterSideEffectStandard::mapProcToSideEffect ( ProcHandle  proc,
OA_ptr< OA::SideEffect::SideEffectStandard sideEffect 
)

Associate the given procedure with the given intraprocedural SideEffect information

Definition at line 320 of file InterSideEffectStandard.cpp.

References mProcToSideEffectMap.

void OA::SideEffect::InterSideEffectStandard::output ( OA::IRHandlesIRInterface ir  )  [virtual]

will use OutputBuilder to generate output

Implements OA::Annotation.

Definition at line 13 of file InterSideEffectStandard_output.cpp.

References mCallToSideEffectMap, mProcToSideEffectMap, and OA::Annotation::sOutBuild.


Member Data Documentation

Definition at line 211 of file InterSideEffectStandard.hpp.

Definition at line 209 of file InterSideEffectStandard.hpp.


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

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