OA::DUG::DUGStandard Class Reference

#include <DUGStandard.hpp>

Inheritance diagram for OA::DUG::DUGStandard:

Inheritance graph
[legend]
Collaboration diagram for OA::DUG::DUGStandard:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 DUGStandard (OA_ptr< DUGIRInterface >, OA_ptr< DataFlow::ParamBindings >)
virtual ~DUGStandard ()
OA_ptr< EdgegetDUGEdge (OA_ptr< DGraph::EdgeInterface > dgEdge) const
OA_ptr< NodegetDUGNode (OA_ptr< DGraph::NodeInterface > dgNode) const
std::list< std::pair
< SymHandle, ProcHandle > > & 
getIndepSyms ()
std::list< std::pair
< SymHandle, ProcHandle > > & 
getDepSyms ()
void insertIndepSymList (SymHandle sym, ProcHandle proc)
void insertDepSymList (SymHandle sym, ProcHandle proc)
void mapSymToProc (SymHandle sym, ProcHandle proc)
void insertActiveSymSet (SymHandle sym)
std::map< ProcHandle, OA_ptr
< OA::Activity::ActiveStandard > > & 
getActiveMap ()
OA_ptr< std::set< SymHandle > > getActiveSymSet ()
void insertActiveSymSet (OA_ptr< Location >)
bool isIndependent (ProcHandle proc, SymHandle sym)
 'true' if the given symbol is independent variable or not
bool isDependent (ProcHandle proc, SymHandle sym)
 'true' if the given symbol is dependent variable or not
bool isActive (SymHandle sym)
 Indicate whether the given symbol is active or not.
bool isActive (StmtHandle stmt)
 Indicate whether the given stmt is active or not.
bool isActive (MemRefHandle memref)
 Indicate whether the given memref is active or not.
void insertActiveStmtSet (StmtHandle stmt, ProcHandle proc)
void insertActiveMemRefSet (MemRefHandle mref, ProcHandle proc)
void assignActiveStandard (ProcHandle proc)
void addNode (OA_ptr< DGraph::NodeInterface > pNode)
void addEdge (OA_ptr< DGraph::EdgeInterface > pEdge)
int getNumNodes ()
int getNumEdges ()
void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
void dumpdot (std::ostream &os, OA_ptr< DUGIRInterface > ir)
void dumpbase (std::ostream &os)
void output (OA::IRHandlesIRInterface &ir)
OA_ptr
< DGraph::NodesIteratorInterface
getNodesIterator () const
OA_ptr
< DGraph::NodesIteratorInterface
getEntryNodesIterator () const
OA_ptr
< DGraph::NodesIteratorInterface
getExitNodesIterator () const
OA_ptr
< DGraph::EdgesIteratorInterface
getEdgesIterator () const
OA_ptr
< DGraph::NodesIteratorInterface
getDFSIterator (OA_ptr< DGraph::NodeInterface > n)
OA_ptr
< DGraph::NodesIteratorInterface
getBFSIterator ()
OA_ptr
< DGraph::NodesIteratorInterface
getReversePostDFSIterator (DGraph::DGraphEdgeDirection pOrient)
OA_ptr
< DGraph::NodesIteratorInterface
getReversePostDFSIterator (OA_ptr< DGraph::NodeInterface > root, DGraph::DGraphEdgeDirection pOrient)
OA_ptr
< DGraph::NodesIteratorInterface
getPostDFSIterator (DGraph::DGraphEdgeDirection pOrient)
OA_ptr
< DGraph::NodesIteratorInterface
getPostDFSIterator (OA_ptr< DGraph::NodeInterface > root, DGraph::DGraphEdgeDirection pOrient)
OA_ptr< NodesIteratorInterfacegetDUGNodesIterator () const
OA_ptr< EdgesIteratorInterfacegetDUGEdgesIterator () const
OA_ptr< NodesIteratorInterfacegetDUGEntryNodesIterator () const
OA_ptr< NodesIteratorInterfacegetDUGExitNodesIterator () const
OA_ptr< NodesIteratorInterfacegetDUGReversePostDFSIterator (DGraph::DGraphEdgeDirection pOrient)
OA_ptr< NodesIteratorInterfacegetDUGDFSIterator (OA_ptr< NodeInterface > n)
void mapSymToMemRefSet (SymHandle sym, MemRefHandle mref)
 map Location to MemRefHandle
void mapSymToStmtSet (SymHandle sym, StmtHandle stmt)
 map Location to StmtHandle
std::set< MemRefHandlegetMemRefSet (SymHandle sym)
std::set< StmtHandlegetStmtSet (SymHandle sym)
OA_ptr< NodegetNode (SymHandle, ProcHandle)
bool isNode (SymHandle, ProcHandle)
 DUGStandard (OA_ptr< DUGIRInterface >, OA_ptr< DataFlow::ParamBindings >)
