LLVM  14.0.0git
Public Member Functions | List of all members
llvm::DOTGraphTraits< const DataDependenceGraph * > Struct Reference

#include "llvm/Analysis/DDGPrinter.h"

Inheritance diagram for llvm::DOTGraphTraits< const DataDependenceGraph * >:
Inheritance graph
[legend]
Collaboration diagram for llvm::DOTGraphTraits< const DataDependenceGraph * >:
Collaboration graph
[legend]

Public Member Functions

 DOTGraphTraits (bool IsSimple=false)
 
std::string getGraphName (const DataDependenceGraph *G)
 Generate a title for the graph in DOT format. More...
 
std::string getNodeLabel (const DDGNode *Node, const DataDependenceGraph *Graph)
 Print a DDG node either in concise form (-ddg-dot-only) or verbose mode (-ddg-dot). More...
 
std::string getEdgeAttributes (const DDGNode *Node, GraphTraits< const DDGNode * >::ChildIteratorType I, const DataDependenceGraph *G)
 Print attributes of an edge in the DDG graph. More...
 
bool isNodeHidden (const DDGNode *Node, const DataDependenceGraph *G)
 Do not print nodes that are part of a pi-block separately. More...
 
- Public Member Functions inherited from llvm::DefaultDOTGraphTraits
 DefaultDOTGraphTraits (bool simple=false)
 
template<typename GraphType >
std::string getNodeLabel (const void *, const GraphType &)
 getNodeLabel - Given a node and a pointer to the top level graph, return the label to print in the node. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::DefaultDOTGraphTraits
template<typename GraphType >
static std::string getGraphName (const GraphType &)
 getGraphName - Return the label for the graph as a whole. More...
 
template<typename GraphType >
static std::string getGraphProperties (const GraphType &)
 getGraphProperties - Return any custom properties that should be included in the top level graph structure for dot. More...
 
static bool renderGraphFromBottomUp ()
 renderGraphFromBottomUp - If this function returns true, the graph is emitted bottom-up instead of top-down. More...
 
template<typename GraphType >
static bool isNodeHidden (const void *, const GraphType &)
 isNodeHidden - If the function returns true, the given node is not displayed in the graph. More...
 
template<typename GraphType >
static std::string getNodeIdentifierLabel (const void *, const GraphType &)
 
template<typename GraphType >
static std::string getNodeDescription (const void *, const GraphType &)
 
template<typename GraphType >
static std::string getNodeAttributes (const void *, const GraphType &)
 If you want to specify custom node attributes, this is the place to do so. More...
 
template<typename EdgeIter , typename GraphType >
static std::string getEdgeAttributes (const void *, EdgeIter, const GraphType &)
 If you want to override the dot attributes printed for a particular edge, override this method. More...
 
template<typename EdgeIter >
static std::string getEdgeSourceLabel (const void *, EdgeIter)
 getEdgeSourceLabel - If you want to label the edge source itself, implement this method. More...
 
template<typename EdgeIter >
static bool edgeTargetsEdgeSource (const void *, EdgeIter)
 edgeTargetsEdgeSource - This method returns true if this outgoing edge should actually target another edge source, not a node. More...
 
template<typename EdgeIter >
static EdgeIter getEdgeTarget (const void *, EdgeIter I)
 getEdgeTarget - If edgeTargetsEdgeSource returns true, this method is called to determine which outgoing edge of Node is the target of this edge. More...
 
static bool hasEdgeDestLabels ()
 hasEdgeDestLabels - If this function returns true, the graph is able to provide labels for edge destinations. More...
 
static unsigned numEdgeDestLabels (const void *)
 numEdgeDestLabels - If hasEdgeDestLabels, this function returns the number of incoming edge labels the given node has. More...
 
static std::string getEdgeDestLabel (const void *, unsigned)
 getEdgeDestLabel - If hasEdgeDestLabels, this function returns the incoming edge label with the given index in the given node. More...
 
template<typename GraphType , typename GraphWriter >
static void addCustomGraphFeatures (const GraphType &, GraphWriter &)
 addCustomGraphFeatures - If a graph is made up of more than just straight-forward nodes and edges, this is the place to put all of the custom stuff necessary. More...
 
- Protected Member Functions inherited from llvm::DefaultDOTGraphTraits
bool isSimple ()
 

Detailed Description

Definition at line 37 of file DDGPrinter.h.

Constructor & Destructor Documentation

◆ DOTGraphTraits()

Definition at line 40 of file DDGPrinter.h.

Member Function Documentation

◆ getEdgeAttributes()

std::string DDGDotGraphTraits::getEdgeAttributes ( const DDGNode Node,
GraphTraits< const DDGNode * >::ChildIteratorType  I,
const DataDependenceGraph G 
)

Print attributes of an edge in the DDG graph.

If the edge is a MemoryDependence edge, then detailed dependence info available from DependenceAnalysis is displayed.

Definition at line 67 of file DDGPrinter.cpp.

◆ getGraphName()

std::string llvm::DOTGraphTraits< const DataDependenceGraph * >::getGraphName ( const DataDependenceGraph G)
inline

Generate a title for the graph in DOT format.

Definition at line 43 of file DDGPrinter.h.

References assert(), and G.

◆ getNodeLabel()

std::string DDGDotGraphTraits::getNodeLabel ( const DDGNode Node,
const DataDependenceGraph Graph 
)

Print a DDG node either in concise form (-ddg-dot-only) or verbose mode (-ddg-dot).

Definition at line 59 of file DDGPrinter.cpp.

◆ isNodeHidden()

bool DDGDotGraphTraits::isNodeHidden ( const DDGNode Node,
const DataDependenceGraph G 
)

Do not print nodes that are part of a pi-block separately.

They will be printed when their containing pi-block is being printed.

Definition at line 77 of file DDGPrinter.cpp.


The documentation for this struct was generated from the following files: