LLVM API Documentation
#include <DOTGraphTraits.h>
Inheritance diagram for llvm::DefaultDOTGraphTraits:
Static Public Member Functions | |
static std::string | getGraphName (const void *Graph) |
static std::string | getGraphProperties (const void *Graph) |
static bool | renderGraphFromBottomUp () |
static std::string | getNodeLabel (const void *Node, const void *Graph) |
static bool | hasNodeAddressLabel (const void *Node, const void *Graph) |
static std::string | getNodeAttributes (const void *Node) |
template<typename EdgeIter> | |
static std::string | getEdgeAttributes (const void *Node, EdgeIter EI) |
template<typename EdgeIter> | |
static std::string | getEdgeSourceLabel (const void *Node, EdgeIter I) |
template<typename EdgeIter> | |
static bool | edgeTargetsEdgeSource (const void *Node, EdgeIter I) |
template<typename EdgeIter> | |
static EdgeIter | getEdgeTarget (const void *Node, EdgeIter I) |
template<typename GraphWriter> | |
static void | addCustomGraphFeatures (const void *Graph, GraphWriter &GW) |
Definition at line 29 of file DOTGraphTraits.h.
static std::string llvm::DefaultDOTGraphTraits::getGraphName | ( | const void * | Graph | ) | [inline, static] |
getGraphName - Return the label for the graph as a whole. Printed at the top of the graph.
Definition at line 33 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeHeader().
static std::string llvm::DefaultDOTGraphTraits::getGraphProperties | ( | const void * | Graph | ) | [inline, static] |
getGraphProperties - Return any custom properties that should be included in the top level graph structure for dot.
Definition at line 38 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeHeader().
static bool llvm::DefaultDOTGraphTraits::renderGraphFromBottomUp | ( | ) | [inline, static] |
renderGraphFromBottomUp - If this function returns true, the graph is emitted bottom-up instead of top-down. This requires graphviz 2.0 to work though.
Reimplemented in llvm::DOTGraphTraits< SelectionDAG * >.
Definition at line 45 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeHeader(), and llvm::GraphWriter< GraphType >::writeNode().
static std::string llvm::DefaultDOTGraphTraits::getNodeLabel | ( | const void * | Node, | |
const void * | Graph | |||
) | [inline, static] |
getNodeLabel - Given a node and a pointer to the top level graph, return the label to print in the node.
Definition at line 51 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeNode().
static bool llvm::DefaultDOTGraphTraits::hasNodeAddressLabel | ( | const void * | Node, | |
const void * | Graph | |||
) | [inline, static] |
hasNodeAddressLabel - If this method returns true, the address of the node is added to the label of the node.
Definition at line 57 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeNode().
static std::string llvm::DefaultDOTGraphTraits::getNodeAttributes | ( | const void * | Node | ) | [inline, static] |
If you want to specify custom node attributes, this is the place to do so
Definition at line 63 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeNode().
static std::string llvm::DefaultDOTGraphTraits::getEdgeAttributes | ( | const void * | Node, | |
EdgeIter | EI | |||
) | [inline, static] |
If you want to override the dot attributes printed for a particular edge, override this method.
Definition at line 68 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeEdge().
static std::string llvm::DefaultDOTGraphTraits::getEdgeSourceLabel | ( | const void * | Node, | |
EdgeIter | I | |||
) | [inline, static] |
getEdgeSourceLabel - If you want to label the edge source itself, implement this method.
Definition at line 75 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeNode().
static bool llvm::DefaultDOTGraphTraits::edgeTargetsEdgeSource | ( | const void * | Node, | |
EdgeIter | I | |||
) | [inline, static] |
edgeTargetsEdgeSource - This method returns true if this outgoing edge should actually target another edge source, not a node. If this method is implemented, getEdgeTarget should be implemented.
Definition at line 83 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeEdge().
static EdgeIter llvm::DefaultDOTGraphTraits::getEdgeTarget | ( | const void * | Node, | |
EdgeIter | I | |||
) | [inline, static] |
getEdgeTarget - If edgeTargetsEdgeSource returns true, this method is called to determine which outgoing edge of Node is the target of this edge.
Definition at line 91 of file DOTGraphTraits.h.
Referenced by llvm::GraphWriter< GraphType >::writeEdge().
static void llvm::DefaultDOTGraphTraits::addCustomGraphFeatures | ( | const void * | Graph, | |
GraphWriter & | GW | |||
) | [inline, static] |
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. The GraphWriter object, instantiated with your GraphType is passed in as an argument. You may call arbitrary methods on it to add things to the output graph.
Definition at line 102 of file DOTGraphTraits.h.