summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM
diff options
context:
space:
mode:
authorEli Friedman <efriedma@codeaurora.org>2018-02-06 23:22:14 +0000
committerEli Friedman <efriedma@codeaurora.org>2018-02-06 23:22:14 +0000
commitcd07a3e2f9e7c35e90f82bc33cfec0be59c27568 (patch)
tree5d8f6d2039f4203f83a607798a314c0b07663799 /llvm/test/CodeGen/ARM
parenta3d37f071697771071addf2d9f2decad923de3ad (diff)
downloadbcm5719-llvm-cd07a3e2f9e7c35e90f82bc33cfec0be59c27568.tar.gz
bcm5719-llvm-cd07a3e2f9e7c35e90f82bc33cfec0be59c27568.zip
Place undefined globals in .bss instead of .data
Following up on the discussion from http://lists.llvm.org/pipermail/llvm-dev/2017-April/112305.html, undef values are now placed in the .bss as well as null values. This prevents undef global values taking up potentially huge amounts of space in the .data section. The following two lines now both generate equivalent .bss data: @vals1 = internal unnamed_addr global [20000000 x i32] zeroinitializer, align 4 @vals2 = internal unnamed_addr global [20000000 x i32] undef, align 4 ; previously unaccounted for This is primarily motivated by the corresponding issue in the Rust compiler (https://github.com/rust-lang/rust/issues/41315). Differential Revision: https://reviews.llvm.org/D41705 Patch by varkor! llvm-svn: 324424
Diffstat (limited to 'llvm/test/CodeGen/ARM')
-rw-r--r--llvm/test/CodeGen/ARM/memfunc.ll6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/ARM/memfunc.ll b/llvm/test/CodeGen/ARM/memfunc.ll
index 882091b67f0..b415ff7b7f4 100644
--- a/llvm/test/CodeGen/ARM/memfunc.ll
+++ b/llvm/test/CodeGen/ARM/memfunc.ll
@@ -421,8 +421,10 @@ entry:
; CHECK: arr5:
; CHECK-NOT: .p2align
; CHECK: arr6:
-; CHECK: .p2align 4
-; CHECK: arr8:
+; CHECK-IOS: arr8,128,4
+; CHECK-DARWIN: arr8,128,4
+; CHECK-EABI: arr8,128,16
+; CHECK-GNUEABI: arr8,128,16
; CHECK: .p2align 4
; CHECK: arr9:
OpenPOWER on IntegriCloud