Class DependenceGraph#
Defined in File DependenceGraph.h
Inheritance Relationships#
Base Types#
public SimpleDirectedGraph(Class SimpleDirectedGraph)public SimpleDirectedGraph(Class SimpleDirectedGraph)
Derived Types#
public ControlDependenceGraph(Class ControlDependenceGraph)public ControlDependenceGraph(Class ControlDependenceGraph)public DataDependenceGraph(Class DataDependenceGraph)public DataDependenceGraph(Class DataDependenceGraph)public MergedDependenceGraph(Class MergedDependenceGraph)public MergedDependenceGraph(Class MergedDependenceGraph)
Class Documentation#
-
class DependenceGraph : public SimpleDirectedGraph, public SimpleDirectedGraph#
Subclassed by ControlDependenceGraph, ControlDependenceGraph, DataDependenceGraph, DataDependenceGraph, MergedDependenceGraph, MergedDependenceGraph
Public Types
-
enum EdgeType#
Values:
-
enumerator CONTROL#
-
enumerator CALL#
-
enumerator CALL_RETURN#
-
enumerator DATA#
-
enumerator SUMMARY#
-
enumerator PARAMETER_IN#
-
enumerator PARAMETER_OUT#
-
enumerator SYNTACTIC#
-
enumerator DATA_HELPER#
-
enumerator CONTROL_HELPER#
-
enumerator GLOBALVAR_HELPER#
-
enumerator COMPLETENESS_HELPER#
-
enumerator BELONGS_TO#
-
enumerator DO_NOT_FOLLOW#
-
enumerator CONTROL
-
enumerator CALL
-
enumerator CALL_RETURN
-
enumerator DATA
-
enumerator SUMMARY
-
enumerator PARAMETER_IN
-
enumerator PARAMETER_OUT
-
enumerator SYNTACTIC
-
enumerator DATA_HELPER
-
enumerator CONTROL_HELPER
-
enumerator GLOBALVAR_HELPER
-
enumerator COMPLETENESS_HELPER
-
enumerator BELONGS_TO
-
enumerator DO_NOT_FOLLOW
-
enumerator CONTROL#
-
enum EdgeType
Values:
-
enumerator CONTROL
-
enumerator CALL
-
enumerator CALL_RETURN
-
enumerator DATA
-
enumerator SUMMARY
-
enumerator PARAMETER_IN
-
enumerator PARAMETER_OUT
-
enumerator SYNTACTIC
-
enumerator DATA_HELPER
-
enumerator CONTROL_HELPER
-
enumerator GLOBALVAR_HELPER
-
enumerator COMPLETENESS_HELPER
-
enumerator BELONGS_TO
-
enumerator DO_NOT_FOLLOW
-
enumerator CONTROL
-
enumerator CALL
-
enumerator CALL_RETURN
-
enumerator DATA
-
enumerator SUMMARY
-
enumerator PARAMETER_IN
-
enumerator PARAMETER_OUT
-
enumerator SYNTACTIC
-
enumerator DATA_HELPER
-
enumerator CONTROL_HELPER
-
enumerator GLOBALVAR_HELPER
-
enumerator COMPLETENESS_HELPER
-
enumerator BELONGS_TO
-
enumerator DO_NOT_FOLLOW
-
enumerator CONTROL
Public Functions
-
inline DependenceGraph()#
-
inline virtual ~DependenceGraph()#
-
inline void debugCoutNodeList()#
-
DependenceNode *createNode(DependenceNode::NodeType type, SgNode *identifyingNode)#
-
DependenceNode *createNode(SgNode *node)#
-
void deleteNode(DependenceNode *node)#
-
DependenceNode *getNode(SgNode *node)#
-
DependenceNode *getNode(DependenceNode::NodeType type, SgNode *identifyingNode)#
-
DependenceNode *getExistingNode(SgNode *node)#
-
DependenceNode *getExistingNode(DependenceNode::NodeType type, SgNode *identifyingNode)#
-
inline InterproceduralInfo *getInterprocedural()#
-
virtual void establishEdge(DependenceNode *from, DependenceNode *to, EdgeType e = CONTROL)#
-
virtual void removeEdge(DependenceNode *from, DependenceNode *to, EdgeType e = CONTROL)#
-
bool edgeExists(DependenceNode *from, DependenceNode *to, EdgeType e)#
-
bool hasOutgingEdge(DependenceNode *src, EdgeType compare)#
-
std::set<EdgeType> edgeType(DependenceNode *from, DependenceNode *to)#
-
virtual void writeDot(char *filename)#
-
inline DependenceGraph()
-
inline virtual ~DependenceGraph()
-
inline void debugCoutNodeList()
-
const char *getEdgeName(EdgeType type)
-
DependenceNode *createNode(DependenceNode::NodeType type, SgNode *identifyingNode)
-
DependenceNode *createNode(SgNode *node)
-
void deleteNode(DependenceNode *node)
-
DependenceNode *getNode(SgNode *node)
-
DependenceNode *getNode(DependenceNode::NodeType type, SgNode *identifyingNode)
-
DependenceNode *getExistingNode(SgNode *node)
-
DependenceNode *getExistingNode(DependenceNode::NodeType type, SgNode *identifyingNode)
-
inline InterproceduralInfo *getInterprocedural()
-
virtual void establishEdge(DependenceNode *from, DependenceNode *to, EdgeType e = CONTROL)
-
virtual void removeEdge(DependenceNode *from, DependenceNode *to, EdgeType e = CONTROL)
-
bool edgeExists(DependenceNode *from, DependenceNode *to, EdgeType e)
-
bool hasOutgingEdge(DependenceNode *src, EdgeType compare)
-
std::set<EdgeType> edgeType(DependenceNode *from, DependenceNode *to)
-
virtual void writeDot(char *filename)
-
virtual void writeDotAndHighlightAllowedEdgesOnly(char *filename, std::set<DependenceGraph::EdgeType>)#
Public Static Attributes
-
static const char *edgeNameArray[8]#
Protected Types
-
typedef std::pair<DependenceNode*, DependenceNode*> Edge#
*! InterproceduralInfo *_interprocedural;
-
typedef std::pair<DependenceNode*, DependenceNode*> Edge
*! InterproceduralInfo *_interprocedural;
Protected Functions
-
inline bool isLibraryFunction(SgFunctionDeclaration *sgFD) const#
-
inline bool isLibraryFunction(SgFunctionDeclaration *sgFD) const
Protected Attributes
-
bool debugme#
-
std::map<SgNode*, DependenceNode*> sgNodeToDepNodeMap#
*! std::map < DependenceNode *, DependenceNode * >_depnode_map;
*! std::map < SgNode *, DependenceNode * >_sgnode_map;
-
std::map<DependenceNode::NodeType, std::map<SgNode*, DependenceNode*>> nodeTypeToDepNodeMapMap#
-
enum EdgeType#