summaryrefslogtreecommitdiff
path: root/test/ELF/lto/defsym.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/ELF/lto/defsym.ll')
-rw-r--r--test/ELF/lto/defsym.ll46
1 files changed, 0 insertions, 46 deletions
diff --git a/test/ELF/lto/defsym.ll b/test/ELF/lto/defsym.ll
deleted file mode 100644
index 671f589da18df..0000000000000
--- a/test/ELF/lto/defsym.ll
+++ /dev/null
@@ -1,46 +0,0 @@
-; REQUIRES: x86
-; LTO
-; RUN: llvm-as %s -o %t.o
-; RUN: llvm-as %S/Inputs/defsym-bar.ll -o %t1.o
-; RUN: ld.lld %t.o %t1.o -shared -o %t.so -defsym=bar2=bar3 -save-temps
-; RUN: llvm-readelf --symbols %t.so.lto.o | FileCheck --check-prefix=OBJ %s
-; RUN: llvm-objdump -d %t.so | FileCheck %s
-
-; ThinLTO
-; RUN: opt -module-summary %s -o %t.o
-; RUN: opt -module-summary %S/Inputs/defsym-bar.ll -o %t1.o
-; RUN: ld.lld %t.o %t1.o -shared -o %t2.so -defsym=bar2=bar3 -save-temps
-; RUN: llvm-readelf --symbols %t2.so1.lto.o | FileCheck --check-prefix=OBJ %s
-; RUN: llvm-objdump -d %t2.so | FileCheck %s --check-prefix=THIN
-
-; OBJ: UND bar2
-
-; Call to bar2() should not be inlined and should be routed to bar3()
-; Symbol bar3 should not be eliminated
-
-; CHECK: foo:
-; CHECK-NEXT: pushq %rax
-; CHECK-NEXT: callq
-; CHECK-NEXT: callq{{.*}}<bar3>
-; CHECK-NEXT: callq
-
-; THIN: foo
-; THIN-NEXT: pushq %rax
-; THIN-NEXT: callq
-; THIN-NEXT: callq{{.*}}<bar3>
-; THIN-NEXT: popq %rax
-; THIN-NEXT: jmp
-
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-target triple = "x86_64-unknown-linux-gnu"
-
-declare void @bar1()
-declare void @bar2()
-declare void @bar3()
-
-define void @foo() {
- call void @bar1()
- call void @bar2()
- call void @bar3()
- ret void
-}