LLVM API Documentation

Public Member Functions | Static Public Member Functions
llvm::DOTGraphTraits< SelectionDAG * > Struct Template Reference
Inheritance diagram for llvm::DOTGraphTraits< SelectionDAG * >:
Inheritance graph
[legend]
Collaboration diagram for llvm::DOTGraphTraits< SelectionDAG * >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DOTGraphTraits (bool isSimple=false)
std::string getNodeLabel (const SDNode *Node, const SelectionDAG *Graph)

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)
template<typename EdgeIter >
static EdgeIter getEdgeTarget (const void *Node, EdgeIter I)
static std::string getGraphName (const SelectionDAG *G)
static bool renderGraphFromBottomUp ()
static bool hasNodeAddressLabel (const SDNode *Node, const SelectionDAG *Graph)
template<typename EdgeIter >
static std::string getEdgeAttributes (const void *Node, EdgeIter EI, const SelectionDAG *Graph)
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)

Detailed Description

template<>
struct llvm::DOTGraphTraits< SelectionDAG * >

Definition at line 34 of file SelectionDAGPrinter.cpp.


Constructor & Destructor Documentation

llvm::DOTGraphTraits< SelectionDAG * >::DOTGraphTraits ( bool  isSimple = false) [inline, explicit]

Definition at line 36 of file SelectionDAGPrinter.cpp.


Member Function Documentation

static void llvm::DOTGraphTraits< SelectionDAG * >::addCustomGraphFeatures ( SelectionDAG G,
GraphWriter< SelectionDAG * > &  GW 
) [inline, static]
template<typename EdgeIter >
static bool llvm::DOTGraphTraits< SelectionDAG * >::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.

Reimplemented from llvm::DefaultDOTGraphTraits.

Definition at line 60 of file SelectionDAGPrinter.cpp.

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

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

Definition at line 91 of file SelectionDAGPrinter.cpp.

References llvm::SDValue::getNode(), llvm::SDNode::getOperand(), llvm::SDValue::getValueType(), llvm::MVT::Glue, and llvm::MVT::Other.

static std::string llvm::DOTGraphTraits< SelectionDAG * >::getEdgeDestLabel ( const void *  ,
unsigned   
) [inline, static]

getEdgeDestLabel - If hasEdgeDestLabels, this function returns the incoming edge label with the given index in the given node.

Reimplemented from llvm::DefaultDOTGraphTraits.

Definition at line 47 of file SelectionDAGPrinter.cpp.

template<typename EdgeIter >
static std::string llvm::DOTGraphTraits< SelectionDAG * >::getEdgeSourceLabel ( const void *  ,
EdgeIter   
) [inline, static]

getEdgeSourceLabel - If you want to label the edge source itself, implement this method.

Reimplemented from llvm::DefaultDOTGraphTraits.

Definition at line 52 of file SelectionDAGPrinter.cpp.

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

template<typename EdgeIter >
static EdgeIter llvm::DOTGraphTraits< SelectionDAG * >::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.

Reimplemented from llvm::DefaultDOTGraphTraits.

Definition at line 68 of file SelectionDAGPrinter.cpp.

References advance(), llvm::sys::path::begin(), llvm::SDNodeIterator::getNode(), llvm::SDNode::getOperand(), and I.

static std::string llvm::DOTGraphTraits< SelectionDAG * >::getGraphName ( const SelectionDAG G) [inline, static]
static std::string llvm::DOTGraphTraits< SelectionDAG * >::getNodeAttributes ( const SDNode N,
const SelectionDAG Graph 
) [inline, static]

Definition at line 113 of file SelectionDAGPrinter.cpp.

References llvm::SelectionDAG::getGraphAttrs().

std::string llvm::DOTGraphTraits< SelectionDAG * >::getNodeLabel ( const SDNode Node,
const SelectionDAG Graph 
)
static std::string llvm::DOTGraphTraits< SelectionDAG * >::getSimpleNodeLabel ( const SDNode Node,
const SelectionDAG G 
) [inline, static]
static bool llvm::DOTGraphTraits< SelectionDAG * >::hasEdgeDestLabels ( ) [inline, static]

hasEdgeDestLabels - If this function returns true, the graph is able to provide labels for edge destinations.

Reimplemented from llvm::DefaultDOTGraphTraits.

Definition at line 39 of file SelectionDAGPrinter.cpp.

static bool llvm::DOTGraphTraits< SelectionDAG * >::hasNodeAddressLabel ( const SDNode Node,
const SelectionDAG Graph 
) [inline, static]

Definition at line 83 of file SelectionDAGPrinter.cpp.

static unsigned llvm::DOTGraphTraits< SelectionDAG * >::numEdgeDestLabels ( const void *  ) [inline, static]

numEdgeDestLabels - If hasEdgeDestLabels, this function returns the number of incoming edge labels the given node has.

Reimplemented from llvm::DefaultDOTGraphTraits.

Definition at line 43 of file SelectionDAGPrinter.cpp.

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 from llvm::DefaultDOTGraphTraits.

Definition at line 79 of file SelectionDAGPrinter.cpp.


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