ROSE
0.9.6a
|
#include <PDG.h>
Public Types | |
typedef boost::graph_traits < ProgramDependenceGraph > ::vertex_descriptor | Vertex |
typedef boost::graph_traits < ProgramDependenceGraph > ::edge_descriptor | Edge |
Public Member Functions | |
ProgramDependenceGraph () | |
The default constructor. More... | |
ProgramDependenceGraph (const CFG &cfg) | |
The constructor building the PDG from a CFG. More... | |
ProgramDependenceGraph (SgFunctionDefinition *funcDef) | |
The constructor building the PDG from a function definition. More... | |
void | build (const CFG &cfg) |
Build the PDG from the given CFG. More... | |
void | toDot (const std::string &filename) const |
Write the PDG to a dot file. More... | |
Vertex | getEntry () const |
Protected Types | |
typedef StaticCFG::ControlFlowGraph | CFG |
typedef CFG::Vertex | CFGVertex |
typedef CFG::Edge | CFGEdge |
Protected Member Functions | |
void | addControlDependenceEdges (const std::map< CFGVertex, Vertex > &cfgVerticesToPdgVertices, const CFG &cfg) |
void | addDataDependenceEdges (const std::map< CFGVertex, Vertex > &cfgVerticesToPdgVertices, const CFG &cfg) |
void | writeGraphNode (std::ostream &out, const Vertex &node) const |
This function helps to write the DOT file for vertices. More... | |
void | writeGraphEdge (std::ostream &out, const Edge &edge) const |
This function helps to write the DOT file for edges. More... | |
Protected Attributes | |
Vertex | entry_ |
The entry of the PDG. More... | |
typedef boost::graph_traits<ProgramDependenceGraph>::vertex_descriptor SDG::ProgramDependenceGraph::Vertex |
typedef boost::graph_traits<ProgramDependenceGraph>::edge_descriptor SDG::ProgramDependenceGraph::Edge |
|
protected |
|
protected |
|
protected |
|
inline |
|
inline |
|
inline |
void SDG::ProgramDependenceGraph::build | ( | const CFG & | cfg) |
Build the PDG from the given CFG.
Referenced by ProgramDependenceGraph().
void SDG::ProgramDependenceGraph::toDot | ( | const std::string & | filename) | const |
Write the PDG to a dot file.
|
inline |
|
protected |
|
protected |
|
inlineprotected |
This function helps to write the DOT file for vertices.
Definition at line 125 of file PDG.h.
References entry_, and StaticCFG::writeCFGNode().
|
protected |
This function helps to write the DOT file for edges.
|
protected |
The entry of the PDG.
Vertices which postdominate the entry of the CFG are control dependent on this vectex with label T.
Definition at line 87 of file PDG.h.
Referenced by getEntry(), and writeGraphNode().