#include <ManagerICFGDep.hpp>


The AnnotationManager for a ICFGDep. Just posing as an ICFGDFProblem because the ICFGDep results are only valid for ManagerICFGVary and ManagerICFGUseful because they propagate over the ICFG. FIXME: could be useful to other representations that handle propagation to function calls as well and doesn't need to have the stmt with a function call include the Dep relations for the call
Definition at line 44 of file ManagerICFGDep.hpp.
| OA::Activity::ManagerICFGDep::ManagerICFGDep | ( | OA_ptr< ActivityIRInterface > | _ir | ) |
Definition at line 23 of file ManagerICFGDep.cpp.
References OA::Activity::debug, OA::DataFlow::ICFGDFSolver::Forward, mSolver, and OA_DEBUG_CTRL_MACRO.
| OA::Activity::ManagerICFGDep::~ManagerICFGDep | ( | ) | [inline] |
Definition at line 48 of file ManagerICFGDep.hpp.
| OA_ptr<DataFlow::DataFlowSet> OA::Activity::ManagerICFGDep::calleeToCaller | ( | ProcHandle | callee, | |
| OA_ptr< DataFlow::DataFlowSet > | dfset, | |||
| CallHandle | call, | |||
| ProcHandle | caller | |||
| ) | [inline, private, virtual] |
Propagate a data-flow set from callee to caller.
Implements OA::DataFlow::ICFGDFProblem.
Definition at line 107 of file ManagerICFGDep.hpp.
References initializeTop().

| OA_ptr<DataFlow::DataFlowSet> OA::Activity::ManagerICFGDep::callerToCallee | ( | ProcHandle | caller, | |
| OA_ptr< DataFlow::DataFlowSet > | dfset, | |||
| CallHandle | call, | |||
| ProcHandle | callee | |||
| ) | [inline, private, virtual] |
Propagate a data-flow set from caller to callee.
Implements OA::DataFlow::ICFGDFProblem.
Definition at line 102 of file ManagerICFGDep.hpp.
References initializeTop().

| OA_ptr<DataFlow::DataFlowSet> OA::Activity::ManagerICFGDep::callToReturn | ( | ProcHandle | caller, | |
| OA_ptr< DataFlow::DataFlowSet > | dfset, | |||
| CallHandle | call, | |||
| ProcHandle | callee | |||
| ) | [inline, private, virtual] |
Propagate a data-flow set from call node to return node.
Implements OA::DataFlow::ICFGDFProblem.
Definition at line 112 of file ManagerICFGDep.hpp.
References initializeTop().

| OA_ptr<DataFlow::DataFlowSet> OA::Activity::ManagerICFGDep::entryTransfer | ( | ProcHandle | proc, | |
| OA_ptr< DataFlow::DataFlowSet > | in | |||
| ) | [inline, private, virtual] |
transfer function for the entry node of the given procedure should manipulate incoming data-flow set in any special ways for procedure and return outgoing data-flow set for node
Implements OA::DataFlow::ICFGDFProblem.
Definition at line 91 of file ManagerICFGDep.hpp.
References initializeTop().

| OA_ptr<DataFlow::DataFlowSet> OA::Activity::ManagerICFGDep::exitTransfer | ( | ProcHandle | proc, | |
| OA_ptr< DataFlow::DataFlowSet > | out | |||
| ) | [inline, private, virtual] |
transfer function for the exit node of the given procedure should manipulate outgoing data-flow set in any special ways for procedure and return incoming data-flow set for node
Implements OA::DataFlow::ICFGDFProblem.
Definition at line 98 of file ManagerICFGDep.hpp.
References initializeTop().

| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerICFGDep::initializeNodeIN | ( | OA_ptr< ICFG::NodeInterface > | n | ) | [private, virtual] |
Should generate an in and out DataFlowSet for node.
Not doing anything special at entries and exits.
Implements OA::DataFlow::ICFGDFProblem.
Definition at line 74 of file ManagerICFGDep.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerICFGDep::initializeNodeOUT | ( | OA_ptr< ICFG::NodeInterface > | n | ) | [private, virtual] |
Implements OA::DataFlow::ICFGDFProblem.
Definition at line 80 of file ManagerICFGDep.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerICFGDep::initializeTop | ( | ) | [private, virtual] |
Return an initialized top set.
Implements OA::DataFlow::ICFGDFProblem.
Definition at line 63 of file ManagerICFGDep.cpp.
Referenced by calleeToCaller(), callerToCallee(), callToReturn(), entryTransfer(), and exitTransfer().
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerICFGDep::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
Not propagating any useful information over the ICFG
Implements OA::DataFlow::ICFGDFProblem.
Definition at line 92 of file ManagerICFGDep.cpp.
| OA_ptr< ICFGDep > OA::Activity::ManagerICFGDep::performAnalysis | ( | OA_ptr< ICFG::ICFGInterface > | icfg, | |
| OA_ptr< DataFlow::ParamBindings > | paramBind, | |||
| OA_ptr< Alias::InterAliasInterface > | interAlias, | |||
| DataFlow::DFPImplement | algorithm | |||
| ) |
In transfer function creates a DepDFSet for each stmt.
Definition at line 33 of file ManagerICFGDep.cpp.
References OA::Activity::debug, mDep, mICFG, mInterAlias, mParamBind, and mSolver.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerICFGDep::transfer | ( | ProcHandle | proc, | |
| OA_ptr< DataFlow::DataFlowSet > | in, | |||
| OA::StmtHandle | stmt | |||
| ) | [private, virtual] |
Core of analysis algorithm. Transfer function for a stmt.
OK to modify in set and return it again as result because solver clones the BB in sets
Create a DepDFSet for this stmt.
Implements OA::DataFlow::ICFGDFProblem.
Definition at line 105 of file ManagerICFGDep.cpp.
OA_ptr<ICFGDep> OA::Activity::ManagerICFGDep::mDep [private] |
Definition at line 119 of file ManagerICFGDep.hpp.
Referenced by performAnalysis().
Definition at line 123 of file ManagerICFGDep.hpp.
Referenced by performAnalysis().
Definition at line 120 of file ManagerICFGDep.hpp.
Referenced by performAnalysis().
Definition at line 118 of file ManagerICFGDep.hpp.
Definition at line 121 of file ManagerICFGDep.hpp.
Referenced by performAnalysis().
Definition at line 122 of file ManagerICFGDep.hpp.
Referenced by ManagerICFGDep(), and performAnalysis().
1.7.1