diff options
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp index 9c483332266..db094a0a120 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp @@ -18,6 +18,23 @@ #include <fstream> using namespace llvm; +namespace llvm { + template<> + struct DOTGraphTraits<SelectionDAG*> : 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'. /// |

