OpenADFortTk (including Open64 and OpenAnalysis references)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
OA::SideEffect::SideEffectStandard Class Reference

#include <SideEffectStandard.hpp>

Inheritance diagram for OA::SideEffect::SideEffectStandard:
Inheritance graph
Collaboration diagram for OA::SideEffect::SideEffectStandard:
Collaboration graph

Public Member Functions

 SideEffectStandard ()
 
 ~SideEffectStandard ()
 
OA_ptr< LocIteratorgetLMODIterator ()
 
OA_ptr< LocIteratorgetMODIterator ()
 
OA_ptr< LocIteratorgetLDEFIterator ()
 
OA_ptr< LocIteratorgetDEFIterator ()
 
OA_ptr< LocIteratorgetLUSEIterator ()
 
OA_ptr< LocIteratorgetUSEIterator ()
 
OA_ptr< LocIteratorgetLREFIterator ()
 
OA_ptr< LocIteratorgetREFIterator ()
 
bool inLMOD (OA_ptr< Location > loc)
 Return true if the given location is in the LMOD set. More...
 
bool inMOD (OA_ptr< Location > loc)
 Return true if the given location is in the MOD set. More...
 
bool inLDEF (OA_ptr< Location > loc)
 Return true if the given location is in the LDEF set. More...
 
bool inDEF (OA_ptr< Location > loc)
 Return true if the given location is in the DEF set. More...
 
bool inLUSE (OA_ptr< Location > loc)
 Return true if the given location is in the LUSE set. More...
 
bool inUSE (OA_ptr< Location > loc)
 Return true if the given location is in the USE set. More...
 
bool inLREF (OA_ptr< Location > loc)
 Return true if the given location is in the LREF set. More...
 
bool inREF (OA_ptr< Location > loc)
 Return true if the given location is in the REF set. More...
 
void insertLMOD (OA_ptr< Location > loc)
 Insert a location into the LMOD set. More...
 
void insertMOD (OA_ptr< Location > loc)
 Insert a location into the MOD set. More...
 
void insertLDEF (OA_ptr< Location > loc)
 Insert a location into the LDEF set. More...
 
void insertDEF (OA_ptr< Location > loc)
 Insert a location into the DEF set. More...
 
void insertLUSE (OA_ptr< Location > loc)
 Insert a location into the LUSE set. More...
 
void insertUSE (OA_ptr< Location > loc)
 Insert a location into the USE set. More...
 
void insertLREF (OA_ptr< Location > loc)
 Insert a location into the LREF set. More...
 
void insertREF (OA_ptr< Location > loc)
 Insert a location into the REF set. More...
 
void emptyLMOD ()
 Make the LMOD set empty, default is to have Unknown location. More...
 
void emptyMOD ()
 Make the MOD set empty, default is to have Unknown location. More...
 
void emptyLDEF ()
 Make the LDEF set empty, default is empty, but want same interface. More...
 
void emptyDEF ()
 Make the DEF set empty, default is empty, but want same interface. More...
 
void emptyLUSE ()
 Make the LUSE set empty, default is to have Unknown location. More...
 
void emptyUSE ()
 Make the USE set empty, default is to have Unknown location. More...
 
void emptyLREF ()
 Make the LREF set empty, default is to have Unknown location. More...
 
void emptyREF ()
 Make the REF set empty, default is to have Unknown location. More...
 
void output (IRHandlesIRInterface &ir)
 will use OutputBuilder to generate output More...
 
void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
 
- Public Member Functions inherited from OA::SideEffect::Interface
 Interface ()
 
virtual ~Interface ()
 
- Public Member Functions inherited from OA::Annotation
 Annotation ()
 
virtual ~Annotation ()
 

Private Attributes

OUTPUT GENOUT OA_ptr< std::set
< OA_ptr< Location > > > 
mLMODSet
 
GENOUT OA_ptr< std::set
< OA_ptr< Location > > > 
mMODSet
 
