Public Member Functions

OA::DataFlow::ICFGDFProblem Class Reference

#include <ICFGDFProblem.hpp>

Inheritance diagram for OA::DataFlow::ICFGDFProblem:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 ICFGDFProblem ()
virtual ~ICFGDFProblem ()
virtual OA_ptr< DataFlowSetinitializeTop ()=0
 Return an initialized top set.
virtual OA_ptr< DataFlowSetinitializeNodeIN (OA_ptr< ICFG::NodeInterface > n)=0
 Return an initialized bottom set.
virtual OA_ptr< DataFlowSetinitializeNodeOUT (OA_ptr< ICFG::NodeInterface > n)=0
virtual OA_ptr< DataFlowSetmeet (OA_ptr< DataFlowSet > set1, OA_ptr< DataFlowSet > set2)=0
virtual OA_ptr< DataFlowSettransfer (ProcHandle proc, OA_ptr< DataFlowSet > in, OA::StmtHandle stmt)=0
virtual OA_ptr< DataFlowSetentryTransfer (ProcHandle proc, OA_ptr< DataFlowSet > in)=0
virtual OA_ptr< DataFlowSetexitTransfer (ProcHandle proc, OA_ptr< DataFlowSet > out)=0
virtual OA_ptr< DataFlowSetcallerToCallee (ProcHandle caller, OA_ptr< DataFlowSet > dfset, CallHandle call, ProcHandle callee)=0
 Propagate a data-flow set from caller to callee.
virtual OA_ptr< DataFlowSetcalleeToCaller (ProcHandle callee, OA_ptr< DataFlowSet > dfset, CallHandle call, ProcHandle caller)=0
 Propagate a data-flow set from callee to caller.
virtual OA_ptr< DataFlowSetcallToReturn (ProcHandle caller, OA_ptr< DataFlowSet > dfset, CallHandle call, ProcHandle callee)=0
 Propagate a data-flow set from call node to return node.

Detailed Description

Definition at line 29 of file ICFGDFProblem.hpp.


Constructor & Destructor Documentation

OA::DataFlow::ICFGDFProblem::ICFGDFProblem (  )  [inline]

Definition at line 34 of file ICFGDFProblem.hpp.

virtual OA::DataFlow::ICFGDFProblem::~ICFGDFProblem (  )  [inline, virtual]

Definition at line 35 of file ICFGDFProblem.hpp.


Member Function Documentation

virtual OA_ptr<DataFlowSet> OA::DataFlow::ICFGDFProblem::calleeToCaller ( ProcHandle  callee,
OA_ptr< DataFlowSet dfset,
CallHandle  call,
ProcHandle  caller 
) [pure virtual]
virtual OA_ptr<DataFlowSet> OA::DataFlow::ICFGDFProblem::callerToCallee ( ProcHandle  caller,
OA_ptr< DataFlowSet dfset,
CallHandle  call,
ProcHandle  callee 
) [pure virtual]
virtual OA_ptr<DataFlowSet> OA::DataFlow::ICFGDFProblem::callToReturn ( ProcHandle  caller,
OA_ptr< DataFlowSet dfset,
CallHandle  call,
ProcHandle  callee 
) [pure virtual]
virtual OA_ptr<DataFlowSet> OA::DataFlow::ICFGDFProblem::entryTransfer ( ProcHandle  proc,
OA_ptr< DataFlowSet in 
) [pure 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

Implemented in OA::Activity::ManagerICFGActive, OA::Activity::ManagerICFGDep, OA::Activity::ManagerICFGUseful, OA::Activity::ManagerICFGVaryActive, and OA::ReachConsts::ManagerICFGReachConsts.

Referenced by OA::DataFlow::ICFGDFSolver::atDGraphNode().

virtual OA_ptr<DataFlowSet> OA::DataFlow::ICFGDFProblem::exitTransfer ( ProcHandle  proc,
OA_ptr< DataFlowSet out 
) [pure 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

Implemented in OA::Activity::ManagerICFGActive, OA::Activity::ManagerICFGDep, OA::Activity::ManagerICFGUseful, OA::Activity::ManagerICFGVaryActive, and OA::ReachConsts::ManagerICFGReachConsts.

Referenced by OA::DataFlow::ICFGDFSolver::atDGraphNode().

virtual OA_ptr<DataFlowSet> OA::DataFlow::ICFGDFProblem::initializeNodeIN ( OA_ptr< ICFG::NodeInterface n  )  [pure virtual]
virtual OA_ptr<DataFlowSet> OA::DataFlow::ICFGDFProblem::initializeNodeOUT ( OA_ptr< ICFG::NodeInterface n  )  [pure virtual]
virtual OA_ptr<DataFlowSet> OA::DataFlow::ICFGDFProblem::initializeTop (  )  [pure virtual]
virtual OA_ptr<DataFlowSet> OA::DataFlow::ICFGDFProblem::meet ( OA_ptr< DataFlowSet set1,
OA_ptr< DataFlowSet set2 
) [pure virtual]
virtual OA_ptr<DataFlowSet> OA::DataFlow::ICFGDFProblem::transfer ( ProcHandle  proc,
OA_ptr< DataFlowSet in,
OA::StmtHandle  stmt 
) [pure virtual]

OK to modify in set and return it again as result because solver clones the BB in sets. Proc is procedure that contains the statement.

Implemented in OA::Activity::ManagerICFGActive, OA::Activity::ManagerICFGDep, OA::Activity::ManagerICFGUseful, OA::Activity::ManagerICFGVaryActive, and OA::ReachConsts::ManagerICFGReachConsts.

Referenced by OA::DataFlow::ICFGDFSolver::atDGraphNode().


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