diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp index 9c483332266..db094a0a120 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp @@ -18,6 +18,23 @@ #include using namespace llvm; +namespace llvm { + template<> + struct DOTGraphTraits : public DefaultDOTGraphTraits { + static std::string getGraphName(const SelectionDAG *G) { + return G->getMachineFunction().getFunction()->getName(); + } + static std::string getNodeLabel(const SDNode *Node, + const SelectionDAG *Graph) { + return Node->getOperationName(); + } + + static std::string getNodeAttributes(const SDNode *N) { + return "shape=Mrecord"; + } + }; +} + /// viewGraph - Pop up a ghostview window with the reachable parts of the DAG /// rendered using 'dot'. ///