GENOUT OA_ptr< std::set
< OA_ptr< Location > > > 
mLDEFSet
 
GENOUT OA_ptr< std::set
< OA_ptr< Location > > > 
mDEFSet
 
GENOUT OA_ptr< std::set
< OA_ptr< Location > > > 
mLUSESet
 
GENOUT OA_ptr< std::set
< OA_ptr< Location > > > 
mUSESet
 
GENOUT OA_ptr< std::set
< OA_ptr< Location > > > 
mLREFSet
 
GENOUT OA_ptr< std::set
< OA_ptr< Location > > > 
mREFSet
 
GENOUT OA_ptr< std::set
< OA_ptr< Location > > > 
mUnknownLocSet
 

Additional Inherited Members

- Static Public Member Functions inherited from OA::Annotation
static void configOutput (OA_ptr< OutputBuilder > ob)
 
- Static Protected Attributes inherited from OA::Annotation
static OA_ptr< OutputBuildersOutBuild
 

Detailed Description

Definition at line 32 of file SideEffectStandard.hpp.

Constructor & Destructor Documentation

OA::SideEffect::SideEffectStandard::SideEffectStandard ( )

Definition at line 27 of file SideEffectStandard.cpp.

References OA::SideEffect::debug, mUnknownLocSet, and OA_DEBUG_CTRL_MACRO.

OA::SideEffect::SideEffectStandard::~SideEffectStandard ( )
inline

Definition at line 37 of file SideEffectStandard.hpp.

Member Function Documentation

void OA::SideEffect::SideEffectStandard::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
)
virtual
void OA::SideEffect::SideEffectStandard::emptyDEF ( )

Make the DEF set empty, default is empty, but want same interface.

Definition at line 358 of file SideEffectStandard.cpp.

References mDEFSet.

Referenced by Open64IRInterface::getSideEffect().

void OA::SideEffect::SideEffectStandard::emptyLDEF ( )

Make the LDEF set empty, default is empty, but want same interface.

Definition at line 352 of file SideEffectStandard.cpp.

References mLDEFSet.

Referenced by Open64IRInterface::getSideEffect().

void OA::SideEffect::SideEffectStandard::emptyLMOD ( )

Make the LMOD set empty, default is to have Unknown location.

Definition at line 340 of file SideEffectStandard.cpp.

References mLMODSet.

Referenced by Open64IRInterface::getSideEffect().

void OA::SideEffect::SideEffectStandard::emptyLREF ( )

Make the LREF set empty, default is to have Unknown location.

Definition at line 376 of file SideEffectStandard.cpp.

References mLREFSet.

Referenced by Open64IRInterface::getSideEffect().

void OA::SideEffect::SideEffectStandard::emptyLUSE ( )

Make the LUSE set empty, default is to have Unknown location.

Definition at line 364 of file SideEffectStandard.cpp.

References mLUSESet.

Referenced by Open64IRInterface::getSideEffect().

void OA::SideEffect::SideEffectStandard::emptyMOD ( )

Make the MOD set empty, default is to have Unknown location.

Definition at line 346 of file SideEffectStandard.cpp.

References mMODSet.

Referenced by Open64IRInterface::getSideEffect().

void OA::SideEffect::SideEffectStandard::emptyREF ( )

Make the REF set empty, default is to have Unknown location.

Definition at line 382 of file SideEffectStandard.cpp.

References mREFSet.

Referenced by Open64IRInterface::getSideEffect().

void OA::SideEffect::SideEffectStandard::emptyUSE ( )

Make the USE set empty, default is to have Unknown location.

Definition at line 370 of file SideEffectStandard.cpp.

References mUSESet.

Referenced by Open64IRInterface::getSideEffect().

OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getDEFIterator ( )
virtual

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

Conservative estimate for DEF is that no locations are definitely modified.

Implements OA::SideEffect::Interface.

Definition at line 82 of file SideEffectStandard.cpp.

References mDEFSet.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getLDEFIterator ( )
virtual

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

