LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::DOTGraphTraits< SelectionDAG * > Struct Reference
Inheritance diagram for llvm::DOTGraphTraits< SelectionDAG * >:
Inheritance graph
[legend]

Public Member Functions

 DOTGraphTraits (bool isSimple=false)
 
std::string getNodeLabel (const SDNode *Node, const SelectionDAG *Graph)
 
- 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.
 

Static Public Member Functions

static bool hasEdgeDestLabels ()
 
static unsigned numEdgeDestLabels (const void *Node)
 
static std::string getEdgeDestLabel (const void *Node, unsigned i)
 
template<typename EdgeIter >
static std::string getEdgeSourceLabel (const void *Node, EdgeIter I)
 
template<typename EdgeIter >
static bool edgeTargetsEdgeSource (const void *Node, EdgeIter I)
 edgeTargetsEdgeSource - This method returns true if this outgoing edge should actually target another edge source, not a node.
 
template<typename EdgeIter >
static EdgeIter getEdgeTarget (const void *Node, EdgeIter I)
 getEdgeTarget - If edgeTargetsEdgeSource returns true, this method is called to determine which outgoing edge of Node is the target of this edge.
 
static std::string getGraphName (const SelectionDAG *G)
 
static bool renderGraphFromBottomUp ()
 
static std::string getNodeIdentifierLabel (const SDNode *Node, const SelectionDAG *Graph)
 
template<typename EdgeIter >
static std::string getEdgeAttributes (const void *Node, EdgeIter EI, const SelectionDAG *Graph)
 If you want to override the dot attributes printed for a particular edge, override this method.
 
static std::string getSimpleNodeLabel (const SDNode *Node, const SelectionDAG *G)
 
static std::string getNodeAttributes (const SDNode *N, const SelectionDAG *Graph)
 
static void addCustomGraphFeatures (SelectionDAG *G, GraphWriter< SelectionDAG * > &GW)
 
- 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.
 
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.
 
static bool renderGraphFromBottomUp ()
 renderGraphFromBottomUp - If this function returns true, the graph is emitted bottom-up instead of top-down.
 
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.
 
static bool renderNodesUsingHTML ()
 
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.
 
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.
 
template<typename EdgeIter >
static std::string getEdgeSourceLabel (const void *, EdgeIter)
 getEdgeSourceLabel - If you want to label the edge source itself, implement this method.
 
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.
 
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.
 
static bool hasEdgeDestLabels ()
 hasEdgeDestLabels - If this function returns true, the graph is able to provide labels for edge destinations.
 
static unsigned numEdgeDestLabels (const void *)
 numEdgeDestLabels - If hasEdgeDestLabels, this function returns the number of incoming edge labels the given node has.
 
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.
 
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.
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::DefaultDOTGraphTraits
bool isSimple ()
 

Detailed Description

Definition at line 27 of file SelectionDAGPrinter.cpp.

Constructor & Destructor Documentation

◆ DOTGraphTraits()

llvm::DOTGraphTraits< SelectionDAG * >::DOTGraphTraits ( bool  isSimple = false)
inlineexplicit

Definition at line 29 of file SelectionDAGPrinter.cpp.

Member Function Documentation

◆ addCustomGraphFeatures()

static void llvm::DOTGraphTraits< SelectionDAG * >::addCustomGraphFeatures ( SelectionDAG G,
GraphWriter< SelectionDAG * > &  GW 
)
inlinestatic

◆ edgeTargetsEdgeSource()

template<typename EdgeIter >
static bool llvm::DOTGraphTraits< SelectionDAG * >::edgeTargetsEdgeSource ( const void *  Node,
EdgeIter  I 
)
inlinestatic

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 53 of file SelectionDAGPrinter.cpp.

◆ getEdgeAttributes()

template<typename EdgeIter >
static std::string llvm::DOTGraphTraits< SelectionDAG * >::getEdgeAttributes ( const void *  Node,
EdgeIter  EI,
const SelectionDAG Graph 
)
inlinestatic

If you want to override the dot attributes printed for a particular edge, override this method.

Definition at line 91 of file SelectionDAGPrinter.cpp.

◆ getEdgeDestLabel()

static std::string llvm::DOTGraphTraits< SelectionDAG * >::getEdgeDestLabel ( const void *  Node,
unsigned  i 
)
inlinestatic

Definition at line 40 of file SelectionDAGPrinter.cpp.

◆ getEdgeSourceLabel()

template<typename EdgeIter >
static std::string llvm::DOTGraphTraits< SelectionDAG * >::getEdgeSourceLabel ( const void *  Node,
EdgeIter  I 
)
inlinestatic

Definition at line 45 of file SelectionDAGPrinter.cpp.

References llvm::SDNodeIterator::begin(), and I.

◆ getEdgeTarget()

template<typename EdgeIter >
static EdgeIter llvm::DOTGraphTraits< SelectionDAG * >::getEdgeTarget ( const void *  Node,
EdgeIter  I 
)
inlinestatic

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 61 of file SelectionDAGPrinter.cpp.

References llvm::SDNodeIterator::begin(), and I.

◆ getGraphName()

static std::string llvm::DOTGraphTraits< SelectionDAG * >::getGraphName ( const SelectionDAG G)
inlinestatic

Definition at line 68 of file SelectionDAGPrinter.cpp.

References G.

◆ getNodeAttributes()

static std::string llvm::DOTGraphTraits< SelectionDAG * >::getNodeAttributes ( const SDNode N,
const SelectionDAG Graph 
)
inlinestatic

Definition at line 113 of file SelectionDAGPrinter.cpp.

References llvm::SelectionDAG::getGraphAttrs(), and N.

◆ getNodeIdentifierLabel()

static std::string llvm::DOTGraphTraits< SelectionDAG * >::getNodeIdentifierLabel ( const SDNode Node,
const SelectionDAG Graph 
)
inlinestatic

Definition at line 76 of file SelectionDAGPrinter.cpp.

References OS.

◆ getNodeLabel()

std::string llvm::DOTGraphTraits< SelectionDAG * >::getNodeLabel ( const SDNode Node,
const SelectionDAG Graph 
)

◆ getSimpleNodeLabel()

static std::string llvm::DOTGraphTraits< SelectionDAG * >::getSimpleNodeLabel ( const SDNode Node,
const SelectionDAG G 
)
inlinestatic

Definition at line 103 of file SelectionDAGPrinter.cpp.

References G, and OS.

◆ hasEdgeDestLabels()

static bool llvm::DOTGraphTraits< SelectionDAG * >::hasEdgeDestLabels ( )
inlinestatic

Definition at line 32 of file SelectionDAGPrinter.cpp.

◆ numEdgeDestLabels()

static unsigned llvm::DOTGraphTraits< SelectionDAG * >::numEdgeDestLabels ( const void *  Node)
inlinestatic

Definition at line 36 of file SelectionDAGPrinter.cpp.

◆ renderGraphFromBottomUp()

static bool llvm::DOTGraphTraits< SelectionDAG * >::renderGraphFromBottomUp ( )
inlinestatic

Definition at line 72 of file SelectionDAGPrinter.cpp.


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