#include <ManagerUsefulStandard.hpp>


The AnnotationManager for UsefulStandard. This class can build an UsefulStandard, (eventually) read one in from a file, and write one out to a file.
Definition at line 38 of file ManagerUsefulStandard.hpp.
| OA::Activity::ManagerUsefulStandard::ManagerUsefulStandard | ( | OA_ptr< ActivityIRInterface > | _ir | ) |
Definition at line 26 of file ManagerUsefulStandard.cpp.
References OA::DataFlow::CFGDFSolver::Backward, OA::Activity::debug, mSolver, and OA_DEBUG_CTRL_MACRO.
| OA::Activity::ManagerUsefulStandard::~ManagerUsefulStandard | ( | ) | [inline] |
Definition at line 43 of file ManagerUsefulStandard.hpp.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerUsefulStandard::initializeBottom | ( | ) | [private, virtual] |
Return an initialized bottom set.
Implements OA::DataFlow::CFGDFProblem.
Definition at line 40 of file ManagerUsefulStandard.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerUsefulStandard::initializeNodeIN | ( | OA_ptr< CFG::NodeInterface > | n | ) | [private, virtual] |
Should generate an in and out DataFlowSet for node.
* * Not doing anything special at entries and exits. * *
Implements OA::DataFlow::CFGDFProblem.
Definition at line 122 of file ManagerUsefulStandard.cpp.
References OA::OA_ptr< T >::convert(), mCFG, mDepLocIter, mUsefulMap, and OA::OA_ptr< T >::ptrEqual().

| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerUsefulStandard::initializeNodeOUT | ( | OA_ptr< CFG::NodeInterface > | n | ) | [private, virtual] |
Implements OA::DataFlow::CFGDFProblem.
Definition at line 143 of file ManagerUsefulStandard.cpp.
References OA::OA_ptr< T >::convert(), mCFG, mDepLocIter, mUsefulMap, and OA::OA_ptr< T >::ptrEqual().

| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerUsefulStandard::initializeTop | ( | ) | [private, virtual] |
Return an initialized top set.
Implements OA::DataFlow::CFGDFProblem.
Definition at line 33 of file ManagerUsefulStandard.cpp.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerUsefulStandard::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::CFGDFProblem.
Definition at line 166 of file ManagerUsefulStandard.cpp.
References OA::DataFlow::LocDFSet::clone(), OA::OA_ptr< T >::convert(), OA::Activity::debug, OA::DataFlow::LocDFSet::dump(), OA::OA_ptr< T >::dump(), and mIR.

| OA_ptr< UsefulStandard > OA::Activity::ManagerUsefulStandard::performAnalysis | ( | ProcHandle | proc, | |
| OA_ptr< CFG::CFGInterface > | cfg, | |||
| OA_ptr< DepStandard > | dep, | |||
| OA_ptr< DataFlow::LocDFSet > | depLocSet, | |||
| DataFlow::DFPImplement | algorithm | |||
| ) |
depLocIter is a location iterator over dependent locations that the algorithm should calculate InUseful from
Uses the CFGDFProblem::solve functionality to get In and Out Useful sets for each basic block. In transfer function put InUseful locs in UsefulStandard as well.
Definition at line 54 of file ManagerUsefulStandard.cpp.
References OA::Activity::debug, mCFG, mDep, mDepLocIter, mSolver, and mUsefulMap.
| OA_ptr< DataFlow::DataFlowSet > OA::Activity::ManagerUsefulStandard::transfer | ( | OA_ptr< DataFlow::DataFlowSet > | out, | |
| OA::StmtHandle | stmt | |||
| ) | [private, virtual] |
Core of analysis algorithm. Transfer function for a stmt.
KILL is the set of locations that are must defined in this stmt
GEN is all locations whose use might is needed for locations in OutUseful that may be defined in the statement
Implements OA::DataFlow::CFGDFProblem.
Definition at line 200 of file ManagerUsefulStandard.cpp.
References OA::OA_ptr< T >::convert(), OA::LocSetIterator::current(), OA::Activity::debug, OA::OA_ptr< T >::dump(), OA::IRHandle::hval(), OA::LocSetIterator::isValid(), mDep, mIR, and mUsefulMap.

Definition at line 81 of file ManagerUsefulStandard.hpp.
Referenced by initializeNodeIN(), initializeNodeOUT(), and performAnalysis().
Definition at line 78 of file ManagerUsefulStandard.hpp.
Referenced by performAnalysis(), and transfer().
Definition at line 80 of file ManagerUsefulStandard.hpp.
Referenced by initializeNodeIN(), initializeNodeOUT(), and performAnalysis().
Definition at line 77 of file ManagerUsefulStandard.hpp.
Referenced by meet(), and transfer().
Definition at line 83 of file ManagerUsefulStandard.hpp.
Referenced by ManagerUsefulStandard(), and performAnalysis().
Definition at line 79 of file ManagerUsefulStandard.hpp.
Referenced by initializeNodeIN(), initializeNodeOUT(), performAnalysis(), and transfer().
1.7.1