[memprof] Remove an unused using directive (#117004)
[llvm-project.git] / lld / test / COFF / lto-late-arm.ll
blob0e2f148ef74c6c892d4f96eff6fee0759db9f4b7
1 ; REQUIRES: arm
3 ;; A bitcode file can generate undefined references to symbols that weren't
4 ;; listed as undefined on the bitcode file itself, when lowering produces
5 ;; calls to e.g. builtin helper functions. If these functions are provided
6 ;; as LTO bitcode, the linker would hit an unhandled state. (In practice,
7 ;; compiler-rt builtins are always compiled with -fno-lto, so this shouldn't
8 ;; happen.)
10 ; RUN: rm -rf %t.dir
11 ; RUN: split-file %s %t.dir
12 ; RUN: llvm-as %t.dir/main.ll -o %t.main.obj
13 ; RUN: llvm-as %t.dir/sdiv.ll -o %t.sdiv.obj
14 ; RUN: llvm-ar rcs %t.sdiv.lib %t.sdiv.obj
16 ; RUN: env LLD_IN_TEST=1 not lld-link /entry:entry %t.main.obj %t.sdiv.lib /out:%t.exe /subsystem:console 2>&1 | FileCheck %s
18 ; CHECK: error: LTO object file lto-late-arm.ll.tmp.sdiv.lib(lto-late-arm.ll.tmp.sdiv.obj) linked in after doing LTO compilation.
20 ;--- main.ll
21 target datalayout = "e-m:w-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
22 target triple = "thumbv7-w64-windows-gnu"
24 @num = dso_local global i32 100
26 define dso_local arm_aapcs_vfpcc i32 @entry(i32 %param) {
27 entry:
28   %0 = load i32, ptr @num
29   %div = sdiv i32 %0, %param
30   ret i32 %div
32 ;--- sdiv.ll
33 target datalayout = "e-m:w-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
34 target triple = "thumbv7-w64-windows-gnu"
36 define dso_local arm_aapcs_vfpcc void @__rt_sdiv() {
37 entry:
38   ret void