[llvm-commits] CVS: llvm/include/Support/GraphWriter.h

Chris Lattner lattner at cs.uiuc.edu
Thu Oct 10 17:31:01 PDT 2002


Changes in directory llvm/include/Support:

GraphWriter.h updated: 1.2 -> 1.3

---
Log message:

* Don't only print out reachable nodes in the graph.  
  * use new api to get all nodes in the graph
  * Allow custom graph traits


---
Diffs of the changes:

Index: llvm/include/Support/GraphWriter.h
diff -u llvm/include/Support/GraphWriter.h:1.2 llvm/include/Support/GraphWriter.h:1.3
--- llvm/include/Support/GraphWriter.h:1.2	Mon Oct  7 17:37:03 2002
+++ llvm/include/Support/GraphWriter.h	Thu Oct 10 17:29:51 2002
@@ -17,7 +17,7 @@
 #define SUPPORT_GRAPHWRITER_H
 
 #include "Support/DOTGraphTraits.h"
-#include "Support/DepthFirstIterator.h"
+#include "Support/GraphTraits.h"
 #include <ostream>
 
 namespace DOT {  // Private functions...
@@ -53,19 +53,19 @@
   typedef DOTGraphTraits<GraphType>  DOTTraits;
   typedef GraphTraits<GraphType>     GTraits;
   typedef typename GTraits::NodeType NodeType;
+  typedef typename GTraits::nodes_iterator node_iterator;
 
-  O << "digraph foo {\n"         // Graph name doesn't matter
-    << "\tsize=\"7.5,10\";\n";   // Size to fit on a page
-
+  O << "digraph foo {\n";        // Graph name doesn't matter
   std::string GraphName = DOTTraits::getGraphName(G);
   if (!GraphName.empty())
     O << "\tlabel=\"" << DOT::EscapeString(GraphName) << "\";\n";
+  O << DOTTraits::getGraphProperties(G);
   O << "\n";
 
   // Loop over the graph in DFO, printing it out...
-  NodeType *Root = GTraits::getEntryNode(G);
-  for (df_iterator<GraphType> I = df_begin(G), E = df_end(G); I != E; ++I) {
-    NodeType *Node = *I;
+  for (node_iterator I = GTraits::nodes_begin(G), E = GTraits::nodes_end(G);
+       I != E; ++I) {
+    NodeType *Node = &*I;
 
     std::string NodeAttributes = DOTTraits::getNodeAttributes(Node);
 





More information about the llvm-commits mailing list