virtual ~DUGStandard ()
OA_ptr< EdgegetDUGEdge (OA_ptr< DGraph::EdgeInterface > dgEdge) const
OA_ptr< NodegetDUGNode (OA_ptr< DGraph::NodeInterface > dgNode) const
std::set< OA_ptr< Node > > & getInDepSymNodeSet (SymHandle sym)
std::list< std::pair
< SymHandle, ProcHandle > > & 
getIndepSyms ()
std::list< std::pair
< SymHandle, ProcHandle > > & 
getDepSyms ()
void insertIndepSymList (SymHandle sym, ProcHandle proc)
void insertDepSymList (SymHandle sym, ProcHandle proc)
void mapSymToProc (SymHandle sym, ProcHandle proc)
void insertActiveSymSet (SymHandle sym)
std::map< ProcHandle, OA_ptr
< OA::Activity::ActiveStandard > > & 
getActiveMap ()
OA_ptr< std::set< SymHandle > > getActiveSymSet ()
void insertActiveSymSet (OA_ptr< Location >)
bool isIndependent (ProcHandle proc, SymHandle sym)
 'true' if the given symbol is independent variable or not
bool isDependent (ProcHandle proc, SymHandle sym)
 'true' if the given symbol is dependent variable or not
bool isActive (SymHandle sym)
 Indicate whether the given symbol is active or not.
bool isActive (StmtHandle stmt)
 Indicate whether the given stmt is active or not.
bool isActive (MemRefHandle memref)
 Indicate whether the given memref is active or not.
void insertActiveStmtSet (StmtHandle stmt, ProcHandle proc)
void insertActiveMemRefSet (MemRefHandle mref, ProcHandle proc)
void assignActiveStandard (ProcHandle proc)
void addNode (OA_ptr< DGraph::NodeInterface > pNode)
void addEdge (OA_ptr< DGraph::EdgeInterface > pEdge)
int getNumNodes ()
int getNumEdges ()
void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > ir)
void dumpdot (std::ostream &os, OA_ptr< DUGIRInterface > ir)
void dumpbase (std::ostream &os)
void output (OA::IRHandlesIRInterface &ir)
OA_ptr
< DGraph::NodesIteratorInterface
getNodesIterator () const
OA_ptr
< DGraph::NodesIteratorInterface
getEntryNodesIterator () const
OA_ptr
< DGraph::NodesIteratorInterface
getExitNodesIterator () const
OA_ptr
< DGraph::EdgesIteratorInterface
getEdgesIterator () const
OA_ptr
< DGraph::NodesIteratorInterface
getDFSIterator (OA_ptr< DGraph::NodeInterface > n)
OA_ptr
< DGraph::NodesIteratorInterface
getBFSIterator ()
OA_ptr
< DGraph::NodesIteratorInterface
getReversePostDFSIterator (DGraph::DGraphEdgeDirection pOrient)
OA_ptr
< DGraph::NodesIteratorInterface
getReversePostDFSIterator (OA_ptr< DGraph::NodeInterface > root, DGraph::DGraphEdgeDirection pOrient)
OA_ptr
< DGraph::NodesIteratorInterface
getPostDFSIterator (DGraph::DGraphEdgeDirection pOrient)
OA_ptr
< DGraph::NodesIteratorInterface
getPostDFSIterator (OA_ptr< DGraph::NodeInterface > root, DGraph::DGraphEdgeDirection pOrient)
OA_ptr< NodesIteratorInterfacegetDUGNodesIterator () const
OA_ptr< EdgesIteratorInterfacegetDUGEdgesIterator () const
OA_ptr< NodesIteratorInterfacegetDUGEntryNodesIterator () const
OA_ptr< NodesIteratorInterfacegetDUGExitNodesIterator () const
OA_ptr< NodesIteratorInterfacegetDUGReversePostDFSIterator (DGraph::DGraphEdgeDirection pOrient)
OA_ptr< NodesIteratorInterfacegetDUGDFSIterator (OA_ptr< NodeInterface > n)
void mapSymToMemRefSet (SymHandle sym, MemRefHandle mref)
 map Location to MemRefHandle
void mapSymToStmtSet (SymHandle sym, StmtHandle stmt)
 map Location to StmtHandle
std::set< MemRefHandlegetMemRefSet (SymHandle sym)
std::set< StmtHandlegetStmtSet (SymHandle sym)
OA_ptr< NodegetNode (IRSymHandle, ProcHandle)
bool isNode (IRSymHandle, ProcHandle)

Private Attributes

