diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/Linker/Inputs/linkage.c.ll | 4 | ||||
| -rw-r--r-- | llvm/test/Linker/link-flags.ll | 21 |
2 files changed, 25 insertions, 0 deletions
diff --git a/llvm/test/Linker/Inputs/linkage.c.ll b/llvm/test/Linker/Inputs/linkage.c.ll new file mode 100644 index 00000000000..6aedf5ab111 --- /dev/null +++ b/llvm/test/Linker/Inputs/linkage.c.ll @@ -0,0 +1,4 @@ +@X = global i32 5 +@U = global i32 6 +define i32 @foo() { ret i32 7 } +define i32 @unused() { ret i32 8 } 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() |

