LLVM API Documentation
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) |
Definition at line 34 of file SelectionDAGPrinter.cpp.
llvm::DOTGraphTraits< SelectionDAG * >::DOTGraphTraits | ( | bool | isSimple = false | ) | [inline, explicit] |
Definition at line 36 of file SelectionDAGPrinter.cpp.
static void llvm::DOTGraphTraits< SelectionDAG * >::addCustomGraphFeatures | ( | SelectionDAG * | G, |
GraphWriter< SelectionDAG * > & | GW | ||
) | [inline, static] |
Definition at line 127 of file SelectionDAGPrinter.cpp.
References llvm::GraphWriter< GraphType >::emitEdge(), llvm::GraphWriter< GraphType >::emitSimpleNode(), llvm::SDValue::getNode(), llvm::SDValue::getResNo(), and llvm::SelectionDAG::getRoot().
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.
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.
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().
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] |
Definition at line 75 of file SelectionDAGPrinter.cpp.
References llvm::SelectionDAG::getMachineFunction(), and llvm::MachineFunction::getName().
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] |
Definition at line 103 of file SelectionDAGPrinter.cpp.
References llvm::SDNode::getOperationName(), and llvm::SDNode::print_details().
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.
static bool llvm::DOTGraphTraits< SelectionDAG * >::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 from llvm::DefaultDOTGraphTraits.
Definition at line 79 of file SelectionDAGPrinter.cpp.