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

#include <ICFGDep.hpp>

Inheritance diagram for OA::Activity::ICFGDep:
Inheritance graph
Collaboration diagram for OA::Activity::ICFGDep:
Collaboration graph

Public Member Functions

 ICFGDep ()
 
 ~ICFGDep ()
 
OA_ptr< LocIteratorgetMayDefIterator (StmtHandle stmt, const OA_ptr< Location > use)
 
OA_ptr< LocIteratorgetDiffUseIterator (StmtHandle stmt, OA_ptr< Location > def)
 
OA_ptr< LocIteratorgetMustDefIterator (StmtHandle stmt)
 
void mapStmtToDeps (StmtHandle stmt, OA_ptr< DepDFSet > depDFSet)
 map stmt to a DepDFSet More...
 
void insertDepForStmt (StmtHandle stmt, OA_ptr< Location > use, OA_ptr< Location > def)
 Insert use,def dependence pair. More...
 
void insertMustDefForStmt (StmtHandle stmt, OA_ptr< Location > def)
 Insert must def location. More...
 
void output (OA::IRHandlesIRInterface &ir)
 
void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
 
- Public Member Functions inherited from OA::Annotation
 Annotation ()
 
virtual ~Annotation ()
 

Private Attributes

std::map< StmtHandle, OA_ptr
< DepDFSet > > 
mDepDFSet
 
std::map< StmtHandle, OA_ptr
< LocSet > > 
mMustDefMap
 

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 41 of file ICFGDep.hpp.

Constructor & Destructor Documentation

OA::Activity::ICFGDep::ICFGDep ( )
inline

Definition at line 43 of file ICFGDep.hpp.

OA::Activity::ICFGDep::~ICFGDep ( )
inline

Definition at line 44 of file ICFGDep.hpp.

Member Function Documentation

void OA::Activity::ICFGDep::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
)

Definition at line 110 of file ICFGDep.cpp.

References OA::OA_ptr< T >::dump(), getMustDefIterator(), mDepDFSet, mMustDefMap, and NULL.

Here is the call graph for this function:

OA_ptr< LocIterator > OA::Activity::ICFGDep::getDiffUseIterator ( StmtHandle  stmt,
OA_ptr< Location def 
)

Return an iterator over all locations that are differentiable locations used in the possible definition of the given location, in the given stmt

Return an iterator over all locations that are differentiable locations used in the possible definition of the given location

For now assuming that all defs depend on all uses.

Definition at line 49 of file ICFGDep.cpp.

References OA::Activity::debug, and mDepDFSet.

OA_ptr< LocIterator > OA::Activity::ICFGDep::getMayDefIterator ( StmtHandle  stmt,
const OA_ptr< Location use 
)

Return an iterator over all locations whose definition may depend on the given use location in the given stmt.

Return an iterator over all locations whose definition may depend on the given use location.

Definition at line 33 of file ICFGDep.cpp.

References OA::Activity::debug, mDepDFSet, and OA_DEBUG_CTRL_MACRO.

OA_ptr< LocIterator > OA::Activity::ICFGDep::getMustDefIterator ( StmtHandle  stmt)

Return an iterator over all locations that are definitely defined in the given stmt

Definition at line 63 of file ICFGDep.cpp.

References mMustDefMap.

Referenced by dump(), and output().

void OA::Activity::ICFGDep::insertDepForStmt ( StmtHandle  stmt,
OA_ptr< Location use,
OA_ptr< Location def 
)

Insert use,def dependence pair.

Definition at line 81 of file ICFGDep.cpp.

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

Here is the call graph for this function:

void OA::Activity::ICFGDep::insertMustDefForStmt ( StmtHandle  stmt,
OA_ptr< Location def 
)

Insert must def location.

Definition at line 98 of file ICFGDep.cpp.

References mMustDefMap.

void OA::Activity::ICFGDep::mapStmtToDeps ( StmtHandle  stmt,
OA_ptr< DepDFSet depDFSet 
)
inline

map stmt to a DepDFSet

Definition at line 70 of file ICFGDep.hpp.

References mDepDFSet.

void OA::Activity::ICFGDep::output ( OA::IRHandlesIRInterface ir)
virtual

Member Data Documentation

std::map<StmtHandle,OA_ptr<DepDFSet> > OA::Activity::ICFGDep::mDepDFSet
private
std::map<StmtHandle,OA_ptr<LocSet> > OA::Activity::ICFGDep::mMustDefMap
private

Definition at line 93 of file ICFGDep.hpp.

Referenced by dump(), getMustDefIterator(), insertMustDefForStmt(), and output().


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