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

#include <partitionedAnalysis.h>

Inheritance diagram for IntraPartitionFWDataflow:
Collaboration diagram for IntraPartitionFWDataflow:

Public Types

enum  splitType {
  noSplit,
  splitNew,
  splitParent
}
 
enum  partitionTranferRet {
  retFalse,
  cont,
  normal
}
 

Public Member Functions

 IntraPartitionFWDataflow (PartitionedAnalysis *parent)
 
 IntraPartitionFWDataflow (const IntraPartitionFWDataflow &that)
 
virtual bool transfer (const Function &func, const DataflowNode &n, NodeState &state, const std::vector< Lattice * > &dfInfo, splitType &splitAnalysis, std::vector< printable * > &splitConditions, bool &joinNode)=0
 
bool runAnalysis (const Function &func, NodeState *fState, bool analyzeDueToCallers, std::set< Function > calleesUpdated)
 
bool runAnalysis (const Function &func, NodeState *fState, bool &splitPart, bool &joinPart, IntraPartitionDataflowCheckpoint *&outChkpt)
 
bool runAnalysisResume (const Function &func, NodeState *fState, IntraPartitionDataflowCheckpoint *chkpt, bool &splitPart, bool &joinPart, IntraPartitionDataflowCheckpoint *&outChkpt)
 
partitionTranferRet partitionTranfer (const Function &func, NodeState *fState, const DataflowNode &n, NodeState *state, VirtualCFG::dataflow &dfIt, const std::vector< Lattice * > &dfInfoBelow, bool &splitPart, std::set< DataflowNode > &joinNodes, IntraPartitionDataflowCheckpoint *&outChkpt)
 
bool propagateFWStateToNextNode (const std::vector< Lattice * > &curNodeState, DataflowNode curDFNode, int nodeIndex, const std::vector< Lattice * > &nextNodeState, DataflowNode nextDFNode)
 
- Public Member Functions inherited from IntraPartitionDataflow
 IntraPartitionDataflow (const IntraPartitionDataflow &that)
 
 IntraPartitionDataflow (PartitionedAnalysis *parent)
 
 ~IntraPartitionDataflow ()
 
PartitionedAnalysisgetParent () const
 
virtual IntraPartitionDataflowcopy ()=0
 
virtual void initDFfromPartCond (const Function &func, const DataflowNode &n, NodeState &state, const std::vector< Lattice * > &dfInfo, const std::vector< NodeFact * > &facts, printable *partitionCond)
 
- 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)
 

Additional Inherited Members

- Public Attributes inherited from IntraPartitionDataflow
printablepartitionCond
 
- Protected Attributes inherited from IntraPartitionDataflow
PartitionedAnalysisparent
 

Detailed Description

Definition at line 367 of file partitionedAnalysis.h.

Member Enumeration Documentation

Enumerator
noSplit 
splitNew 
splitParent 

Definition at line 400 of file partitionedAnalysis.h.

Enumerator
retFalse 
cont 
normal 

Definition at line 428 of file partitionedAnalysis.h.

Constructor & Destructor Documentation

IntraPartitionFWDataflow::IntraPartitionFWDataflow ( PartitionedAnalysis parent)
inline

Definition at line 376 of file partitionedAnalysis.h.

IntraPartitionFWDataflow::IntraPartitionFWDataflow ( const IntraPartitionFWDataflow that)
inline

Definition at line 379 of file partitionedAnalysis.h.

Member Function Documentation

virtual bool IntraPartitionFWDataflow::transfer ( const Function func,
const DataflowNode n,
NodeState state,
const std::vector< Lattice * > &  dfInfo,
splitType splitAnalysis,
std::vector< printable * > &  splitConditions,
bool &  joinNode 
)
pure virtual
bool IntraPartitionFWDataflow::runAnalysis ( const Function func,
NodeState fState,
bool  analyzeDueToCallers,
std::set< Function calleesUpdated 
)
virtual
bool IntraPartitionFWDataflow::runAnalysis ( const Function func,
NodeState fState,
bool &  splitPart,
bool &  joinPart,
IntraPartitionDataflowCheckpoint *&  outChkpt 
)
virtual
bool IntraPartitionFWDataflow::runAnalysisResume ( const Function func,
NodeState fState,
IntraPartitionDataflowCheckpoint chkpt,
bool &  splitPart,
bool &  joinPart,
IntraPartitionDataflowCheckpoint *&  outChkpt 
)
virtual
partitionTranferRet IntraPartitionFWDataflow::partitionTranfer ( const Function func,
NodeState fState,
const DataflowNode n,
NodeState state,
VirtualCFG::dataflow dfIt,
const std::vector< Lattice * > &  dfInfoBelow,
bool &  splitPart,
std::set< DataflowNode > &  joinNodes,
IntraPartitionDataflowCheckpoint *&  outChkpt 
)
bool IntraPartitionFWDataflow::propagateFWStateToNextNode ( const std::vector< Lattice * > &  curNodeState,
DataflowNode  curDFNode,
int  nodeIndex,
const std::vector< Lattice * > &  nextNodeState,
DataflowNode  nextDFNode 
)

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