If the Graphviz program is available, use it to visualize dot graphs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22429 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp
index d4c1dcd..8ab6783 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp
@@ -116,10 +116,19 @@
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");