#include <ManagerInterDep.hpp>


Creates InterDep, which can be queried for a DepStandard for each procedure. Computes the DepDFSet for each statement doing a bottom-up traversal of the CallGraph so the DepDFSet for a called procedure is known.
Definition at line 47 of file ManagerInterDep.hpp.
| OA::Activity::ManagerInterDep::ManagerInterDep | ( | OA_ptr< ActivityIRInterface > | _ir | ) |
Definition at line 22 of file ManagerInterDep.cpp.
References OA::Activity::debug, and OA_DEBUG_CTRL_MACRO.
| OA::Activity::ManagerInterDep::~ManagerInterDep | ( | ) | [inline] |
Definition at line 51 of file ManagerInterDep.hpp.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerInterDep::atCallGraphEdge | ( | OA_ptr< DataFlow::DataFlowSet > | inSet, | |
| OA::CallHandle | call, | |||
| ProcHandle | caller, | |||
| ProcHandle | callee | |||
| ) | [private, virtual] |
What the analysis does for a particular call use if both caller and callee are defined
What the analysis does for a particular call Use this version if callee is defined
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 189 of file ManagerInterDep.cpp.
References OA::OA_ptr< T >::convert(), OA::Activity::debug, OA::OA_ptr< T >::dump(), mInterAlias, mInterDep, and mIR.

| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerInterDep::atCallGraphEdge | ( | OA_ptr< DataFlow::DataFlowSet > | inSet, | |
| CallHandle | call, | |||
| ProcHandle | caller, | |||
| SymHandle | callee | |||
| ) | [private, virtual] |
use if callee is not defined in the call graph
What the analysis does for a particular call Use this version when callee is not defined in the program (i.e. sin, cos)
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 284 of file ManagerInterDep.cpp.
References OA::OA_ptr< T >::convert(), OA::Activity::debug, OA::OA_ptr< T >::dump(), mInterDep, mInterSE, and mIR.

| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerInterDep::atCallGraphNode | ( | OA_ptr< DataFlow::DataFlowSet > | inSet, | |
| OA::ProcHandle | proc | |||
| ) | [private, virtual] |
What the analysis does for the particular procedure.
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 151 of file ManagerInterDep.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerInterDep::edgeToNode | ( | CallHandle | call, | |
| OA_ptr< DataFlow::DataFlowSet > | callDFSet, | |||
| ProcHandle | proc | |||
| ) | [private, virtual] |
translate results from caller edge to procedure node if top-down or from callee edge if bottom-up
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 341 of file ManagerInterDep.cpp.
References OA::Activity::debug, OA::OA_ptr< T >::dump(), and mIR.

| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerInterDep::initializeBottom | ( | ) | [private, virtual] |
Return an initialized bottom set.
Shouldn't be called.
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 75 of file ManagerInterDep.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerInterDep::initializeEdge | ( | CallHandle | call, | |
| ProcHandle | caller, | |||
| ProcHandle | callee | |||
| ) | [private, virtual] |
Should generate an initial DataFlowSet, use if for a call if both caller and callee are defined
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 96 of file ManagerInterDep.cpp.
References initializeTop().

| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerInterDep::initializeEdge | ( | CallHandle | call, | |
| ProcHandle | caller, | |||
| SymHandle | callee | |||
| ) | [private, virtual] |
Should generate an initial DataFlowSet for a call, called when callee is not defined in call graph and therefore doesn't have a procedure definition handle
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 107 of file ManagerInterDep.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerInterDep::initializeNode | ( | ProcHandle | proc | ) | [private, virtual] |
Should generate an initial DataFlowSet for a procedure.
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 88 of file ManagerInterDep.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerInterDep::initializeTop | ( | ) | [private, virtual] |
Return an initialized top set.
Data-flow set passed around on the call graph is an DepDFSet. The top value for this is no uses mapping to any defs and vice versa.
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 65 of file ManagerInterDep.cpp.
Referenced by initializeEdge().
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerInterDep::meet | ( | OA_ptr< DataFlow::DataFlowSet > | set1, | |
| OA_ptr< DataFlow::DataFlowSet > | set2 | |||
| ) | [private, virtual] |
OK to modify set1 and return it as result, because solver only passes a tempSet in as set1
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 121 of file ManagerInterDep.cpp.
References OA::OA_ptr< T >::convert(), OA::Activity::debug, OA::OA_ptr< T >::dump(), mIR, and OA::Activity::DepDFSet::setUnion().

| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerInterDep::nodeToEdge | ( | ProcHandle | proc, | |
| OA_ptr< DataFlow::DataFlowSet > | procDFSet, | |||
| CallHandle | call | |||
| ) | [private, virtual] |
translate results from procedure node to callee edge if top-down or to caller edge if bottom-up
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 328 of file ManagerInterDep.cpp.
References OA::Activity::debug.
| OA_ptr< Activity::InterDep > OA::Activity::ManagerInterDep::performAnalysis | ( | OA_ptr< CallGraph::CallGraphInterface > | callGraph, | |
| OA_ptr< DataFlow::ParamBindings > | paramBind, | |||
| OA_ptr< Alias::InterAliasInterface > | interAlias, | |||
| OA_ptr< SideEffect::InterSideEffectInterface > | interSE, | |||
| OA_ptr< CFG::EachCFGInterface > | eachCFG, | |||
| DataFlow::DFPImplement | algorithm | |||
| ) |
Definition at line 30 of file ManagerInterDep.cpp.
Definition at line 128 of file ManagerInterDep.hpp.
Definition at line 126 of file ManagerInterDep.hpp.
Referenced by atCallGraphEdge().
Definition at line 124 of file ManagerInterDep.hpp.
Referenced by atCallGraphEdge().
Definition at line 129 of file ManagerInterDep.hpp.
Referenced by atCallGraphEdge().
Definition at line 125 of file ManagerInterDep.hpp.
Referenced by atCallGraphEdge(), edgeToNode(), and meet().
Definition at line 127 of file ManagerInterDep.hpp.
Definition at line 130 of file ManagerInterDep.hpp.
1.7.1