[llvm-commits] [llvm] r129432 - in /llvm/trunk: lib/Target/TargetData.cpp test/CodeGen/ARM/2011-04-12-AlignBug.ll

Cameron Zwarich zwarich at apple.com
Wed Apr 13 02:02:43 PDT 2011


Author: zwarich
Date: Wed Apr 13 04:02:43 2011
New Revision: 129432

URL: http://llvm.org/viewvc/llvm-project?rev=129432&view=rev
Log:
Fix an obvious problem with an alignment computation. AsmPrinter actually does
the max itself, so it is not easy to write a test case for this, but I added a
test case that would fail if the code in AsmPrinter were removed.

Modified:
    llvm/trunk/lib/Target/TargetData.cpp
    llvm/trunk/test/CodeGen/ARM/2011-04-12-AlignBug.ll

Modified: llvm/trunk/lib/Target/TargetData.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetData.cpp?rev=129432&r1=129431&r2=129432&view=diff
==============================================================================
--- llvm/trunk/lib/Target/TargetData.cpp (original)
+++ llvm/trunk/lib/Target/TargetData.cpp Wed Apr 13 04:02:43 2011
@@ -621,7 +621,7 @@
   if (GVAlignment >= Alignment) {
     Alignment = GVAlignment;
   } else if (GVAlignment != 0) {
-    Alignment = std::min(GVAlignment, getABITypeAlignment(ElemType));
+    Alignment = std::max(GVAlignment, getABITypeAlignment(ElemType));
   }
 
   if (GV->hasInitializer()) {

Modified: llvm/trunk/test/CodeGen/ARM/2011-04-12-AlignBug.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2011-04-12-AlignBug.ll?rev=129432&r1=129431&r2=129432&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/2011-04-12-AlignBug.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/2011-04-12-AlignBug.ll Wed Apr 13 04:02:43 2011
@@ -2,6 +2,8 @@
 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:64-v128:32:128-a0:0:32-n32"
 target triple = "thumbv7-apple-darwin10.0.0"
 
+; CHECK: align 3
+ at .v = linker_private unnamed_addr constant <4 x i32> <i32 1, i32 2, i32 3, i32 4>, align 8
 ; CHECK: align 2
 @.strA = linker_private unnamed_addr constant [4 x i8] c"bar\00"
 ; CHECK-NOT: align





More information about the llvm-commits mailing list