summaryrefslogtreecommitdiffstats
path: root/llvm/test/Linker/link-flags.ll
diff options
context:
space:
mode:
authorArtem Belevich <tra@google.com>2015-09-01 17:55:55 +0000
committerArtem Belevich <tra@google.com>2015-09-01 17:55:55 +0000
commit020d4fb17f92410117bc858f586fead7c5088696 (patch)
tree227c2a0a455b8d3e3e549636b4246c9cccb0cfc8 /llvm/test/Linker/link-flags.ll
parent6194363b319730e07cb081591473d1dfdad93306 (diff)
downloadbcm5719-llvm-020d4fb17f92410117bc858f586fead7c5088696.tar.gz
bcm5719-llvm-020d4fb17f92410117bc858f586fead7c5088696.zip
New bitcode linker flags:
-only-needed -- link in only symbols needed by destination module -internalize -- internalize linked symbols Differential Revision: http://reviews.llvm.org/D12459 llvm-svn: 246561
Diffstat (limited to 'llvm/test/Linker/link-flags.ll')
-rw-r--r--llvm/test/Linker/link-flags.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/Linker/link-flags.ll b/llvm/test/Linker/link-flags.ll
new file mode 100644
index 00000000000..4c56aedcbbd
--- /dev/null
+++ b/llvm/test/Linker/link-flags.ll
@@ -0,0 +1,21 @@
+; RUN: llvm-as %S/Inputs/linkage.b.ll -o %t.b.bc
+; RUN: llvm-as %S/Inputs/linkage.c.ll -o %t.c.bc
+; RUN: llvm-link -S %t.b.bc %t.c.bc | FileCheck %s -check-prefix=B -check-prefix=C -check-prefix=CU
+; RUN: llvm-link -S -only-needed %t.b.bc %t.c.bc | FileCheck %s -check-prefix=B -check-prefix=C -check-prefix=CN
+; RUN: llvm-link -S -internalize %t.b.bc %t.c.bc | FileCheck %s -check-prefix=B -check-prefix=CI
+; RUN: llvm-link -S -internalize -only-needed %t.b.bc %t.c.bc | FileCheck %s -check-prefix=B -check-prefix=CN
+
+C-LABEL: @X = global i32 5
+CI-LABEL: @X = internal global i32 5
+CU-LABEL:@U = global i32 6
+CI-LABEL:@U = internal global i32 6
+CN-LABEL-NOT:@U
+
+B-LABEL: define void @bar() {
+
+C-LABEL: define i32 @foo()
+CI-LABEL: define internal i32 @foo()
+
+CU-LABEL:define i32 @unused() {
+CI-LABEL:define internal i32 @unused() {
+CN-LABEL-NOT:@unused()
OpenPOWER on IntegriCloud