Public Member Functions | Private Member Functions | Private Attributes

OA::AvailableExpressions::ManagerAvailableExpressionsStandard Class Reference

#include <auto_ManagerAvailableExpressionsStandard.hpp>

Inheritance diagram for OA::AvailableExpressions::ManagerAvailableExpressionsStandard:
Inheritance graph
[legend]
Collaboration diagram for OA::AvailableExpressions::ManagerAvailableExpressionsStandard:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ManagerAvailableExpressionsStandard (OA_ptr< AvailableExpressionsIRInterface > _ir)
 ~ManagerAvailableExpressionsStandard ()
OA_ptr
< AvailableExpressionsStandard
performAnalysis (ProcHandle proc, OA_ptr< CFG::CFGInterface > cfg, OA_ptr< Alias::Interface > alias, OA_ptr< SideEffect::InterSideEffectInterface > interSE)

Private Member Functions

OA_ptr< DataFlow::DataFlowSetinitializeTop ()
 Return an initialized top set.
OA_ptr< DataFlow::DataFlowSetinitializeBottom ()
 Return an initialized bottom set.
OA_ptr< DataFlow::DataFlowSetinitializeNodeIN (OA_ptr< CFG::NodeInterface > n)
 Should generate an in and out DataFlowSet for node.
OA_ptr< DataFlow::DataFlowSetinitializeNodeOUT (OA_ptr< CFG::NodeInterface > n)
void dumpset (OA_ptr< AvailableExpressionsDFSet > inSet)
OA_ptr< DataFlow::DataFlowSetmeet (OA_ptr< DataFlow::DataFlowSet > set1, OA_ptr< DataFlow::DataFlowSet > set2)
OA_ptr< DataFlow::DataFlowSetgenSet (StmtHandle stmt)
OA_ptr< DataFlow::DataFlowSetkillSet (StmtHandle stmt, OA_ptr< DataFlow::DataFlowSet > X)
OA_ptr< DataFlow::DataFlowSettransfer (OA_ptr< DataFlow::DataFlowSet > X, OA::StmtHandle Stmt)

Private Attributes

OA_ptr
< AvailableExpressionsIRInterface
mIR
OA_ptr< Alias::InterfacemAlias
OA_ptr
< AvailableExpressionsStandard
mAvailableExpressionsMap
OA_ptr< DataFlow::CFGDFSolvermSolver
std::map< StmtHandle, set
< OA_ptr< Location > > > 
mStmt2MayDefMap
std::map< StmtHandle, set
< OA_ptr< Location > > > 
mStmt2MustDefMap
std::map< StmtHandle, set
< OA_ptr< NewExprTree > > > 
mStmt2MayExprMap
std::map< StmtHandle, set
< OA_ptr< NewExprTree > > > 
mStmt2MustExprMap
std::map< StmtHandle, set
< OA_ptr< Location > > > 
mStmt2MayUseMap
std::map< StmtHandle, set
< OA_ptr< Location > > > 
mStmt2MustUseMap

Detailed Description

Definition at line 31 of file auto_ManagerAvailableExpressionsStandard.hpp.


Constructor & Destructor Documentation

OA::AvailableExpressions::ManagerAvailableExpressionsStandard::ManagerAvailableExpressionsStandard ( OA_ptr< AvailableExpressionsIRInterface _ir  ) 
OA::AvailableExpressions::ManagerAvailableExpressionsStandard::~ManagerAvailableExpressionsStandard (  )  [inline]

Definition at line 36 of file auto_ManagerAvailableExpressionsStandard.hpp.


Member Function Documentation

void OA::AvailableExpressions::ManagerAvailableExpressionsStandard::dumpset ( OA_ptr< AvailableExpressionsDFSet inSet  )  [private]

Definition at line 221 of file auto_ManagerAvailableExpressionsStandard.cpp.

References OA::OA_ptr< T >::convert(), and mIR.

Referenced by meet(), and transfer().

Here is the call graph for this function:

OA_ptr< DataFlowSet > OA::AvailableExpressions::ManagerAvailableExpressionsStandard::genSet ( StmtHandle  stmt  )  [private]

Definition at line 263 of file auto_ManagerAvailableExpressionsStandard.cpp.

References mStmt2MustExprMap.

Referenced by transfer().

OA_ptr< DataFlowSet > OA::AvailableExpressions::ManagerAvailableExpressionsStandard::initializeBottom (  )  [private, virtual]

