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 373 of file CSFIActivity/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 340 of file CSFIActivity/DUGStandard.cpp.

References mEntry, and mExit.

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 370 of file CSFIActivity/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 375 of file CSFIActivity/DUGStandard.cpp.

References mDGraph.

Referenced by getNode().

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

Definition at line 462 of file CSFSActivity/DUGStandard.hpp.

References mActiveMap.

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

Definition at line 485 of file CSFIActivity/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 CSFSActivity/DUGStandard.hpp.

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

Definition at line 512 of file CSFIActivity/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 CSFSActivity/DUGStandard.hpp.

References mActiveMap.

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

Definition at line 426 of file CSFIActivity/DUGStandard.hpp.

References mActiveMap.

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

Definition at line 407 of file CSFSActivity/DUGStandard.hpp.

References mActiveSymSet.

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

Definition at line 430 of file CSFIActivity/DUGStandard.hpp.

References mActiveSymSet.

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

Definition at line 414 of file CSFIActivity/DUGStandard.cpp.

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

Definition at line 377 of file CSFSActivity/DUGStandard.hpp.

References mDepSymList.

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

Definition at line 399 of file CSFIActivity/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 407 of file CSFIActivity/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 502 of file CSFIActivity/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 351 of file CSFIActivity/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 483 of file CSFIActivity/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 464 of file CSFIActivity/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 474 of file CSFIActivity/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 362 of file CSFIActivity/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 454 of file CSFIActivity/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 494 of file CSFIActivity/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 401 of file CSFIActivity/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 388 of file CSFIActivity/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 395 of file CSFIActivity/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 CSFSActivity/DUGStandard.hpp.

References mInDepSymToNodes.

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

Definition at line 374 of file CSFSActivity/DUGStandard.hpp.

References mIndepSymList.

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

Definition at line 396 of file CSFIActivity/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 CSFSActivity/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 584 of file CSFIActivity/DUGStandard.hpp.

References mSymToMemRefSet.

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

Definition at line 550 of file CSFIActivity/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 382 of file CSFIActivity/DUGStandard.cpp.

References mDGraph.

Referenced by getDUGNodesIterator().

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

Implements OA::DGraph::DGraphInterface.

Definition at line 483 of file CSFSActivity/DUGStandard.hpp.

References mDGraph.

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

Implements OA::DGraph::DGraphInterface.

Definition at line 506 of file CSFIActivity/DUGStandard.hpp.

References mDGraph.

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

Implements OA::DGraph::DGraphInterface.

Definition at line 482 of file CSFSActivity/DUGStandard.hpp.

References mDGraph.

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

Implements OA::DGraph::DGraphInterface.

Definition at line 505 of file CSFIActivity/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 447 of file CSFIActivity/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 441 of file CSFIActivity/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 429 of file CSFIActivity/DUGStandard.cpp.

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

Implements OA::DGraph::DGraphInterface.

Definition at line 423 of file CSFIActivity/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 CSFSActivity/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 590 of file CSFIActivity/DUGStandard.hpp.

References mSymToStmtSet.

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

Definition at line 457 of file CSFSActivity/DUGStandard.hpp.

References mActiveMap, and mActiveMemRefSet.

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

Definition at line 480 of file CSFIActivity/DUGStandard.hpp.

References mActiveMap, and mActiveMemRefSet.

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

Definition at line 451 of file CSFSActivity/DUGStandard.hpp.

References mActiveMap, and mActiveStmtSet.

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

Definition at line 474 of file CSFIActivity/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 CSFSActivity/DUGStandard.hpp.

References mActiveSymSet.

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

Definition at line 658 of file CSFIActivity/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 418 of file CSFIActivity/DUGStandard.hpp.

References mActiveSymSet.

Referenced by insertActiveSymSet().

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

Definition at line 386 of file CSFSActivity/DUGStandard.hpp.

References mDepSymList, and mDepSymSet.

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

Definition at line 408 of file CSFIActivity/DUGStandard.hpp.

References mDepSymList, and mDepSymSet.

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

Definition at line 381 of file CSFSActivity/DUGStandard.hpp.

References mIndepSymList, and mIndepSymSet.

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

Definition at line 403 of file CSFIActivity/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 1253 of file CSFIActivity/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 1238 of file CSFIActivity/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 CSFSActivity/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 451 of file CSFIActivity/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 CSFSActivity/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 436 of file CSFIActivity/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 CSFSActivity/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 605 of file CSFIActivity/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 CSFSActivity/DUGStandard.hpp.

References mSymToMemRefSet.

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

map Location to MemRefHandle

Definition at line 573 of file CSFIActivity/DUGStandard.hpp.

References mSymToMemRefSet.

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

Definition at line 391 of file CSFSActivity/DUGStandard.hpp.

References mSymToProc.

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

Definition at line 413 of file CSFIActivity/DUGStandard.hpp.

References mSymToProc.

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

map Location to StmtHandle

Definition at line 555 of file CSFSActivity/DUGStandard.hpp.

References mSymToStmtSet.

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

map Location to StmtHandle

Definition at line 578 of file CSFIActivity/DUGStandard.hpp.

References mSymToStmtSet.

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

Implements OA::Annotation.

Definition at line 490 of file CSFSActivity/DUGStandard.hpp.

References mDGraph.

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

Implements OA::Annotation.

Definition at line 513 of file CSFIActivity/DUGStandard.hpp.

References mDGraph.


Friends And Related Function Documentation

Node [friend]

Definition at line 377 of file CSFIActivity/DUGStandard.hpp.

Referenced by getNode().


Member Data Documentation

Definition at line 633 of file CSFIActivity/DUGStandard.hpp.

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

Definition at line 632 of file CSFIActivity/DUGStandard.hpp.

Referenced by DUGStandard(), and insertActiveStmtSet().

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

Definition at line 611 of file CSFIActivity/DUGStandard.hpp.

Referenced by DUGStandard().

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

Definition at line 628 of file CSFIActivity/DUGStandard.hpp.

Referenced by getDepSyms(), and insertDepSymList().

Definition at line 630 of file CSFIActivity/DUGStandard.hpp.

Referenced by insertDepSymList(), and isDependent().

Definition at line 600 of file CSFIActivity/DUGStandard.hpp.

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

Definition at line 601 of file CSFIActivity/DUGStandard.hpp.

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

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

Definition at line 627 of file CSFIActivity/DUGStandard.hpp.

Referenced by getIndepSyms(), and insertIndepSymList().

Definition at line 629 of file CSFIActivity/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 CSFSActivity/DUGStandard.hpp.

Referenced by getInDepSymNodeSet(), and getNode().

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

Definition at line 645 of file CSFIActivity/DUGStandard.hpp.

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

Definition at line 647 of file CSFIActivity/DUGStandard.hpp.

Definition at line 624 of file CSFIActivity/DUGStandard.hpp.

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

Definition at line 612 of file CSFIActivity/DUGStandard.hpp.

Referenced by DUGStandard().

Definition at line 618 of file CSFIActivity/DUGStandard.hpp.

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

Definition at line 641 of file CSFIActivity/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 CSFSActivity/DUGStandard.hpp.

Definition at line 615 of file CSFIActivity/DUGStandard.hpp.

Referenced by getNode(), and isNode().

Definition at line 619 of file CSFIActivity/DUGStandard.hpp.

Referenced by mapSymToProc().

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

Definition at line 643 of file CSFIActivity/DUGStandard.hpp.

Referenced by getStmtSet(), and mapSymToStmtSet().

Definition at line 637 of file CSFIActivity/DUGStandard.hpp.

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


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

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