Enhancements for --view-graph
authorMikhail Glushenkov <foldr@codedgers.com>
Tue, 6 May 2008 17:26:14 +0000 (17:26 +0000)
committerMikhail Glushenkov <foldr@codedgers.com>
Tue, 6 May 2008 17:26:14 +0000 (17:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50737 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvmc2/CompilationGraph.cpp

index 53195cbe95a20d94c5234844e494711202e416c6..c0c849be23258870548c68c0cf13374de9f83860 100644 (file)
@@ -204,15 +204,29 @@ namespace llvm {
     : public DefaultDOTGraphTraits
   {
 
-  template<typename GraphType>
-  static std::string getNodeLabel(const Node* N, const GraphType&) {
-    if (N->ToolPtr)
-      return N->Name();
-    else
-      return "root";
-  }
+    template<typename GraphType>
+    static std::string getNodeLabel(const Node* N, const GraphType&)
+    {
+      if (N->ToolPtr)
+        if (N->ToolPtr->IsJoin())
+          return N->Name() + "\n (join" +
+            (N->HasChildren() ? ")"
+             : std::string(": ") + N->ToolPtr->OutputLanguage() + ')');
+        else
+          return N->Name();
+      else
+        return "root";
+    }
 
+    template<typename EdgeIter>
+    static std::string getEdgeSourceLabel(const Node* N, EdgeIter I) {
+      if (N->ToolPtr)
+        return N->ToolPtr->OutputLanguage();
+      else
+        return I->ToolPtr->InputLanguage();
+    }
   };
+
 }
 
 void CompilationGraph::writeGraph() {