OA_ptr< NodemEntry
OA_ptr< NodemExit
OA_ptr< DGraph::DGraphImplementmDGraph
OA_ptr< std::list< OA_ptr
< Node > > > 
mCallNodes
OA_ptr< std::list< OA_ptr
< Node > > > 
mReturnNodes
std::map< SymHandle, OA_ptr
< Node > > 
mSymToNode
std::map< SymHandle, OA_ptr
< Location > > 
mSymToLoc
std::map< SymHandle, ProcHandlemSymToProc
OA_ptr< DUGIRInterfacemIR
OA_ptr< DataFlow::ParamBindingsmParamBind
std::list< std::pair
< SymHandle, ProcHandle > > 
mIndepSymList
std::list< std::pair
< SymHandle, ProcHandle > > 
mDepSymList
std::set< SymHandlemIndepSymSet
std::set< SymHandlemDepSymSet
OA_ptr< std::set< StmtHandle > > mActiveStmtSet
OA_ptr< std::set< MemRefHandle > > mActiveMemRefSet
OA_ptr< std::set< SymHandle > > mActiveSymSet
std::map< ProcHandle, OA_ptr
< OA::Activity::ActiveStandard > > 
mActiveMap
bool mUnknownLocActive
std::map< SymHandle, std::set
< MemRefHandle > > 
mSymToMemRefSet
std::map< SymHandle, std::set
< StmtHandle > > 
mSymToStmtSet
std::map< OA_ptr< Location >
, OA_ptr< std::set
< MemRefHandle > > > 
mLocToMemRefSet
std::map< OA_ptr< Location >
, OA_ptr< std::set< StmtHandle > > > 
mLocToStmtSet
std::map< std::pair< IRHandle,
SymHandle >, OA_ptr< Node > > 
mSymToNode
std::map< SymHandle, std::set
< OA_ptr< Node > > > 
mInDepSymToNodes

Friends

class Node


Detailed Description

Definition at line 345 of file DUGStandard.hpp.


Constructor & Destructor Documentation

OA::DUG::DUGStandard::DUGStandard ( OA_ptr< DUGIRInterface pIR,
OA_ptr< DataFlow::ParamBindings pParamBind 
)

OA::DUG::DUGStandard::~DUGStandard (  )  [virtual]

Definition at line 338 of file DUGStandard.cpp.

References mEntry, mExit, and NULL.

OA::DUG::DUGStandard::DUGStandard ( OA_ptr< DUGIRInterface ,
OA_ptr< DataFlow::ParamBindings  
)

virtual OA::DUG::DUGStandard::~DUGStandard (  )  [virtual]


Member Function Documentation

void OA::DUG::DUGStandard::addEdge ( OA_ptr< DGraph::EdgeInterface pEdge  )  [virtual]

void OA::DUG::DUGStandard::addEdge ( OA_ptr< DGraph::EdgeInterface pEdge  )  [virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 368 of file DUGStandard.cpp.

References mDGraph.

void OA::DUG::DUGStandard::addNode ( OA_ptr< DGraph::NodeInterface pNode  )  [virtual]

void OA::DUG::DUGStandard::addNode ( OA_ptr< DGraph::NodeInterface pNode  )  [virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 373 of file DUGStandard.cpp.

References mDGraph.

Referenced by getNode().

void OA::DUG::DUGStandard::assignActiveStandard ( ProcHandle  proc  )  [inline]

Definition at line 462 of file DUGStandard.hpp.

References mActiveMap.

void OA::DUG::DUGStandard::assignActiveStandard ( ProcHandle  proc  )  [inline]

Definition at line 457 of file DUGStandard.hpp.

References mActiveMap.

void OA::DUG::DUGStandard::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
)

void OA::DUG::DUGStandard::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface ir 
)

void OA::DUG::DUGStandard::dumpbase ( std::ostream &  os  )  [inline]

Definition at line 489 of file DUGStandard.hpp.

void OA::DUG::DUGStandard::dumpbase ( std::ostream &  os  )  [inline]

Definition at line 484 of file DUGStandard.hpp.

void OA::DUG::DUGStandard::dumpdot ( std::ostream &  os,
OA_ptr< DUGIRInterface ir 
)

void OA::DUG::DUGStandard::dumpdot ( std::ostream &  os,
OA_ptr< DUGIRInterface ir 
)

std::map<ProcHandle,OA_ptr<OA::Activity::ActiveStandard> >& OA::DUG::DUGStandard::getActiveMap (  )  [inline]

Definition at line 403 of file DUGStandard.hpp.

References mActiveMap.

std::map<ProcHandle,OA_ptr<OA::Activity::ActiveStandard> >& OA::DUG::DUGStandard::getActiveMap (  )  [inline]

Definition at line 398 of file DUGStandard.hpp.

References mActiveMap.

OA_ptr<std::set<SymHandle> > OA::DUG::DUGStandard::getActiveSymSet (  )  [inline]

Definition at line 407 of file DUGStandard.hpp.

References mActiveSymSet.

