#include <SideEffectStandard.hpp>


Public Member Functions | |
| SideEffectStandard () | |
| ~SideEffectStandard () | |
| OA_ptr< LocIterator > | getLMODIterator () |
| OA_ptr< LocIterator > | getMODIterator () |
| OA_ptr< LocIterator > | getLDEFIterator () |
| OA_ptr< LocIterator > | getDEFIterator () |
| OA_ptr< LocIterator > | getLUSEIterator () |
| OA_ptr< LocIterator > | getUSEIterator () |
| OA_ptr< LocIterator > | getLREFIterator () |
| OA_ptr< LocIterator > | getREFIterator () |
| bool | inLMOD (OA_ptr< Location > loc) |
| Return true if the given location is in the LMOD set. | |
| bool | inMOD (OA_ptr< Location > loc) |
| Return true if the given location is in the MOD set. | |
| bool | inLDEF (OA_ptr< Location > loc) |
| Return true if the given location is in the LDEF set. | |
| bool | inDEF (OA_ptr< Location > loc) |
| Return true if the given location is in the DEF set. | |
| bool | inLUSE (OA_ptr< Location > loc) |
| Return true if the given location is in the LUSE set. | |
| bool | inUSE (OA_ptr< Location > loc) |
| Return true if the given location is in the USE set. | |
| bool | inLREF (OA_ptr< Location > loc) |
| Return true if the given location is in the LREF set. | |
| bool | inREF (OA_ptr< Location > loc) |
| Return true if the given location is in the REF set. | |
| void | insertLMOD (OA_ptr< Location > loc) |
| Insert a location into the LMOD set. | |
| void | insertMOD (OA_ptr< Location > loc) |
| Insert a location into the MOD set. | |
| void | insertLDEF (OA_ptr< Location > loc) |
| Insert a location into the LDEF set. | |
| void | insertDEF (OA_ptr< Location > loc) |
| Insert a location into the DEF set. | |
| void | insertLUSE (OA_ptr< Location > loc) |
| Insert a location into the LUSE set. | |
| void | insertUSE (OA_ptr< Location > loc) |
| Insert a location into the USE set. | |
| void | insertLREF (OA_ptr< Location > loc) |
| Insert a location into the LREF set. | |
| void | insertREF (OA_ptr< Location > loc) |
| Insert a location into the REF set. | |
| void | emptyLMOD () |
| Make the LMOD set empty, default is to have Unknown location. | |
| void | emptyMOD () |
| Make the MOD set empty, default is to have Unknown location. | |
| void | emptyLDEF () |
| Make the LDEF set empty, default is empty, but want same interface. | |
| void | emptyDEF () |
| Make the DEF set empty, default is empty, but want same interface. | |
| void | emptyLUSE () |
| Make the LUSE set empty, default is to have Unknown location. | |
| void | emptyUSE () |
| Make the USE set empty, default is to have Unknown location. | |
| void | emptyLREF () |
| Make the LREF set empty, default is to have Unknown location. | |
| void | emptyREF () |
| Make the REF set empty, default is to have Unknown location. | |
| void | output (IRHandlesIRInterface &ir) |
| will use OutputBuilder to generate output | |
| void | dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir) |
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 |
Definition at line 32 of file SideEffectStandard.hpp.
| 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.
| void OA::SideEffect::SideEffectStandard::dump | ( | std::ostream & | os, | |
| OA_ptr< IRHandlesIRInterface > | ir | |||
| ) |
Definition at line 392 of file SideEffectStandard.cpp.
References OA::OA_ptr< T >::dump(), getDEFIterator(), getLDEFIterator(), getLMODIterator(), getLREFIterator(), getLUSEIterator(), getMODIterator(), getREFIterator(), and getUSEIterator().

| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getDEFIterator | ( | ) |
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.
Definition at line 82 of file SideEffectStandard.cpp.
References mDEFSet, and OA::OA_ptr< T >::ptrEqual().
Referenced by dump().

| OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getLDEFIterator | ( | ) |
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.
Definition at line 66 of file SideEffectStandard.cpp.
References mLDEFSet, and OA::OA_ptr< T >::ptrEqual().
Referenced by dump().

| OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getLMODIterator | ( | ) |
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.
Definition at line 38 of file SideEffectStandard.cpp.
References mLMODSet, mUnknownLocSet, and OA::OA_ptr< T >::ptrEqual().
Referenced by dump().

| OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getLREFIterator | ( | ) |
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.
Definition at line 118 of file SideEffectStandard.cpp.
References mLREFSet, mUnknownLocSet, and OA::OA_ptr< T >::ptrEqual().
Referenced by dump().

| OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getLUSEIterator | ( | ) |
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.
Definition at line 94 of file SideEffectStandard.cpp.
References mLUSESet, mUnknownLocSet, and OA::OA_ptr< T >::ptrEqual().
Referenced by dump().

| OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getMODIterator | ( | ) |
Return an iterator over all locations that are may be modified within the procedure or within a procedure called by the procedure.
Definition at line 50 of file SideEffectStandard.cpp.
References mMODSet, mUnknownLocSet, and OA::OA_ptr< T >::ptrEqual().
Referenced by dump().

| OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getREFIterator | ( | ) |
Return an iterator over all locations that are used within the procedure or within a procedure called by the procedure.
Definition at line 130 of file SideEffectStandard.cpp.
References mREFSet, mUnknownLocSet, and OA::OA_ptr< T >::ptrEqual().
Referenced by dump().

| OA_ptr< LocIterator > OA::SideEffect::SideEffectStandard::getUSEIterator | ( | ) |
Return an iterator over all locations that may be used before being defined within the procedure or within a procedure called by the procedure.
Definition at line 106 of file SideEffectStandard.cpp.
References mUnknownLocSet, mUSESet, and OA::OA_ptr< T >::ptrEqual().
Referenced by dump().

Return true if the given location is in the DEF set.
Definition at line 179 of file SideEffectStandard.cpp.
References mDEFSet, and OA::OA_ptr< T >::ptrEqual().

Return true if the given location is in the LDEF set.
Definition at line 168 of file SideEffectStandard.cpp.
References mLDEFSet, and OA::OA_ptr< T >::ptrEqual().

Return true if the given location is in the LMOD set.
Definition at line 146 of file SideEffectStandard.cpp.
References mLMODSet, and OA::OA_ptr< T >::ptrEqual().

Return true if the given location is in the LREF set.
Definition at line 212 of file SideEffectStandard.cpp.
References mLREFSet, and OA::OA_ptr< T >::ptrEqual().

Return true if the given location is in the LUSE set.
Definition at line 190 of file SideEffectStandard.cpp.
References mLUSESet, and OA::OA_ptr< T >::ptrEqual().

Return true if the given location is in the MOD set.
Definition at line 157 of file SideEffectStandard.cpp.
References mMODSet, and OA::OA_ptr< T >::ptrEqual().

Return true if the given location is in the REF set.
Definition at line 223 of file SideEffectStandard.cpp.
References mREFSet, and OA::OA_ptr< T >::ptrEqual().

Insert a location into the DEF set.
Definition at line 272 of file SideEffectStandard.cpp.
References mDEFSet, and OA::OA_ptr< T >::ptrEqual().

Insert a location into the LDEF set.
Definition at line 263 of file SideEffectStandard.cpp.
References mLDEFSet, and OA::OA_ptr< T >::ptrEqual().

Insert a location into the LMOD set.
Definition at line 237 of file SideEffectStandard.cpp.
References mLMODSet, and OA::OA_ptr< T >::ptrEqual().

Insert a location into the LREF set.
Definition at line 321 of file SideEffectStandard.cpp.
References mLREFSet, and OA::OA_ptr< T >::ptrEqual().

Insert a location into the LUSE set.
Definition at line 281 of file SideEffectStandard.cpp.
References OA::SideEffect::debug, OA::OA_ptr< T >::dump(), mLUSESet, and OA::OA_ptr< T >::ptrEqual().

Insert a location into the MOD set.
Definition at line 246 of file SideEffectStandard.cpp.
References OA::SideEffect::debug, OA::OA_ptr< T >::dump(), mMODSet, and OA::OA_ptr< T >::ptrEqual().

Insert a location into the REF set.
Insert a location into the MOD set.
Definition at line 330 of file SideEffectStandard.cpp.
References mREFSet, and OA::OA_ptr< T >::ptrEqual().

Insert a location into the USE set.
Definition at line 296 of file SideEffectStandard.cpp.
References OA::LocSetIterator::current(), OA::SideEffect::debug, OA::OA_ptr< T >::dump(), OA::LocSetIterator::isValid(), mUSESet, and OA::OA_ptr< T >::ptrEqual().

Return true if the given location is in the USE set.
Definition at line 201 of file SideEffectStandard.cpp.
References mUSESet, and OA::OA_ptr< T >::ptrEqual().

| void OA::SideEffect::SideEffectStandard::output | ( | OA::IRHandlesIRInterface & | ir | ) | [virtual] |
will use OutputBuilder to generate output
Implements OA::Annotation.
Definition at line 13 of file SideEffectStandard_output.cpp.
References OA::LocSetIterator::current(), OA::LocSetIterator::isValid(), mDEFSet, mLDEFSet, mLMODSet, mLREFSet, mLUSESet, mMODSet, mREFSet, mUnknownLocSet, mUSESet, and OA::Annotation::sOutBuild.

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] |
Definition at line 191 of file SideEffectStandard.hpp.
Referenced by getLMODIterator(), getLREFIterator(), getLUSEIterator(), getMODIterator(), getREFIterator(), getUSEIterator(), output(), and SideEffectStandard().
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().
1.7.1