Public Member Functions | Private Member Functions | Private Attributes

OA::Liveness::ManagerLivenessStandard Class Reference

#include <auto_ManagerLivenessStandard.hpp>

Inheritance diagram for OA::Liveness::ManagerLivenessStandard:
Inheritance graph
[legend]
Collaboration diagram for OA::Liveness::ManagerLivenessStandard:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ManagerLivenessStandard (OA_ptr< LivenessIRInterface > _ir)
 ~ManagerLivenessStandard ()
OA_ptr< LivenessStandardperformAnalysis (ProcHandle proc, OA_ptr< CFG::CFGInterface > cfg, OA_ptr< Alias::Interface > alias, OA_ptr< SideEffect::InterSideEffectInterface > interSE)
 ManagerLivenessStandard (OA_ptr< LivenessIRInterface > _ir)
 ~ManagerLivenessStandard ()
OA_ptr< LivenessStandardperformAnalysis (ProcHandle, OA_ptr< CFG::CFGInterface > cfg, OA_ptr< Alias::Interface > alias, OA_ptr< SideEffect::InterSideEffectInterface > interSE, DataFlow::DFPImplement algorithm)

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< LivenessDFSet > 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)
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)
OA_ptr< DataFlow::DataFlowSetmeet (OA_ptr< DataFlow::DataFlowSet > set1, OA_ptr< DataFlow::DataFlowSet > set2)
OA_ptr< DataFlow::DataFlowSettransfer (OA_ptr< DataFlow::DataFlowSet > in, OA::StmtHandle stmt)

Private Attributes

OA_ptr< LivenessIRInterfacemIR
OA_ptr< Alias::InterfacemAlias
OA_ptr< LivenessStandardmLivenessMap
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< Location > > > 
mStmt2MayUseMap
std::map< StmtHandle, set
< OA_ptr< Location > > > 
mStmt2MustUseMap
OA_ptr< LivenessStandardmLiveMap
std::map< StmtHandle, LocSetmStmtMustDefMap
std::map< StmtHandle, LocSetmStmtMayUseMap

Detailed Description

Definition at line 31 of file auto_ManagerLivenessStandard.hpp.


Constructor & Destructor Documentation

OA::Liveness::ManagerLivenessStandard::ManagerLivenessStandard ( OA_ptr< LivenessIRInterface _ir  ) 
OA::Liveness::ManagerLivenessStandard::~ManagerLivenessStandard (  )  [inline]

Definition at line 36 of file auto_ManagerLivenessStandard.hpp.

OA::Liveness::ManagerLivenessStandard::ManagerLivenessStandard ( OA_ptr< LivenessIRInterface _ir  ) 
OA::Liveness::ManagerLivenessStandard::~ManagerLivenessStandard (  )  [inline]

Definition at line 29 of file ManagerLivenessStandard.hpp.


Member Function Documentation

void OA::Liveness::ManagerLivenessStandard::dumpset ( OA_ptr< LivenessDFSet inSet  )  [private]

Definition at line 176 of file auto_ManagerLivenessStandard.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::Liveness::ManagerLivenessStandard::genSet ( StmtHandle  stmt  )  [private]

Definition at line 218 of file auto_ManagerLivenessStandard.cpp.

References mStmt2MayUseMap.

Referenced by transfer().

OA_ptr< DataFlow::DataFlowSet > OA::Liveness::ManagerLivenessStandard::initializeBottom (  )  [private, virtual]

Return an initialized bottom set.

Implements OA::DataFlow::CFGDFProblem.

Definition at line 36 of file auto_ManagerLivenessStandard.cpp.

OA_ptr<DataFlow::DataFlowSet> OA::Liveness::ManagerLivenessStandard::initializeBottom (  )  [private, virtual]

Return an initialized bottom set.

Implements OA::DataFlow::CFGDFProblem.

OA_ptr< DataFlow::DataFlowSet > OA::Liveness::ManagerLivenessStandard::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_ManagerLivenessStandard.cpp.

