[llvm-commits] [llvm] r149341 - /llvm/trunk/lib/VMCore/AsmWriter.cpp

Chris Lattner sabre at nondot.org
Mon Jan 30 19:15:40 PST 2012


Author: lattner
Date: Mon Jan 30 21:15:40 2012
New Revision: 149341

URL: http://llvm.org/viewvc/llvm-project?rev=149341&view=rev
Log:
fix asmwriting of ConstantDataArray to use the right element count, 
simplify ConstantArray handling, since they can never be empty.

Modified:
    llvm/trunk/lib/VMCore/AsmWriter.cpp

Modified: llvm/trunk/lib/VMCore/AsmWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/AsmWriter.cpp?rev=149341&r1=149340&r2=149341&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/AsmWriter.cpp (original)
+++ llvm/trunk/lib/VMCore/AsmWriter.cpp Mon Jan 30 21:15:40 2012
@@ -837,19 +837,17 @@
       Out << '"';
     } else {                // Cannot output in string format...
       Out << '[';
-      if (CA->getNumOperands()) {
+      TypePrinter.print(ETy, Out);
+      Out << ' ';
+      WriteAsOperandInternal(Out, CA->getOperand(0),
+                             &TypePrinter, Machine,
+                             Context);
+      for (unsigned i = 1, e = CA->getNumOperands(); i != e; ++i) {
+        Out << ", ";
         TypePrinter.print(ETy, Out);
         Out << ' ';
-        WriteAsOperandInternal(Out, CA->getOperand(0),
-                               &TypePrinter, Machine,
+        WriteAsOperandInternal(Out, CA->getOperand(i), &TypePrinter, Machine,
                                Context);
-        for (unsigned i = 1, e = CA->getNumOperands(); i != e; ++i) {
-          Out << ", ";
-          TypePrinter.print(ETy, Out);
-          Out << ' ';
-          WriteAsOperandInternal(Out, CA->getOperand(i), &TypePrinter, Machine,
-                                 Context);
-        }
       }
       Out << ']';
     }
@@ -868,21 +866,19 @@
 
     Type *ETy = CA->getType()->getElementType();
     Out << '[';
-    if (CA->getNumOperands()) {
+    TypePrinter.print(ETy, Out);
+    Out << ' ';
+    WriteAsOperandInternal(Out, CA->getElementAsConstant(0),
+                           &TypePrinter, Machine,
+                           Context);
+    for (unsigned i = 1, e = CA->getNumElements(); i != e; ++i) {
+      Out << ", ";
       TypePrinter.print(ETy, Out);
       Out << ' ';
-      WriteAsOperandInternal(Out, CA->getElementAsConstant(0),
-                             &TypePrinter, Machine,
-                             Context);
-      for (unsigned i = 1, e = CA->getNumOperands(); i != e; ++i) {
-        Out << ", ";
-        TypePrinter.print(ETy, Out);
-        Out << ' ';
-        WriteAsOperandInternal(Out, CA->getElementAsConstant(i), &TypePrinter,
-                               Machine, Context);
-      }
-      Out << ']';
+      WriteAsOperandInternal(Out, CA->getElementAsConstant(i), &TypePrinter,
+                             Machine, Context);
     }
+    Out << ']';
     return;
   }
 





More information about the llvm-commits mailing list