Conservative estimate for DEF is that no locations are definitely modified.

Implements OA::SideEffect::Interface.

Definition at line 66 of file SideEffectStandard.cpp.

References mLDEFSet.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getLMODIterator ( )
virtual

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

Implements OA::SideEffect::Interface.

Definition at line 38 of file SideEffectStandard.cpp.

References mLMODSet, and mUnknownLocSet.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getLREFIterator ( )
virtual

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

Implements OA::SideEffect::Interface.

Definition at line 118 of file SideEffectStandard.cpp.

References mLREFSet, and mUnknownLocSet.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getLUSEIterator ( )
virtual

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

Implements OA::SideEffect::Interface.

Definition at line 94 of file SideEffectStandard.cpp.

References mLUSESet, and mUnknownLocSet.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getMODIterator ( )
virtual

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

Implements OA::SideEffect::Interface.

Definition at line 50 of file SideEffectStandard.cpp.

References mMODSet, and mUnknownLocSet.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getREFIterator ( )
virtual

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

Implements OA::SideEffect::Interface.

Definition at line 130 of file SideEffectStandard.cpp.

References mREFSet, and mUnknownLocSet.

Referenced by dump().

OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getUSEIterator ( )
virtual

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

Implements OA::SideEffect::Interface.

Definition at line 106 of file SideEffectStandard.cpp.

References mUnknownLocSet, and mUSESet.

Referenced by dump().

bool OA::SideEffect::SideEffectStandard::inDEF ( OA_ptr< Location loc)

Return true if the given location is in the DEF set.

Definition at line 179 of file SideEffectStandard.cpp.

References mDEFSet.

bool OA::SideEffect::SideEffectStandard::inLDEF ( OA_ptr< Location loc)

Return true if the given location is in the LDEF set.

Definition at line 168 of file SideEffectStandard.cpp.

References mLDEFSet.

bool OA::SideEffect::SideEffectStandard::inLMOD ( OA_ptr< Location loc)

Return true if the given location is in the LMOD set.

Definition at line 146 of file SideEffectStandard.cpp.

References mLMODSet.

bool OA::SideEffect::SideEffectStandard::inLREF ( OA_ptr< Location loc)

Return true if the given location is in the LREF set.

Definition at line 212 of file SideEffectStandard.cpp.

References mLREFSet.

bool OA::SideEffect::SideEffectStandard::inLUSE ( OA_ptr< Location loc)

Return true if the given location is in the LUSE set.

Definition at line 190 of file SideEffectStandard.cpp.

References mLUSESet.

bool OA::SideEffect::SideEffectStandard::inMOD ( OA_ptr< Location loc)

Return true if the given location is in the MOD set.

Definition at line 157 of file SideEffectStandard.cpp.

References mMODSet.

bool OA::SideEffect::SideEffectStandard::inREF ( OA_ptr< Location loc)

Return true if the given location is in the REF set.

Definition at line 223 of file SideEffectStandard.cpp.

References mREFSet.

void OA::SideEffect::SideEffectStandard::insertDEF ( OA_ptr< Location loc)

Insert a location into the DEF set.

Definition at line 272 of file SideEffectStandard.cpp.

References mDEFSet.

void OA::SideEffect::SideEffectStandard::insertLDEF ( OA_ptr< Location loc)

Insert a location into the LDEF set.

Definition at line 263 of file SideEffectStandard.cpp.

References mLDEFSet.

void OA::SideEffect::SideEffectStandard::insertLMOD ( OA_ptr< Location loc)

Insert a location into the LMOD set.

Definition at line 237 of file SideEffectStandard.cpp.

References mLMODSet.

void OA::SideEffect::SideEffectStandard::insertLREF ( OA_ptr< Location loc)

Insert a location into the LREF set.

Definition at line 321 of file SideEffectStandard.cpp.

References mLREFSet.

void OA::SideEffect::SideEffectStandard::insertLUSE ( OA_ptr< Location loc)

Insert a location into the LUSE set.

Definition at line 281 of file SideEffectStandard.cpp.

References OA::SideEffect::debug, OA::Location::dump(), and mLUSESet.

Here is the call graph for this function:

void OA::SideEffect::SideEffectStandard::insertMOD ( OA_ptr< Location loc)

Insert a location into the MOD set.

Definition at line 246 of file SideEffectStandard.cpp.

References OA::SideEffect::debug, OA::Location::dump(), and mMODSet.

Here is the call graph for this function:

void OA::SideEffect::SideEffectStandard::insertREF ( OA_ptr< Location loc)

Insert a location into the REF set.

Insert a location into the MOD set.

Definition at line 330 of file SideEffectStandard.cpp.

References mREFSet.

void OA::SideEffect::SideEffectStandard::insertUSE ( OA_ptr< Location loc)

Insert a location into the USE set.

Definition at line 296 of file SideEffectStandard.cpp.

References OA::LocSetIterator::current(), OA::SideEffect::debug, OA::Location::dump(), OA::LocSetIterator::isValid(), and mUSESet.

Here is the call graph for this function:

bool OA::SideEffect::SideEffectStandard::inUSE ( OA_ptr< Location loc)

Return true if the given location is in the USE set.

Definition at line 201 of file SideEffectStandard.cpp.

References mUSESet.

void OA::SideEffect::SideEffectStandard::output ( OA::IRHandlesIRInterface ir)
virtual

Member Data Documentation

GENOUT OA_ptr<std::set<OA_ptr<Location> > > OA::SideEffect::SideEffectStandard::mDEFSet
private

Definition at line 184 of file SideEffectStandard.hpp.

Referenced by emptyDEF(), getDEFIterator(), inDEF(), insertDEF(), and output().

GENOUT OA_ptr<std::set<OA_ptr<Location> > > OA::SideEffect::SideEffectStandard::mLDEFSet
private

Definition at line 183 of file SideEffectStandard.hpp.

Referenced by emptyLDEF(), getLDEFIterator(), inLDEF(), insertLDEF(), and output().

OUTPUT GENOUT OA_ptr<std::set<OA_ptr<Location> > > OA::SideEffect::SideEffectStandard::mLMODSet
private

Definition at line 181 of file SideEffectStandard.hpp.

Referenced by emptyLMOD(), getLMODIterator(), inLMOD(), insertLMOD(), and output().

GENOUT OA_ptr<std::set<OA_ptr<Location> > > OA::SideEffect::SideEffectStandard::mLREFSet
private

Definition at line 187 of file SideEffectStandard.hpp.

Referenced by emptyLREF(), getLREFIterator(), inLREF(), insertLREF(), and output().

GENOUT OA_ptr<std::set<OA_ptr<Location> > > OA::SideEffect::SideEffectStandard::mLUSESet
private

Definition at line 185 of file SideEffectStandard.hpp.

Referenced by emptyLUSE(), getLUSEIterator(), inLUSE(), insertLUSE(), and output().

GENOUT OA_ptr<std::set<OA_ptr<Location> > > OA::SideEffect::SideEffectStandard::mMODSet
private

Definition at line 182 of file SideEffectStandard.hpp.

Referenced by emptyMOD(), getMODIterator(), inMOD(), insertMOD(), and output().

GENOUT OA_ptr<std::set<OA_ptr<Location> > > OA::SideEffect::SideEffectStandard::mREFSet
private

Definition at line 188 of file SideEffectStandard.hpp.

Referenced by emptyREF(), getREFIterator(), inREF(), insertREF(), and output().

GENOUT OA_ptr<std::set<OA_ptr<Location> > > OA::SideEffect::SideEffectStandard::mUnknownLocSet
private
GENOUT OA_ptr<std::set<OA_ptr<Location> > > OA::SideEffect::SideEffectStandard::mUSESet
private

Definition at line 186 of file SideEffectStandard.hpp.

Referenced by emptyUSE(), getUSEIterator(), insertUSE(), inUSE(), and output().


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