OA_ptr<DataFlow::DataFlowSet> OA::Liveness::ManagerLivenessStandard::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.

OA_ptr< DataFlow::DataFlowSet > OA::Liveness::ManagerLivenessStandard::initializeNodeOUT ( OA_ptr< CFG::NodeInterface n  )  [private, virtual]

Implements OA::DataFlow::CFGDFProblem.

Definition at line 54 of file auto_ManagerLivenessStandard.cpp.

OA_ptr<DataFlow::DataFlowSet> OA::Liveness::ManagerLivenessStandard::initializeNodeOUT ( OA_ptr< CFG::NodeInterface n  )  [private, virtual]
OA_ptr<DataFlow::DataFlowSet> OA::Liveness::ManagerLivenessStandard::initializeTop (  )  [private, virtual]

Return an initialized top set.

Implements OA::DataFlow::CFGDFProblem.

OA_ptr< DataFlow::DataFlowSet > OA::Liveness::ManagerLivenessStandard::initializeTop (  )  [private, virtual]

Return an initialized top set.

Implements OA::DataFlow::CFGDFProblem.

Definition at line 28 of file auto_ManagerLivenessStandard.cpp.

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

Definition at line 231 of file auto_ManagerLivenessStandard.cpp.

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

Referenced by transfer().

Here is the call graph for this function:

OA_ptr<DataFlow::DataFlowSet> OA::Liveness::ManagerLivenessStandard::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.

OA_ptr< DataFlow::DataFlowSet > OA::Liveness::ManagerLivenessStandard::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 189 of file auto_ManagerLivenessStandard.cpp.

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

Here is the call graph for this function:

OA_ptr< LivenessStandard > OA::Liveness::ManagerLivenessStandard::performAnalysis ( ProcHandle  proc,
OA_ptr< CFG::CFGInterface cfg,
OA_ptr< Alias::Interface alias,
OA_ptr< SideEffect::InterSideEffectInterface interSE 
)
OA_ptr< LivenessStandard > OA::Liveness::ManagerLivenessStandard::performAnalysis ( ProcHandle  proc,
OA_ptr< CFG::CFGInterface cfg,
OA_ptr< Alias::Interface alias,
OA_ptr< SideEffect::InterSideEffectInterface interSE,
DataFlow::DFPImplement  algorithm 
)

Definition at line 34 of file ManagerLivenessStandard.cpp.

OA_ptr<DataFlow::DataFlowSet> OA::Liveness::ManagerLivenessStandard::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.

OA_ptr< DataFlow::DataFlowSet > OA::Liveness::ManagerLivenessStandard::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 251 of file auto_ManagerLivenessStandard.cpp.

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

Here is the call graph for this function:


Member Data Documentation

Definition at line 70 of file auto_ManagerLivenessStandard.hpp.

Referenced by performAnalysis().

Definition at line 69 of file auto_ManagerLivenessStandard.hpp.

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

Definition at line 57 of file ManagerLivenessStandard.hpp.

Definition at line 71 of file auto_ManagerLivenessStandard.hpp.

Referenced by performAnalysis(), and transfer().

Definition at line 72 of file auto_ManagerLivenessStandard.hpp.

Referenced by ManagerLivenessStandard(), and performAnalysis().

Definition at line 74 of file auto_ManagerLivenessStandard.hpp.

Referenced by performAnalysis().

Definition at line 76 of file auto_ManagerLivenessStandard.hpp.

Referenced by genSet(), and performAnalysis().

Definition at line 75 of file auto_ManagerLivenessStandard.hpp.

Referenced by killSet(), and performAnalysis().

Definition at line 77 of file auto_ManagerLivenessStandard.hpp.

Referenced by performAnalysis().

Definition at line 62 of file ManagerLivenessStandard.hpp.

Definition at line 61 of file ManagerLivenessStandard.hpp.


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