Return an initialized bottom set.

Implements OA::DataFlow::CFGDFProblem.

Definition at line 36 of file auto_ManagerAvailableExpressionsStandard.cpp.

OA_ptr< DataFlowSet > OA::AvailableExpressions::ManagerAvailableExpressionsStandard::initializeNodeIN ( OA_ptr< CFG::NodeInterface n  )  [private, virtual]

Should generate an in and out DataFlowSet for node.

Should generate an in and out DataFlowSet for node and store these in mNodeInSetMap and mNodeOutSetMap.

Implements OA::DataFlow::CFGDFProblem.

Definition at line 45 of file auto_ManagerAvailableExpressionsStandard.cpp.

OA_ptr< DataFlowSet > OA::AvailableExpressions::ManagerAvailableExpressionsStandard::initializeNodeOUT ( OA_ptr< CFG::NodeInterface n  )  [private, virtual]
OA_ptr< DataFlowSet > OA::AvailableExpressions::ManagerAvailableExpressionsStandard::initializeTop (  )  [private, virtual]

Return an initialized top set.

Implements OA::DataFlow::CFGDFProblem.

Definition at line 28 of file auto_ManagerAvailableExpressionsStandard.cpp.

OA_ptr< DataFlowSet > OA::AvailableExpressions::ManagerAvailableExpressionsStandard::killSet ( StmtHandle  stmt,
OA_ptr< DataFlow::DataFlowSet X 
) [private]

Definition at line 276 of file auto_ManagerAvailableExpressionsStandard.cpp.

References OA::OA_ptr< T >::convert(), OA::DataFlow::DFAGenDFSet< T >::isEmpty(), mStmt2MayDefMap, and mStmt2MayUseMap.

Referenced by transfer().

Here is the call graph for this function:

OA_ptr< DataFlowSet > OA::AvailableExpressions::ManagerAvailableExpressionsStandard::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 234 of file auto_ManagerAvailableExpressionsStandard.cpp.

References OA::OA_ptr< T >::convert(), OA::AvailableExpressions::debug, and dumpset().

Here is the call graph for this function:

OA_ptr< AvailableExpressionsStandard > OA::AvailableExpressions::ManagerAvailableExpressionsStandard::performAnalysis ( ProcHandle  proc,
OA_ptr< CFG::CFGInterface cfg,
OA_ptr< Alias::Interface alias,
OA_ptr< SideEffect::InterSideEffectInterface interSE 
)
OA_ptr< DataFlowSet > OA::AvailableExpressions::ManagerAvailableExpressionsStandard::transfer ( OA_ptr< DataFlow::DataFlowSet in,
OA::StmtHandle  stmt 
) [private, virtual]

OK to modify in set and return it again as result because solver clones the BB in sets

Implements OA::DataFlow::CFGDFProblem.

Definition at line 315 of file auto_ManagerAvailableExpressionsStandard.cpp.

References OA::OA_ptr< T >::convert(), OA::AvailableExpressions::debug, dumpset(), genSet(), killSet(), mAvailableExpressionsMap, and mIR.

Here is the call graph for this function:


Member Data Documentation

Definition at line 70 of file auto_ManagerAvailableExpressionsStandard.hpp.

Referenced by performAnalysis().

Definition at line 71 of file auto_ManagerAvailableExpressionsStandard.hpp.

Referenced by performAnalysis(), and transfer().

Definition at line 69 of file auto_ManagerAvailableExpressionsStandard.hpp.

Referenced by dumpset(), performAnalysis(), and transfer().

Definition at line 74 of file auto_ManagerAvailableExpressionsStandard.hpp.

Referenced by killSet(), and performAnalysis().

Definition at line 76 of file auto_ManagerAvailableExpressionsStandard.hpp.

Referenced by performAnalysis().

Definition at line 78 of file auto_ManagerAvailableExpressionsStandard.hpp.

Referenced by killSet(), and performAnalysis().

Definition at line 75 of file auto_ManagerAvailableExpressionsStandard.hpp.

Referenced by performAnalysis().

Definition at line 77 of file auto_ManagerAvailableExpressionsStandard.hpp.

Referenced by genSet().

Definition at line 79 of file auto_ManagerAvailableExpressionsStandard.hpp.

Referenced by performAnalysis().


The documentation for this class was generated from the following files: