summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/VMCore/AsmWriter.cpp30
-rw-r--r--test/Integer/a15.ll.out1
-rw-r--r--test/Integer/a17.ll.out1
-rw-r--r--test/Integer/a31.ll.out1
-rw-r--r--test/Integer/a33.ll.out1
-rw-r--r--test/Integer/a63.ll.out1
-rw-r--r--test/Integer/a7.ll.out1
-rw-r--r--test/Integer/a9.ll.out1
8 files changed, 19 insertions, 18 deletions
diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp
index c2a121a2b6..c20cf46f92 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<Instruction>(V)) {
- int SlotNum;
- if (const GlobalValue *GV = dyn_cast<GlobalValue>(&V))
- SlotNum = Machine.getGlobalSlot(GV);
- else
- SlotNum = Machine.getLocalSlot(&V);
- if (SlotNum == -1)
- Out << ":<badref>";
- 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 74387ccd6d..5195cdf376 100644
--- a/test/Integer/a15.ll.out
+++ b/test/Integer/a15.ll.out
@@ -1,4 +1,5 @@
; ModuleID = '<stdin>'
+
@b = constant i15 0 ; <i15*> [#uses=0]
@c = constant i15 -2 ; <i15*> [#uses=0]
@d = constant i15 0 ; <i15*> [#uses=0]
diff --git a/test/Integer/a17.ll.out b/test/Integer/a17.ll.out
index 6ded8452f6..ba6641289e 100644
--- a/test/Integer/a17.ll.out
+++ b/test/Integer/a17.ll.out
@@ -1,4 +1,5 @@
; ModuleID = '<stdin>'
+
@b = constant i17 0 ; <i17*> [#uses=0]
@c = constant i17 -2 ; <i17*> [#uses=0]
@d = constant i17 0 ; <i17*> [#uses=0]
diff --git a/test/Integer/a31.ll.out b/test/Integer/a31.ll.out
index c7892ea722..7407a746b5 100644
--- a/test/Integer/a31.ll.out
+++ b/test/Integer/a31.ll.out
@@ -1,4 +1,5 @@
; ModuleID = '<stdin>'
+
@b = constant i31 0 ; <i31*> [#uses=0]
@c = constant i31 -2 ; <i31*> [#uses=0]
@d = constant i31 0 ; <i31*> [#uses=0]
diff --git a/test/Integer/a33.ll.out b/test/Integer/a33.ll.out
index 6f723b45e5..6cd61ee69c 100644
--- a/test/Integer/a33.ll.out
+++ b/test/Integer/a33.ll.out
@@ -1,4 +1,5 @@
; ModuleID = '<stdin>'
+
@b = constant i33 0 ; <i33*> [#uses=0]
@c = constant i33 -2 ; <i33*> [#uses=0]
@d = constant i33 0 ; <i33*> [#uses=0]
diff --git a/test/Integer/a63.ll.out b/test/Integer/a63.ll.out
index 21cef72d80..18dff5a296 100644
--- a/test/Integer/a63.ll.out
+++ b/test/Integer/a63.ll.out
@@ -1,4 +1,5 @@
; ModuleID = '<stdin>'
+
@b = constant i63 0 ; <i63*> [#uses=0]
@c = constant i63 -2 ; <i63*> [#uses=0]
@d = constant i63 0 ; <i63*> [#uses=0]
diff --git a/test/Integer/a7.ll.out b/test/Integer/a7.ll.out
index 78a114c087..250925d795 100644
--- a/test/Integer/a7.ll.out
+++ b/test/Integer/a7.ll.out
@@ -1,4 +1,5 @@
; ModuleID = '<stdin>'
+
@b = constant i7 0 ; <i7*> [#uses=0]
@q = constant i7 63 ; <i7*> [#uses=0]
@c = constant i7 -2 ; <i7*> [#uses=0]
diff --git a/test/Integer/a9.ll.out b/test/Integer/a9.ll.out
index fd329d4812..6e38062c4a 100644
--- a/test/Integer/a9.ll.out
+++ b/test/Integer/a9.ll.out
@@ -1,4 +1,5 @@
; ModuleID = '<stdin>'
+
@b = constant i9 0 ; <i9*> [#uses=0]
@c = constant i9 -2 ; <i9*> [#uses=0]
@d = constant i9 0 ; <i9*> [#uses=0]