#include <ManagerInterSideEffectStandard.hpp>


The AnnotationManager for InterSideEffectStandard. This class can build an InterSideEffectStandard.
Definition at line 42 of file ManagerInterSideEffectStandard.hpp.
| OA::SideEffect::ManagerInterSideEffectStandard::ManagerInterSideEffectStandard | ( | OA_ptr< InterSideEffectIRInterface > | _ir | ) |
Definition at line 25 of file ManagerInterSideEffectStandard.cpp.
References OA::DataFlow::CallGraphDFSolver::BottomUp, OA::SideEffect::debug, mSolver, and OA_DEBUG_CTRL_MACRO.
| OA::SideEffect::ManagerInterSideEffectStandard::~ManagerInterSideEffectStandard | ( | ) | [inline] |
Definition at line 45 of file ManagerInterSideEffectStandard.hpp.
| OA_ptr< DataFlow::DataFlowSet > OA::SideEffect::ManagerInterSideEffectStandard::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 both caller and callee are defined (have associated ProcHandles)
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 248 of file ManagerInterSideEffectStandard.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::SideEffect::ManagerInterSideEffectStandard::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 if callee is not defined in the call graph
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 412 of file ManagerInterSideEffectStandard.cpp.
References OA::SideEffect::debug, OA::OA_ptr< T >::dump(), mInterSideEffect, and mIR.

| OA_ptr< DataFlow::DataFlowSet > OA::SideEffect::ManagerInterSideEffectStandard::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 213 of file ManagerInterSideEffectStandard.cpp.
| OA_ptr<DataFlow::DataFlowSet> OA::SideEffect::ManagerInterSideEffectStandard::edgeToNode | ( | CallHandle | call, | |
| OA_ptr< DataFlow::DataFlowSet > | callDFSet, | |||
| ProcHandle | proc | |||
| ) | [inline, 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 125 of file ManagerInterSideEffectStandard.hpp.
| OA_ptr< DataFlow::DataFlowSet > OA::SideEffect::ManagerInterSideEffectStandard::initializeBottom | ( | ) | [private, virtual] |
Return an initialized bottom set.
Shouldn't be called.
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 151 of file ManagerInterSideEffectStandard.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::SideEffect::ManagerInterSideEffectStandard::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 190 of file ManagerInterSideEffectStandard.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::SideEffect::ManagerInterSideEffectStandard::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 179 of file ManagerInterSideEffectStandard.cpp.
References initializeTop().

| OA_ptr< DataFlow::DataFlowSet > OA::SideEffect::ManagerInterSideEffectStandard::initializeNode | ( | ProcHandle | proc | ) | [private, virtual] |
Should generate an initial DataFlowSet for a procedure.
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 160 of file ManagerInterSideEffectStandard.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::SideEffect::ManagerInterSideEffectStandard::initializeNodeIN | ( | OA_ptr< CallGraph::NodeInterface > | n | ) | [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 166 of file ManagerInterSideEffectStandard.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::SideEffect::ManagerInterSideEffectStandard::initializeNodeOUT | ( | OA_ptr< CallGraph::NodeInterface > | n | ) | [private, virtual] |
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 171 of file ManagerInterSideEffectStandard.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::SideEffect::ManagerInterSideEffectStandard::initializeTop | ( | ) | [private, virtual] |
Return an initialized top set.
Data-flow set passed around on the call graph is an CountDFSet.
Implements OA::DataFlow::CallGraphDFProblem.
Definition at line 141 of file ManagerInterSideEffectStandard.cpp.
Referenced by initializeEdge().
| OA_ptr< DataFlow::DataFlowSet > OA::SideEffect::ManagerInterSideEffectStandard::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 205 of file ManagerInterSideEffectStandard.cpp.
| OA_ptr<DataFlow::DataFlowSet> OA::SideEffect::ManagerInterSideEffectStandard::nodeToEdge | ( | ProcHandle | proc, | |
| OA_ptr< DataFlow::DataFlowSet > | procDFSet, | |||
| CallHandle | call | |||
| ) | [inline, 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 117 of file ManagerInterSideEffectStandard.hpp.
| OA_ptr< InterSideEffectStandard > OA::SideEffect::ManagerInterSideEffectStandard::performAnalysis | ( | OA_ptr< CallGraph::CallGraphInterface > | callGraph, | |
| OA_ptr< DataFlow::ParamBindings > | paramBind, | |||
| OA_ptr< Alias::InterAliasInterface > | interAlias, | |||
| OA_ptr< ManagerSideEffectStandard > | intraMan, | |||
| DataFlow::DFPImplement | algorithm | |||
| ) |
Going to use the solve on CallGraph. Just passing around count of locations in the combination of all size SideEffect sets, because if doing things properly would essentially end up with six LocDFSets. Instead, the callbacks will just update the InterSideEffect datastructure.
Definition at line 72 of file ManagerInterSideEffectStandard.cpp.
OA_ptr<Alias::InterAliasInterface> OA::SideEffect::ManagerInterSideEffectStandard::mInterAlias [private] |
Definition at line 134 of file ManagerInterSideEffectStandard.hpp.
OA_ptr<InterSideEffectStandard> OA::SideEffect::ManagerInterSideEffectStandard::mInterSideEffect [private] |
Definition at line 135 of file ManagerInterSideEffectStandard.hpp.
Referenced by atCallGraphEdge().
OA_ptr<ManagerSideEffectStandard> OA::SideEffect::ManagerInterSideEffectStandard::mIntraMan [private] |
Definition at line 137 of file ManagerInterSideEffectStandard.hpp.
Definition at line 133 of file ManagerInterSideEffectStandard.hpp.
Referenced by atCallGraphEdge().
OA_ptr<DataFlow::ParamBindings> OA::SideEffect::ManagerInterSideEffectStandard::mParamBind [private] |
Definition at line 136 of file ManagerInterSideEffectStandard.hpp.
OA_ptr<DataFlow::CallGraphDFSolver> OA::SideEffect::ManagerInterSideEffectStandard::mSolver [private] |
Definition at line 138 of file ManagerInterSideEffectStandard.hpp.
Referenced by ManagerInterSideEffectStandard().
1.7.1