From: Chris Lattner Date: Thu, 3 Oct 2002 21:55:13 +0000 (+0000) Subject: sgefa uses truely huge data structures nodes. Only print part of them if they X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6727ec64e8f2892dfdd0864a0ed05796f0716e31;p=oota-llvm.git sgefa uses truely huge data structures nodes. Only print part of them if they are so big git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4035 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/DataStructure/Printer.cpp b/lib/Analysis/DataStructure/Printer.cpp index b78861c1347..51ebe632eb4 100644 --- a/lib/Analysis/DataStructure/Printer.cpp +++ b/lib/Analysis/DataStructure/Printer.cpp @@ -103,17 +103,22 @@ void DSNode::print(std::ostream &O, const DSGraph *G) const { 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 << "" << (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); }