summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2017-07-26 23:47:24 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2017-07-26 23:47:24 +0000
commitbe28c2e4a5e6622fb3356e79a74d27ac0c0450d1 (patch)
tree018075e909ff022dc9aa1f5fbe92fee07b7b45a6
parentefd3d5887bce69c942445f6fa38ef92c540885f6 (diff)
downloadbcm5719-llvm-be28c2e4a5e6622fb3356e79a74d27ac0c0450d1.tar.gz
bcm5719-llvm-be28c2e4a5e6622fb3356e79a74d27ac0c0450d1.zip
Add --gc-sections to a test.
This shows that the logic in --gc-sections is a bit more precise than what can be easily done in LTO. llvm-svn: 309234
-rw-r--r--lld/test/ELF/lto/section-name.ll10
1 files changed, 9 insertions, 1 deletions
diff --git a/lld/test/ELF/lto/section-name.ll b/lld/test/ELF/lto/section-name.ll
index cc5f914110e..483184716a0 100644
--- a/lld/test/ELF/lto/section-name.ll
+++ b/lld/test/ELF/lto/section-name.ll
@@ -2,6 +2,8 @@
; RUN: llvm-as %s -o %t.o
; RUN: ld.lld %t.o -o %t.so -shared
; RUN: llvm-readelf -s %t.so | FileCheck %s
+; RUN: ld.lld %t.o -o %t.so -shared --gc-sections
+; RUN: llvm-readelf -s %t.so | FileCheck --check-prefix=GC %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
@@ -13,7 +15,7 @@ target triple = "x86_64-unknown-linux-gnu"
@__start_foo_section = external global i32
@__stop_bar_section = external global i32
-define i32* @use1() {
+define hidden i32* @use1() {
ret i32* @__start_foo_section
}
@@ -25,3 +27,9 @@ define i32* @use2() {
; CHECK: foo_section PROGBITS
; CHECK-NEXT: bar_section PROGBITS
; CHECK-NOT: zed_section
+
+; GC-NOT: zed_section
+; GC-NOT: foo_section
+; GC: bar_section PROGBITS
+; GC-NOT: zed_section
+; GC-NOT: foo_section
OpenPOWER on IntegriCloud