#include <CallGraphDFSolver.hpp>


Definition at line 44 of file CallGraphDFSolver.hpp.
Definition at line 46 of file CallGraphDFSolver.hpp.
| OA::DataFlow::CallGraphDFSolver::CallGraphDFSolver | ( | CallGraphDirectionType | pDirection, | |
| CallGraphDFProblem & | prob | |||
| ) |
Definition at line 23 of file CallGraphDFSolver.cpp.
References OA::DataFlow::debug, and OA_DEBUG_CTRL_MACRO.
| virtual OA::DataFlow::CallGraphDFSolver::~CallGraphDFSolver | ( | ) | [inline, virtual] |
Definition at line 57 of file CallGraphDFSolver.hpp.
| bool OA::DataFlow::CallGraphDFSolver::atDGraphEdge | ( | OA_ptr< DGraph::EdgeInterface > | pEdge, | |
| DGraph::DGraphEdgeDirection | pOrient | |||
| ) | [virtual] |
Reimplemented from OA::DataFlow::DGraphSolverDFP.
Definition at line 109 of file CallGraphDFSolver.cpp.
References OA::DataFlow::CallGraphDFProblem::atCallGraphEdge(), OA::OA_ptr< T >::convert(), OA::DataFlow::debug, OA::DGraph::DEdgeOrg, mDFProb, mEdgeInSetMap, mEdgeOutSetMap, mNodeOutSetMap, and OA::DataFlow::CallGraphDFProblem::nodeToEdge().

| bool OA::DataFlow::CallGraphDFSolver::atDGraphNode | ( | OA_ptr< DGraph::NodeInterface > | pNode, | |
| DGraph::DGraphEdgeDirection | pOrient | |||
| ) | [virtual] |
NOTE: The CallGraphDFSolver code treats nodeIn, nodeOut, edgeIn, and edgeOut differently than the other data-flow frameworks. FIXME: to make maintenance easier they should all use similar logic
Reimplemented from OA::DataFlow::DGraphSolverDFP.
Definition at line 169 of file CallGraphDFSolver.cpp.
| void OA::DataFlow::CallGraphDFSolver::dump | ( | std::ostream & | os, | |
| OA_ptr< IRHandlesIRInterface > | ir | |||
| ) |
Definition at line 261 of file CallGraphDFSolver.cpp.
| void OA::DataFlow::CallGraphDFSolver::finalizeEdge | ( | OA_ptr< DGraph::EdgeInterface > | edge | ) | [virtual] |
Reimplemented from OA::DataFlow::DGraphSolverDFP.
Definition at line 253 of file CallGraphDFSolver.cpp.
| void OA::DataFlow::CallGraphDFSolver::finalizeNode | ( | OA_ptr< DGraph::NodeInterface > | node | ) | [virtual] |
Reimplemented from OA::DataFlow::DGraphSolverDFP.
Definition at line 247 of file CallGraphDFSolver.cpp.
| void OA::DataFlow::CallGraphDFSolver::initialize | ( | OA_ptr< DGraph::DGraphInterface > | dg | ) | [virtual] |
Implements OA::DataFlow::DGraphSolverDFP.
Definition at line 56 of file CallGraphDFSolver.cpp.
References OA::OA_ptr< T >::convert(), OA::DataFlow::CallGraphDFProblem::initializeEdge(), OA::DataFlow::CallGraphDFProblem::initializeNode(), OA::DataFlow::CallGraphDFProblem::initializeTop(), mDFProb, mEdgeInSetMap, mEdgeOutSetMap, mNodeInSetMap, and mNodeOutSetMap.

| void OA::DataFlow::CallGraphDFSolver::solve | ( | OA_ptr< CallGraph::CallGraphInterface > | callGraph, | |
| DFPImplement | algorithm | |||
| ) |
solves data-flow problem, after done in and out nodes will have correct data-flow values
Definition at line 31 of file CallGraphDFSolver.cpp.
References OA::DataFlow::debug, OA::DGraph::DEdgeOrg, OA::DGraph::DEdgeRev, OA::DataFlow::CallGraphDFProblem::initializeTop(), mDFProb, mDirection, mTop, and TopDown.

Definition at line 114 of file CallGraphDFSolver.hpp.
Referenced by atDGraphEdge(), initialize(), and solve().
Definition at line 50 of file CallGraphDFSolver.hpp.
Referenced by solve().
std::map<OA_ptr<CallGraph::EdgeInterface>,OA_ptr<DataFlowSet> > OA::DataFlow::CallGraphDFSolver::mEdgeInSetMap [private] |
Definition at line 108 of file CallGraphDFSolver.hpp.
Referenced by atDGraphEdge(), and initialize().
std::map<OA_ptr<CallGraph::EdgeInterface>,OA_ptr<DataFlowSet> > OA::DataFlow::CallGraphDFSolver::mEdgeOutSetMap [private] |
Definition at line 106 of file CallGraphDFSolver.hpp.
Referenced by atDGraphEdge(), and initialize().
std::map<OA_ptr<CallGraph::NodeInterface>,bool> OA::DataFlow::CallGraphDFSolver::mNodeInitTransApp [private] |
Definition at line 112 of file CallGraphDFSolver.hpp.
std::map<OA_ptr<CallGraph::NodeInterface>,OA_ptr<DataFlowSet> > OA::DataFlow::CallGraphDFSolver::mNodeInSetMap [private] |
Definition at line 104 of file CallGraphDFSolver.hpp.
Referenced by initialize().
std::map<OA_ptr<CallGraph::NodeInterface>,OA_ptr<DataFlowSet> > OA::DataFlow::CallGraphDFSolver::mNodeOutSetMap [private] |
Definition at line 102 of file CallGraphDFSolver.hpp.
Referenced by atDGraphEdge(), and initialize().
Definition at line 48 of file CallGraphDFSolver.hpp.
Referenced by solve().
1.7.1