From f166ed7324d3708a74231f9f86fd148f811038a7 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 25 Jan 2010 02:27:39 +0000 Subject: [PATCH] Fix PR6134. 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 | 4 +--- test/CodeGen/ARM/align.ll | 42 +++++++++++++++++++++++++++------ test/CodeGen/ARM/globals.ll | 4 ++-- 3 files changed, 38 insertions(+), 12 deletions(-) diff --git a/lib/Target/ARM/ARMMCAsmInfo.cpp b/lib/Target/ARM/ARMMCAsmInfo.cpp index 3dd87c07239..6c7f752cfd2 100644 --- a/lib/Target/ARM/ARMMCAsmInfo.cpp +++ b/lib/Target/ARM/ARMMCAsmInfo.cpp @@ -53,11 +53,9 @@ ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin() { } ARMELFMCAsmInfo::ARMELFMCAsmInfo() { - AlignmentIsInBytes = false; Data64bitsDirective = 0; CommentString = "@"; - COMMDirectiveTakesAlignment = false; - + NeedsSet = false; HasLEB128 = true; AbsoluteDebugSectionOffsets = true; diff --git a/test/CodeGen/ARM/align.ll b/test/CodeGen/ARM/align.ll index d73abe6a560..f795cf61bf4 100644 --- a/test/CodeGen/ARM/align.ll +++ b/test/CodeGen/ARM/align.ll @@ -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 diff --git a/test/CodeGen/ARM/globals.ll b/test/CodeGen/ARM/globals.ll index 886c0d55cfa..83849f42329 100644 --- a/test/CodeGen/ARM/globals.ll +++ b/test/CodeGen/ARM/globals.ll @@ -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)