If the Graphviz program is available, use it to visualize dot graphs.
authorChris Lattner <sabre@nondot.org>
Thu, 14 Jul 2005 01:10:55 +0000 (01:10 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 14 Jul 2005 01:10:55 +0000 (01:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22429 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp

index d4c1dcd3b8a385b8434c5a3504101de11a315d28..8ab6783d56183d58a904026f7347f574d316a4e9 100644 (file)
@@ -116,10 +116,19 @@ void SelectionDAG::viewGraph() {
   F.close();
   std::cerr << "\n";
 
+#ifdef HAVE_GRAPHVIZ
+  std::cerr << "Running 'Graphviz' program... " << std::flush;
+  if (system(("Graphviz " + Filename).c_str())) {
+    std::cerr << "Error viewing graph: 'Graphviz' not in path?\n";
+  } else {
+    return;
+  }
+#endif
+
   std::cerr << "Running 'dot' program... " << std::flush;
   if (system(("dot -Tps -Nfontname=Courier -Gsize=7.5,10 " + Filename
               + " > /tmp/dag.tempgraph.ps").c_str())) {
-    std::cerr << "Error running dot: 'dot' not in path?\n";
+    std::cerr << "Error viewing graph: 'dot' not in path?\n";
   } else {
     std::cerr << "\n";
     system("gv /tmp/dag.tempgraph.ps");