OSDN Git Service

Fix PR6134.
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 25 Jan 2010 02:27:39 +0000 (02:27 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 25 Jan 2010 02:27:39 +0000 (02:27 +0000)
We are not emitting alignments on Darwin for "bar". Not sure what is the
correct way to do it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94400 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMMCAsmInfo.cpp
test/CodeGen/ARM/align.ll
test/CodeGen/ARM/globals.ll

index 3dd87c0..6c7f752 100644 (file)
@@ -53,11 +53,9 @@ ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin() {
 }
 
 ARMELFMCAsmInfo::ARMELFMCAsmInfo() {
-  AlignmentIsInBytes = false;
   Data64bitsDirective = 0;
   CommentString = "@";
-  COMMDirectiveTakesAlignment = false;
-  
+
   NeedsSet = false;
   HasLEB128 = true;
   AbsoluteDebugSectionOffsets = true;
index d73abe6..f795cf6 100644 (file)
@@ -1,15 +1,43 @@
-; RUN: llc < %s -march=arm | grep align.*1 | count 1
-; RUN: llc < %s -mtriple=arm-linux-gnueabi | \
-; RUN:   grep align.*2 | count 2
-; RUN: llc < %s -mtriple=arm-linux-gnueabi | \
-; RUN:   grep align.*3 | count 2
-; RUN: llc < %s -mtriple=arm-apple-darwin | \
-; RUN:   grep align.*2 | count 4
+; RUN: llc < %s -mtriple=arm-linux-gnueabi | FileCheck %s -check-prefix=ELF
+; RUN: llc < %s -mtriple=arm-apple-darwin | FileCheck %s -check-prefix=DARWIN
 
 @a = global i1 true
+; no alignment
+
 @b = global i8 1
+; no alignment
+
 @c = global i16 2
+;ELF: .align 2
+;ELF: c:
+;DARWIN: .align 1
+;DARWIN: _c:
+
 @d = global i32 3
+;ELF: .align 4
+;ELF: d:
+;DARWIN: .align 2
+;DARWIN: _d:
+
 @e = global i64 4
+;ELF: .align 8
+;ELF: e
+;DARWIN: .align 2
+;DARWIN: _e:
+
 @f = global float 5.0
+;ELF: .align 4
+;ELF: f:
+;DARWIN: .align 2
+;DARWIN: _f:
+
 @g = global double 6.0
+;ELF: .align 8
+;ELF: g:
+;DARWIN: .align 2
+;DARWIN: _g:
+
+@bar = common global [75 x i8] zeroinitializer, align 128
+;ELF: .comm bar,75,128
+; no alignment on darwin?
+;DARWIN: .comm _bar,75
index 886c0d5..83849f4 100644 (file)
@@ -67,9 +67,9 @@ define i32 @test1() {
 ; LinuxPIC:    ldr r0, [r0]
 ; LinuxPIC:    bx lr
 
-; LinuxPIC: .align 2
+; LinuxPIC: .align 4
 ; LinuxPIC: .LCPI1_0:
 ; LinuxPIC:     .long _GLOBAL_OFFSET_TABLE_-(.LPC1_0+8)
-; LinuxPIC: .align 2
+; LinuxPIC: .align 4
 ; LinuxPIC: .LCPI1_1:
 ; LinuxPIC:     .long  G(GOT)