From 4221a8f905d353e8a86ecf8a2c05c97d78bbd0a8 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Wed, 12 Aug 2009 23:54:22 +0000 Subject: Now that numbered types have their number printed, it's no longer interesting to print the number in a comment. Numbered instructions don't need their number in a comment either. Also, tidy up newline printing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78865 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/AsmWriter.cpp | 30 ++++++++++++------------------ test/Integer/a15.ll.out | 1 + test/Integer/a17.ll.out | 1 + test/Integer/a31.ll.out | 1 + test/Integer/a33.ll.out | 1 + test/Integer/a63.ll.out | 1 + test/Integer/a7.ll.out | 1 + test/Integer/a9.ll.out | 1 + 8 files changed, 19 insertions(+), 18 deletions(-) diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp index c2a121a..c20cf46 100644 --- a/lib/VMCore/AsmWriter.cpp +++ b/lib/VMCore/AsmWriter.cpp @@ -521,7 +521,8 @@ public: /// MDNode map iterators. ValueMap::iterator mdnBegin() { return mdnMap.begin(); } ValueMap::iterator mdnEnd() { return mdnMap.end(); } - unsigned mdnSize() { return mdnMap.size(); } + unsigned mdnSize() const { return mdnMap.size(); } + bool mdnEmpty() const { return mdnMap.empty(); } /// This function does the actual initialization. inline void initialize(); @@ -1343,6 +1344,7 @@ void AssemblyWriter::printModule(const Module *M) { std::string Asm = M->getModuleInlineAsm(); size_t CurPos = 0; size_t NewLine = Asm.find_first_of('\n', CurPos); + Out << '\n'; while (NewLine != std::string::npos) { // We found a newline, print the portion of the asm string from the // last newline up to this newline. @@ -1362,6 +1364,7 @@ void AssemblyWriter::printModule(const Module *M) { Module::lib_iterator LI = M->lib_begin(); Module::lib_iterator LE = M->lib_end(); if (LI != LE) { + Out << '\n'; Out << "deplibs = [ "; while (LI != LE) { Out << '"' << *LI << '"'; @@ -1369,12 +1372,15 @@ void AssemblyWriter::printModule(const Module *M) { if (LI != LE) Out << ", "; } - Out << " ]\n"; + Out << " ]"; } // Loop over the symbol table, emitting all id'd types. + if (!M->getTypeSymbolTable().empty() || !NumberedTypes.empty()) Out << '\n'; printTypeSymbolTable(M->getTypeSymbolTable()); + // Output all globals. + if (!M->global_empty()) Out << '\n'; for (Module::const_global_iterator I = M->global_begin(), E = M->global_end(); I != E; ++I) printGlobal(I); @@ -1390,6 +1396,7 @@ void AssemblyWriter::printModule(const Module *M) { printFunction(I); // Output named metadata. + if (!M->named_metadata_empty()) Out << '\n'; for (Module::const_named_metadata_iterator I = M->named_metadata_begin(), E = M->named_metadata_end(); I != E; ++I) { const NamedMDNode *NMD = I; @@ -1403,6 +1410,7 @@ void AssemblyWriter::printModule(const Module *M) { } // Output metadata. + if (!Machine.mdnEmpty()) Out << '\n'; WriteMDNodes(Out, TypePrinter, Machine); } @@ -1521,8 +1529,7 @@ void AssemblyWriter::printTypeSymbolTable(const TypeSymbolTable &ST) { // Make sure we print out at least one level of the type structure, so // that we do not get %2 = type %2 TypePrinter.printAtLeastOneLevel(NumberedTypes[i], Out); - Out.PadToColumn(50); - Out << "; type %" << i << '\n'; + Out << '\n'; } // Print the named types. @@ -1713,20 +1720,7 @@ void AssemblyWriter::printInfoComment(const Value &V) { Out.PadToColumn(50); Out << "; <"; TypePrinter.print(V.getType(), Out); - Out << '>'; - - if (!V.hasName() && !isa(V)) { - int SlotNum; - if (const GlobalValue *GV = dyn_cast(&V)) - SlotNum = Machine.getGlobalSlot(GV); - else - SlotNum = Machine.getLocalSlot(&V); - if (SlotNum == -1) - Out << ":"; - else - Out << ':' << SlotNum; // Print out the def slot taken. - } - Out << " [#uses=" << V.getNumUses() << ']'; // Output # uses + Out << "> [#uses=" << V.getNumUses() << ']'; // Output # uses } } diff --git a/test/Integer/a15.ll.out b/test/Integer/a15.ll.out index 74387cc..5195cdf 100644 --- a/test/Integer/a15.ll.out +++ b/test/Integer/a15.ll.out @@ -1,4 +1,5 @@ ; ModuleID = '' + @b = constant i15 0 ; [#uses=0] @c = constant i15 -2 ; [#uses=0] @d = constant i15 0 ; [#uses=0] diff --git a/test/Integer/a17.ll.out b/test/Integer/a17.ll.out index 6ded845..ba66412 100644 --- a/test/Integer/a17.ll.out +++ b/test/Integer/a17.ll.out @@ -1,4 +1,5 @@ ; ModuleID = '' + @b = constant i17 0 ; [#uses=0] @c = constant i17 -2 ; [#uses=0] @d = constant i17 0 ; [#uses=0] diff --git a/test/Integer/a31.ll.out b/test/Integer/a31.ll.out index c7892ea..7407a74 100644 --- a/test/Integer/a31.ll.out +++ b/test/Integer/a31.ll.out @@ -1,4 +1,5 @@ ; ModuleID = '' + @b = constant i31 0 ; [#uses=0] @c = constant i31 -2 ; [#uses=0] @d = constant i31 0 ; [#uses=0] diff --git a/test/Integer/a33.ll.out b/test/Integer/a33.ll.out index 6f723b4..6cd61ee 100644 --- a/test/Integer/a33.ll.out +++ b/test/Integer/a33.ll.out @@ -1,4 +1,5 @@ ; ModuleID = '' + @b = constant i33 0 ; [#uses=0] @c = constant i33 -2 ; [#uses=0] @d = constant i33 0 ; [#uses=0] diff --git a/test/Integer/a63.ll.out b/test/Integer/a63.ll.out index 21cef72..18dff5a 100644 --- a/test/Integer/a63.ll.out +++ b/test/Integer/a63.ll.out @@ -1,4 +1,5 @@ ; ModuleID = '' + @b = constant i63 0 ; [#uses=0] @c = constant i63 -2 ; [#uses=0] @d = constant i63 0 ; [#uses=0] diff --git a/test/Integer/a7.ll.out b/test/Integer/a7.ll.out index 78a114c..250925d 100644 --- a/test/Integer/a7.ll.out +++ b/test/Integer/a7.ll.out @@ -1,4 +1,5 @@ ; ModuleID = '' + @b = constant i7 0 ; [#uses=0] @q = constant i7 63 ; [#uses=0] @c = constant i7 -2 ; [#uses=0] diff --git a/test/Integer/a9.ll.out b/test/Integer/a9.ll.out index fd329d4..6e38062 100644 --- a/test/Integer/a9.ll.out +++ b/test/Integer/a9.ll.out @@ -1,4 +1,5 @@ ; ModuleID = '' + @b = constant i9 0 ; [#uses=0] @c = constant i9 -2 ; [#uses=0] @d = constant i9 0 ; [#uses=0] -- cgit v1.1