diff options
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2012-11-27 16:11:16 +0000 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2012-11-27 16:11:16 +0000 |
commit | dba37a3c43b79be8a54d5e07ff390b621da5958d (patch) | |
tree | d25d2cca186bdd9f0e0294e0e0fde0247540795d /test | |
parent | 76f8eda28412c37ae38d82bb54d5dfa49045df8d (diff) | |
download | external_llvm-dba37a3c43b79be8a54d5e07ff390b621da5958d.zip external_llvm-dba37a3c43b79be8a54d5e07ff390b621da5958d.tar.gz external_llvm-dba37a3c43b79be8a54d5e07ff390b621da5958d.tar.bz2 |
Never use .lcomm on platforms where it does not accept an alignment
argument. Instead, use a pair of .local and .comm directives.
This avoids spurious differences between binaries built by the
integrated assembler vs. those built by the external assembler,
since the external assembler may impose alignment requirements
on .lcomm symbols where the integrated assembler does not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168704 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/ARM/2010-12-15-elf-lcomm.ll | 3 | ||||
-rw-r--r-- | test/CodeGen/ARM/elf-lcomm-align.ll | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/test/CodeGen/ARM/2010-12-15-elf-lcomm.ll b/test/CodeGen/ARM/2010-12-15-elf-lcomm.ll index 5cfbb4f..1272a25 100644 --- a/test/CodeGen/ARM/2010-12-15-elf-lcomm.ll +++ b/test/CodeGen/ARM/2010-12-15-elf-lcomm.ll @@ -10,7 +10,8 @@ @STRIDE = internal global i32 8 ; ASM: .type array00,%object @ @array00 -; ASM-NEXT: .lcomm array00,80 +; ASM-NEXT: .local array00 +; ASM-NEXT: .comm array00,80,1 ; ASM-NEXT: .type _MergedGlobals,%object @ @_MergedGlobals diff --git a/test/CodeGen/ARM/elf-lcomm-align.ll b/test/CodeGen/ARM/elf-lcomm-align.ll index 4679299..a98b3c0 100644 --- a/test/CodeGen/ARM/elf-lcomm-align.ll +++ b/test/CodeGen/ARM/elf-lcomm-align.ll @@ -4,8 +4,9 @@ @c = internal global i8 0, align 1 @x = internal global i32 0, align 4 -; CHECK: .lcomm c,1 -; .lcomm doesn't support alignment. +; .lcomm doesn't support alignment, so we always use .local/.comm. +; CHECK: .local c +; CHECK-NEXT: .comm c,1,1 ; CHECK: .local x ; CHECK-NEXT: .comm x,4,4 |