aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/ARM/2010-12-15-elf-lcomm.ll
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2011-09-01 23:04:27 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2011-09-01 23:04:27 +0000
commit36a16015ac108e2f0dd2d6d96a6d364bc74c50d7 (patch)
tree32f8e302aea0fbe6b07b367e256e4f2e01bc19a4 /test/CodeGen/ARM/2010-12-15-elf-lcomm.ll
parent7df496d2ad1ecbc86d454a5cea2ae3e0928197ee (diff)
downloadexternal_llvm-36a16015ac108e2f0dd2d6d96a6d364bc74c50d7.zip
external_llvm-36a16015ac108e2f0dd2d6d96a6d364bc74c50d7.tar.gz
external_llvm-36a16015ac108e2f0dd2d6d96a6d364bc74c50d7.tar.bz2
Don't drop alignment info on local common symbols.
- On COFF the .lcomm directive has an alignment argument. - On ELF we fall back to .local + .comm Based on a patch by NAKAMURA Takumi. Fixes PR9337, PR9483 and PR10128. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138976 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/2010-12-15-elf-lcomm.ll')
-rw-r--r--test/CodeGen/ARM/2010-12-15-elf-lcomm.ll11
1 files changed, 6 insertions, 5 deletions
diff --git a/test/CodeGen/ARM/2010-12-15-elf-lcomm.ll b/test/CodeGen/ARM/2010-12-15-elf-lcomm.ll
index a4bab85..5cfbb4f 100644
--- a/test/CodeGen/ARM/2010-12-15-elf-lcomm.ll
+++ b/test/CodeGen/ARM/2010-12-15-elf-lcomm.ll
@@ -5,7 +5,7 @@
@dummy = internal global i32 666
-@array00 = internal global [20 x i32] zeroinitializer
+@array00 = internal global [80 x i8] zeroinitializer, align 1
@sum = internal global i32 55
@STRIDE = internal global i32 8
@@ -28,8 +28,9 @@
define i32 @main(i32 %argc) nounwind {
%1 = load i32* @sum, align 4
- %2 = getelementptr [20 x i32]* @array00, i32 0, i32 %argc
- %3 = load i32* %2, align 4
- %4 = add i32 %1, %3
- ret i32 %4;
+ %2 = getelementptr [80 x i8]* @array00, i32 0, i32 %argc
+ %3 = load i8* %2
+ %4 = zext i8 %3 to i32
+ %5 = add i32 %1, %4
+ ret i32 %5
}