ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IntraUniDirectionalDataflow Class Referenceabstract

#include <dataflow.h>

Inheritance diagram for IntraUniDirectionalDataflow:
Collaboration diagram for IntraUniDirectionalDataflow:

Public Member Functions

bool runAnalysis (const Function &func, NodeState *state, bool analyzeDueToCallers, std::set< Function > calleesUpdated)
 
- Public Member Functions inherited from IntraUnitDataflow
virtual bool transfer (const Function &func, const DataflowNode &n, NodeState &state, const std::vector< Lattice * > &dfInfo)=0
 
virtual boost::shared_ptr
< IntraDFTransferVisitor
getTransferVisitor (const Function &func, const DataflowNode &n, NodeState &state, const std::vector< Lattice * > &dfInfo)
 
- Public Member Functions inherited from IntraProceduralDataflow
virtual void genInitState (const Function &func, const DataflowNode &n, const NodeState &state, std::vector< Lattice * > &initLattices, std::vector< NodeFact * > &initFacts)=0
 
void setInterAnalysis (InterProceduralDataflow *interDataflowAnalysis)
 
void setInterAnalysis (IntraProceduralDataflow *intraDFAnalysis)
 
bool runAnalysis (const Function &func, NodeState *state)
 
InterProceduralDataflowgetInterAnalysis () const
 
- Public Member Functions inherited from IntraProceduralAnalysis
void setInterAnalysis (InterProceduralAnalysis *interAnalysis)
 
virtual ~IntraProceduralAnalysis ()
 
- Public Member Functions inherited from Analysis
 Analysis (bool(*f)(CFGNode)=defaultFilter)
 

Protected Member Functions

bool propagateStateToNextNode (const std::vector< Lattice * > &curNodeState, DataflowNode curDFNode, int nodeIndex, const std::vector< Lattice * > &nextNodeState, DataflowNode nextDFNode)
 
std::vector< DataflowNodegatherDescendants (std::vector< DataflowEdge > edges, DataflowNode(DataflowEdge::*edgeFn)() const)
 
virtual NodeStateinitializeFunctionNodeState (const Function &func, NodeState *fState)=0
 
virtual VirtualCFG::dataflowgetInitialWorklist (const Function &func, bool firstVisit, bool analyzeDueToCallers, const set< Function > &calleesUpdated, NodeState *fState)=0
 
virtual vector< Lattice * > getLatticeAnte (NodeState *state)=0
 
virtual vector< Lattice * > getLatticePost (NodeState *state)=0
 
virtual void transferFunctionCall (const Function &func, const DataflowNode &n, NodeState *state)=0
 
virtual vector< DataflowNodegetDescendants (const DataflowNode &n)=0
 
virtual DataflowNode getUltimate (const Function &func)=0
 

Additional Inherited Members

- Public Attributes inherited from IntraProceduralDataflow
std::set< Functionvisited
 
- Protected Attributes inherited from IntraProceduralAnalysis
InterProceduralAnalysisinterAnalysis
 

Detailed Description

Definition at line 207 of file dataflow.h.

Member Function Documentation

bool IntraUniDirectionalDataflow::runAnalysis ( const Function func,
NodeState state,
bool  analyzeDueToCallers,
std::set< Function calleesUpdated 
)
virtual
bool IntraUniDirectionalDataflow::propagateStateToNextNode ( const std::vector< Lattice * > &  curNodeState,
DataflowNode  curDFNode,
int  nodeIndex,
const std::vector< Lattice * > &  nextNodeState,
DataflowNode  nextDFNode 
)
protected
std::vector<DataflowNode> IntraUniDirectionalDataflow::gatherDescendants ( std::vector< DataflowEdge edges,
DataflowNode(DataflowEdge::*)() const  edgeFn 
)
protected
virtual NodeState* IntraUniDirectionalDataflow::initializeFunctionNodeState ( const Function func,
NodeState fState 
)
protectedpure virtual

Implemented in IntraBWDataflow, and IntraFWDataflow.

virtual VirtualCFG::dataflow* IntraUniDirectionalDataflow::getInitialWorklist ( const Function func,
bool  firstVisit,
bool  analyzeDueToCallers,
const set< Function > &  calleesUpdated,
NodeState fState 
)
protectedpure virtual

Implemented in IntraBWDataflow, and IntraFWDataflow.

virtual vector<Lattice*> IntraUniDirectionalDataflow::getLatticeAnte ( NodeState state)
protectedpure virtual

Implemented in IntraBWDataflow, and IntraFWDataflow.

virtual vector<Lattice*> IntraUniDirectionalDataflow::getLatticePost ( NodeState state)
protectedpure virtual

Implemented in IntraBWDataflow, and IntraFWDataflow.

virtual void IntraUniDirectionalDataflow::transferFunctionCall ( const Function func,
const DataflowNode n,
NodeState state 
)
protectedpure virtual

Implemented in IntraBWDataflow, and IntraFWDataflow.

virtual vector<DataflowNode> IntraUniDirectionalDataflow::getDescendants ( const DataflowNode n)
protectedpure virtual

Implemented in IntraBWDataflow, and IntraFWDataflow.

virtual DataflowNode IntraUniDirectionalDataflow::getUltimate ( const Function func)
protectedpure virtual

Implemented in IntraBWDataflow, and IntraFWDataflow.


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