[llvm-commits] CVS: llvm/lib/Analysis/DataStructure/Printer.cpp

Chris Lattner lattner at cs.uiuc.edu
Thu Oct 3 16:56:04 PDT 2002


Changes in directory llvm/lib/Analysis/DataStructure:

Printer.cpp updated: 1.11 -> 1.12

---
Log message:

sgefa uses truely huge data structures nodes.  Only print part of them if they 
are so big


---
Diffs of the changes:

Index: llvm/lib/Analysis/DataStructure/Printer.cpp
diff -u llvm/lib/Analysis/DataStructure/Printer.cpp:1.11 llvm/lib/Analysis/DataStructure/Printer.cpp:1.12
--- llvm/lib/Analysis/DataStructure/Printer.cpp:1.11	Thu Oct  3 15:38:41 2002
+++ llvm/lib/Analysis/DataStructure/Printer.cpp	Thu Oct  3 16:55:13 2002
@@ -103,17 +103,22 @@
 
   O << "\tNode" << (void*)this << " [ label =\"{" << Caption;
 
+  unsigned Size = getSize();
+  if (Size > 64) Size = 64;   // Don't print out HUGE graph nodes!
+
   if (getSize() != 0) {
     O << "|{";
-    for (unsigned i = 0; i < getSize(); ++i) {
+    for (unsigned i = 0; i < Size; ++i) {
       if (i) O << "|";
       O << "<g" << i << ">" << (int)MergeMap[i];
     }
+    if (Size != getSize())
+      O << "|truncated...";
     O << "}";
   }
   O << "}\"];\n";
 
-  for (unsigned i = 0; i != getSize(); ++i)
+  for (unsigned i = 0; i != Size; ++i)
     if (const DSNodeHandle *DSN = getLink(i))
       writeEdge(O, this, ":g", i, *DSN);
 }





More information about the llvm-commits mailing list