diff options
Diffstat (limited to 'test/ELF/lto/defsym.ll')
-rw-r--r-- | test/ELF/lto/defsym.ll | 46 |
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 -} |