OA_ptr<std::set<SymHandle> > OA::DUG::DUGStandard::getActiveSymSet (  )  [inline]

Definition at line 402 of file DUGStandard.hpp.

References mActiveSymSet.

OA_ptr<DGraph::NodesIteratorInterface> OA::DUG::DUGStandard::getBFSIterator (  ) 

OA_ptr< DGraph::NodesIteratorInterface > OA::DUG::DUGStandard::getBFSIterator (  ) 

Definition at line 412 of file DUGStandard.cpp.

std::list<std::pair<SymHandle, ProcHandle> >& OA::DUG::DUGStandard::getDepSyms (  )  [inline]

Definition at line 377 of file DUGStandard.hpp.

References mDepSymList.

std::list<std::pair<SymHandle, ProcHandle> >& OA::DUG::DUGStandard::getDepSyms (  )  [inline]

Definition at line 371 of file DUGStandard.hpp.

References mDepSymList.

OA_ptr<DGraph::NodesIteratorInterface> OA::DUG::DUGStandard::getDFSIterator ( OA_ptr< DGraph::NodeInterface n  )  [virtual]

OA_ptr< DGraph::NodesIteratorInterface > OA::DUG::DUGStandard::getDFSIterator ( OA_ptr< DGraph::NodeInterface n  )  [virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 405 of file DUGStandard.cpp.

References mDGraph.

Referenced by getDUGDFSIterator().

OA_ptr<NodesIteratorInterface> OA::DUG::DUGStandard::getDUGDFSIterator ( OA_ptr< NodeInterface n  )  [virtual]

Implements OA::DUG::DUGInterface.

OA_ptr< NodesIteratorInterface > OA::DUG::DUGStandard::getDUGDFSIterator ( OA_ptr< NodeInterface n  )  [virtual]

Implements OA::DUG::DUGInterface.

Definition at line 500 of file DUGStandard.cpp.

References getDFSIterator().

Here is the call graph for this function:

OA_ptr<Edge> OA::DUG::DUGStandard::getDUGEdge ( OA_ptr< DGraph::EdgeInterface dgEdge  )  const

get DUGEdge that is associated with given CFG edge in one of the CFGs we contain

OA_ptr< Edge > OA::DUG::DUGStandard::getDUGEdge ( OA_ptr< DGraph::EdgeInterface dgEdge  )  const

get DUGEdge that is associated with given CFG edge in one of the CFGs we contain

Definition at line 349 of file DUGStandard.cpp.

OA_ptr<EdgesIteratorInterface> OA::DUG::DUGStandard::getDUGEdgesIterator (  )  const [virtual]

Implements OA::DUG::DUGInterface.

OA_ptr< EdgesIteratorInterface > OA::DUG::DUGStandard::getDUGEdgesIterator (  )  const [virtual]

Implements OA::DUG::DUGInterface.

Definition at line 481 of file DUGStandard.cpp.

References getEdgesIterator().

Here is the call graph for this function:

OA_ptr<NodesIteratorInterface> OA::DUG::DUGStandard::getDUGEntryNodesIterator (  )  const [virtual]

Implements OA::DUG::DUGInterface.

OA_ptr< NodesIteratorInterface > OA::DUG::DUGStandard::getDUGEntryNodesIterator (  )  const [virtual]

Implements OA::DUG::DUGInterface.

Definition at line 462 of file DUGStandard.cpp.

References getEntryNodesIterator().

Here is the call graph for this function:

OA_ptr<NodesIteratorInterface> OA::DUG::DUGStandard::getDUGExitNodesIterator (  )  const [virtual]

Implements OA::DUG::DUGInterface.

OA_ptr< NodesIteratorInterface > OA::DUG::DUGStandard::getDUGExitNodesIterator (  )  const [virtual]

Implements OA::DUG::DUGInterface.

Definition at line 472 of file DUGStandard.cpp.

References getExitNodesIterator().

Here is the call graph for this function:

OA_ptr<Node> OA::DUG::DUGStandard::getDUGNode ( OA_ptr< DGraph::NodeInterface dgNode  )  const

get DUGNode that is associated with given CFG node in one of the CFGs we contain

OA_ptr< Node > OA::DUG::DUGStandard::getDUGNode ( OA_ptr< DGraph::NodeInterface dgNode  )  const

get DUGNode that is associated with given CFG node in one of the CFGs we contain

Definition at line 360 of file DUGStandard.cpp.

OA_ptr<NodesIteratorInterface> OA::DUG::DUGStandard::getDUGNodesIterator (  )  const [virtual]

Implements OA::DUG::DUGInterface.

OA_ptr< NodesIteratorInterface > OA::DUG::DUGStandard::getDUGNodesIterator (  )  const [virtual]

Implements OA::DUG::DUGInterface.

Definition at line 452 of file DUGStandard.cpp.

References getNodesIterator().

Here is the call graph for this function:

OA_ptr<NodesIteratorInterface> OA::DUG::DUGStandard::getDUGReversePostDFSIterator ( DGraph::DGraphEdgeDirection  pOrient  )  [virtual]

Implements OA::DUG::DUGInterface.

OA_ptr< NodesIteratorInterface > OA::DUG::DUGStandard::getDUGReversePostDFSIterator ( DGraph::DGraphEdgeDirection  pOrient  )  [virtual]

Implements OA::DUG::DUGInterface.

Definition at line 492 of file DUGStandard.cpp.

References getReversePostDFSIterator().

Here is the call graph for this function:

OA_ptr<DGraph::EdgesIteratorInterface> OA::DUG::DUGStandard::getEdgesIterator (  )  const [virtual]

OA_ptr< DGraph::EdgesIteratorInterface > OA::DUG::DUGStandard::getEdgesIterator (  )  const [virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 399 of file DUGStandard.cpp.

References mDGraph.

Referenced by getDUGEdgesIterator().

OA_ptr<DGraph::NodesIteratorInterface> OA::DUG::DUGStandard::getEntryNodesIterator (  )  const [virtual]

OA_ptr< DGraph::NodesIteratorInterface > OA::DUG::DUGStandard::getEntryNodesIterator (  )  const [virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 386 of file DUGStandard.cpp.

References mDGraph.

Referenced by getDUGEntryNodesIterator().

OA_ptr<DGraph::NodesIteratorInterface> OA::DUG::DUGStandard::getExitNodesIterator (  )  const [virtual]

OA_ptr< DGraph::NodesIteratorInterface > OA::DUG::DUGStandard::getExitNodesIterator (  )  const [virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 393 of file DUGStandard.cpp.

References mDGraph.

Referenced by getDUGExitNodesIterator().

std::set<OA_ptr<Node> >& OA::DUG::DUGStandard::getInDepSymNodeSet ( SymHandle  sym  )  [inline]

Definition at line 371 of file DUGStandard.hpp.

References mInDepSymToNodes.

std::list<std::pair<SymHandle, ProcHandle> >& OA::DUG::DUGStandard::getIndepSyms (  )  [inline]

Definition at line 374 of file DUGStandard.hpp.

References mIndepSymList.

std::list<std::pair<SymHandle, ProcHandle> >& OA::DUG::DUGStandard::getIndepSyms (  )  [inline]

Definition at line 368 of file DUGStandard.hpp.

References mIndepSymList.

std::set<MemRefHandle> OA::DUG::DUGStandard::getMemRefSet ( SymHandle  sym  )  [inline]

Return an iterator over all MemRefs that are mapped from the given Location

Definition at line 561 of file DUGStandard.hpp.

References mSymToMemRefSet.

std::set<MemRefHandle> OA::DUG::DUGStandard::getMemRefSet ( SymHandle  sym  )  [inline]

Return an iterator over all MemRefs that are mapped from the given Location

Definition at line 556 of file DUGStandard.hpp.

References mSymToMemRefSet.

OA_ptr< Node > OA::DUG::DUGStandard::getNode ( IRSymHandle  ish,
ProcHandle  proc 
)

Definition at line 564 of file DUGStandard.cpp.

References addNode(), OA::OA_ptr< T >::convert(), OA::IRHandle::hval(), isDependent(), isIndependent(), mInDepSymToNodes, mIR, mSymToNode, Node, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

OA_ptr< Node > OA::DUG::DUGStandard::getNode ( SymHandle  sym,
ProcHandle  proc 
)

Definition at line 548 of file DUGStandard.cpp.

References addNode(), OA::OA_ptr< T >::convert(), OA::IRHandle::hval(), mIR, mSymToNode, Node, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

OA_ptr<DGraph::NodesIteratorInterface> OA::DUG::DUGStandard::getNodesIterator (  )  const [virtual]

OA_ptr< DGraph::NodesIteratorInterface > OA::DUG::DUGStandard::getNodesIterator (  )  const [virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 380 of file DUGStandard.cpp.

References mDGraph.

Referenced by getDUGNodesIterator().

int OA::DUG::DUGStandard::getNumEdges (  )  [inline, virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 483 of file DUGStandard.hpp.

References mDGraph.

int OA::DUG::DUGStandard::getNumEdges (  )  [inline, virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 478 of file DUGStandard.hpp.

References mDGraph.

int OA::DUG::DUGStandard::getNumNodes (  )  [inline, virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 482 of file DUGStandard.hpp.

References mDGraph.

int OA::DUG::DUGStandard::getNumNodes (  )  [inline, virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 477 of file DUGStandard.hpp.

References mDGraph.

OA_ptr<DGraph::NodesIteratorInterface> OA::DUG::DUGStandard::getPostDFSIterator ( OA_ptr< DGraph::NodeInterface root,
DGraph::DGraphEdgeDirection  pOrient 
)

OA_ptr<DGraph::NodesIteratorInterface> OA::DUG::DUGStandard::getPostDFSIterator ( DGraph::DGraphEdgeDirection  pOrient  ) 

OA_ptr< DGraph::NodesIteratorInterface > OA::DUG::DUGStandard::getPostDFSIterator ( OA_ptr< DGraph::NodeInterface root,
DGraph::DGraphEdgeDirection  pOrient 
)

Definition at line 445 of file DUGStandard.cpp.

OA_ptr< DGraph::NodesIteratorInterface > OA::DUG::DUGStandard::getPostDFSIterator ( DGraph::DGraphEdgeDirection  pOrient  ) 

FIXME: for now just returning a ReversePostDFSIterator that starts at exit. For data-flow analysis this is actually better but DGraphDFProblem has to get the PostDFSIterator because not all graphs (eg. callgraph) have an exit node.

Definition at line 439 of file DUGStandard.cpp.

OA_ptr<DGraph::NodesIteratorInterface> OA::DUG::DUGStandard::getReversePostDFSIterator ( OA_ptr< DGraph::NodeInterface root,
DGraph::DGraphEdgeDirection  pOrient 
)

OA_ptr<DGraph::NodesIteratorInterface> OA::DUG::DUGStandard::getReversePostDFSIterator ( DGraph::DGraphEdgeDirection  pOrient  )  [virtual]

OA_ptr< DGraph::NodesIteratorInterface > OA::DUG::DUGStandard::getReversePostDFSIterator ( OA_ptr< DGraph::NodeInterface root,
DGraph::DGraphEdgeDirection  pOrient 
)

Definition at line 427 of file DUGStandard.cpp.

OA_ptr< DGraph::NodesIteratorInterface > OA::DUG::DUGStandard::getReversePostDFSIterator ( DGraph::DGraphEdgeDirection  pOrient  )  [virtual]

Implements OA::DGraph::DGraphInterface.

Definition at line 421 of file DUGStandard.cpp.

References mDGraph.

Referenced by getDUGReversePostDFSIterator().

std::set<StmtHandle> OA::DUG::DUGStandard::getStmtSet ( SymHandle  sym  )  [inline]

Return an iterator over all StmtHandles that are mapped from the given Location

Definition at line 567 of file DUGStandard.hpp.

References mSymToStmtSet.

std::set<StmtHandle> OA::DUG::DUGStandard::getStmtSet ( SymHandle  sym  )  [inline]

Return an iterator over all StmtHandles that are mapped from the given Location

Definition at line 562 of file DUGStandard.hpp.

References mSymToStmtSet.

void OA::DUG::DUGStandard::insertActiveMemRefSet ( MemRefHandle  mref,
ProcHandle  proc 
) [inline]

Definition at line 457 of file DUGStandard.hpp.

References mActiveMap, and mActiveMemRefSet.

void OA::DUG::DUGStandard::insertActiveMemRefSet ( MemRefHandle  mref,
ProcHandle  proc 
) [inline]

Definition at line 452 of file DUGStandard.hpp.

References mActiveMap, and mActiveMemRefSet.

void OA::DUG::DUGStandard::insertActiveStmtSet ( StmtHandle  stmt,
ProcHandle  proc 
) [inline]

Definition at line 451 of file DUGStandard.hpp.

References mActiveMap, and mActiveStmtSet.

void OA::DUG::DUGStandard::insertActiveStmtSet ( StmtHandle  stmt,
ProcHandle  proc 
) [inline]

Definition at line 446 of file DUGStandard.hpp.

References mActiveMap, and mActiveStmtSet.

void OA::DUG::DUGStandard::insertActiveSymSet ( OA_ptr< Location  ) 

void OA::DUG::DUGStandard::insertActiveSymSet ( SymHandle  sym  )  [inline]

Definition at line 395 of file DUGStandard.hpp.

References mActiveSymSet.

void OA::DUG::DUGStandard::insertActiveSymSet ( OA_ptr< Location loc  ) 

Definition at line 656 of file DUGStandard.cpp.

References OA::OA_ptr< T >::convert(), OA::OA_ptr< T >::dump(), insertActiveSymSet(), mIR, and mUnknownLocActive.

Here is the call graph for this function:

void OA::DUG::DUGStandard::insertActiveSymSet ( SymHandle  sym  )  [inline]

Definition at line 390 of file DUGStandard.hpp.

References mActiveSymSet.

Referenced by insertActiveSymSet().

void OA::DUG::DUGStandard::insertDepSymList ( SymHandle  sym,
ProcHandle  proc 
) [inline]

Definition at line 386 of file DUGStandard.hpp.

References mDepSymList, and mDepSymSet.

void OA::DUG::DUGStandard::insertDepSymList ( SymHandle  sym,
ProcHandle  proc 
) [inline]

Definition at line 380 of file DUGStandard.hpp.

References mDepSymList, and mDepSymSet.

void OA::DUG::DUGStandard::insertIndepSymList ( SymHandle  sym,
ProcHandle  proc 
) [inline]

Definition at line 381 of file DUGStandard.hpp.

References mIndepSymList, and mIndepSymSet.

void OA::DUG::DUGStandard::insertIndepSymList ( SymHandle  sym,
ProcHandle  proc 
) [inline]

Definition at line 375 of file DUGStandard.hpp.

References mIndepSymList, and mIndepSymSet.

bool OA::DUG::DUGStandard::isActive ( MemRefHandle  memref  ) 

Indicate whether the given memref is active or not.

bool OA::DUG::DUGStandard::isActive ( StmtHandle  stmt  ) 

Indicate whether the given stmt is active or not.

bool OA::DUG::DUGStandard::isActive ( SymHandle  sym  ) 

Indicate whether the given symbol is active or not.

bool OA::DUG::DUGStandard::isActive ( MemRefHandle  memref  ) 

Indicate whether the given memref is active or not.

Definition at line 1144 of file DUGStandard.cpp.

References mActiveMemRefSet.

bool OA::DUG::DUGStandard::isActive ( StmtHandle  stmt  ) 

Indicate whether the given stmt is active or not.

bool OA::DUG::DUGStandard::isActive ( SymHandle  sym  ) 

Indicate whether the given symbol is active or not.

Indicate whether the given sym is active or not.

Definition at line 1129 of file DUGStandard.cpp.

References mActiveSymSet, and mUnknownLocActive.

bool OA::DUG::DUGStandard::isDependent ( ProcHandle  proc,
SymHandle  sym 
) [inline]

'true' if the given symbol is dependent variable or not

Definition at line 428 of file DUGStandard.hpp.

References OA::OA_ptr< T >::convert(), mDepSymSet, mIR, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

bool OA::DUG::DUGStandard::isDependent ( ProcHandle  proc,
SymHandle  sym 
) [inline]

'true' if the given symbol is dependent variable or not

Definition at line 423 of file DUGStandard.hpp.

References OA::OA_ptr< T >::convert(), mDepSymSet, mIR, and OA::OA_ptr< T >::ptrEqual().

Referenced by getNode().

Here is the call graph for this function:

bool OA::DUG::DUGStandard::isIndependent ( ProcHandle  proc,
SymHandle  sym 
) [inline]

'true' if the given symbol is independent variable or not

Definition at line 413 of file DUGStandard.hpp.

References OA::OA_ptr< T >::convert(), mIndepSymSet, mIR, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

bool OA::DUG::DUGStandard::isIndependent ( ProcHandle  proc,
SymHandle  sym 
) [inline]

'true' if the given symbol is independent variable or not

Definition at line 408 of file DUGStandard.hpp.

References OA::OA_ptr< T >::convert(), mIndepSymSet, mIR, and OA::OA_ptr< T >::ptrEqual().

Referenced by getNode().

Here is the call graph for this function:

bool OA::DUG::DUGStandard::isNode ( IRSymHandle  ish,
ProcHandle  proc 
)

Definition at line 626 of file DUGStandard.cpp.

References OA::OA_ptr< T >::convert(), OA::IRHandle::hval(), mIR, mSymToNode, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

bool OA::DUG::DUGStandard::isNode ( SymHandle  sym,
ProcHandle  proc 
)

Definition at line 603 of file DUGStandard.cpp.

References OA::OA_ptr< T >::convert(), OA::IRHandle::hval(), mIR, mSymToNode, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::DUG::DUGStandard::mapSymToMemRefSet ( SymHandle  sym,
MemRefHandle  mref 
) [inline]

map Location to MemRefHandle

Definition at line 550 of file DUGStandard.hpp.

References mSymToMemRefSet.

void OA::DUG::DUGStandard::mapSymToMemRefSet ( SymHandle  sym,
MemRefHandle  mref 
) [inline]

map Location to MemRefHandle

Definition at line 545 of file DUGStandard.hpp.

References mSymToMemRefSet.

void OA::DUG::DUGStandard::mapSymToProc ( SymHandle  sym,
ProcHandle  proc 
) [inline]

Definition at line 391 of file DUGStandard.hpp.

References mSymToProc.

void OA::DUG::DUGStandard::mapSymToProc ( SymHandle  sym,
ProcHandle  proc 
) [inline]

Definition at line 385 of file DUGStandard.hpp.

References mSymToProc.

void OA::DUG::DUGStandard::mapSymToStmtSet ( SymHandle  sym,
StmtHandle  stmt 
) [inline]

map Location to StmtHandle

Definition at line 555 of file DUGStandard.hpp.

References mSymToStmtSet.

void OA::DUG::DUGStandard::mapSymToStmtSet ( SymHandle  sym,
StmtHandle  stmt 
) [inline]

map Location to StmtHandle

Definition at line 550 of file DUGStandard.hpp.

References mSymToStmtSet.

void OA::DUG::DUGStandard::output ( OA::IRHandlesIRInterface ir  )  [inline, virtual]

Implements OA::Annotation.

Definition at line 490 of file DUGStandard.hpp.

References mDGraph.

void OA::DUG::DUGStandard::output ( OA::IRHandlesIRInterface ir  )  [inline, virtual]

Implements OA::Annotation.

Definition at line 485 of file DUGStandard.hpp.

References mDGraph.


Friends And Related Function Documentation

Node [friend]

Definition at line 349 of file DUGStandard.hpp.

Referenced by getNode().


Member Data Documentation

Definition at line 605 of file DUGStandard.hpp.

Referenced by DUGStandard(), insertActiveMemRefSet(), and isActive().

Definition at line 604 of file DUGStandard.hpp.

Referenced by DUGStandard(), and insertActiveStmtSet().

Definition at line 606 of file DUGStandard.hpp.

Referenced by DUGStandard(), getActiveSymSet(), insertActiveSymSet(), and isActive().

OA_ptr< std::list< OA_ptr< Node > > > OA::DUG::DUGStandard::mCallNodes [private]

Definition at line 583 of file DUGStandard.hpp.

Referenced by DUGStandard().

std::list< std::pair< SymHandle, ProcHandle > > OA::DUG::DUGStandard::mDepSymList [private]

Definition at line 600 of file DUGStandard.hpp.

Referenced by getDepSyms(), and insertDepSymList().

Definition at line 602 of file DUGStandard.hpp.

Referenced by insertDepSymList(), and isDependent().

Definition at line 572 of file DUGStandard.hpp.

Referenced by DUGStandard(), and ~DUGStandard().

Definition at line 573 of file DUGStandard.hpp.

Referenced by DUGStandard(), and ~DUGStandard().

std::list< std::pair< SymHandle, ProcHandle > > OA::DUG::DUGStandard::mIndepSymList [private]

Definition at line 599 of file DUGStandard.hpp.

Referenced by getIndepSyms(), and insertIndepSymList().

Definition at line 601 of file DUGStandard.hpp.

Referenced by insertIndepSymList(), and isIndependent().

std::map<SymHandle, std::set<OA_ptr<Node> > > OA::DUG::DUGStandard::mInDepSymToNodes [private]

Definition at line 627 of file DUGStandard.hpp.

Referenced by getInDepSymNodeSet(), and getNode().

Definition at line 594 of file DUGStandard.hpp.

Referenced by getNode(), insertActiveSymSet(), isDependent(), isIndependent(), and isNode().

std::map< OA_ptr< Location >, OA_ptr< std::set< MemRefHandle > > > OA::DUG::DUGStandard::mLocToMemRefSet [private]

Definition at line 617 of file DUGStandard.hpp.

std::map< OA_ptr< Location >, OA_ptr< std::set< StmtHandle > > > OA::DUG::DUGStandard::mLocToStmtSet [private]

Definition at line 619 of file DUGStandard.hpp.

Definition at line 596 of file DUGStandard.hpp.

OA_ptr< std::list< OA_ptr< Node > > > OA::DUG::DUGStandard::mReturnNodes [private]

Definition at line 584 of file DUGStandard.hpp.

Referenced by DUGStandard().

Definition at line 590 of file DUGStandard.hpp.

std::map< SymHandle, std::set< MemRefHandle > > OA::DUG::DUGStandard::mSymToMemRefSet [private]

Definition at line 613 of file DUGStandard.hpp.

Referenced by getMemRefSet(), and mapSymToMemRefSet().

std::map<std::pair<IRHandle,SymHandle>, OA_ptr<Node> > OA::DUG::DUGStandard::mSymToNode [private]

Definition at line 592 of file DUGStandard.hpp.

Definition at line 587 of file DUGStandard.hpp.

Referenced by getNode(), and isNode().

Definition at line 591 of file DUGStandard.hpp.

Referenced by mapSymToProc().

std::map< SymHandle, std::set< StmtHandle > > OA::DUG::DUGStandard::mSymToStmtSet [private]

Definition at line 615 of file DUGStandard.hpp.

Referenced by getStmtSet(), and mapSymToStmtSet().

Definition at line 609 of file DUGStandard.hpp.

Referenced by DUGStandard(), insertActiveSymSet(), and isActive().


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

Generated on Fri Jul 24 05:42:05 2009 for OpenADFortTk (extended to Open64) by  doxygen 1.5.7.1