Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lld / test / COFF / unresolved-lto-bitcode.ll
blob5ace81b19380814f5ce2229d690c659aa654f2f0
1 ; REQUIRES: x86
2 ; RUN: rm -fr %t
3 ; RUN: mkdir %t
4 ; RUN: opt -thinlto-bc -o %t/main.obj %s
5 ; RUN: opt -thinlto-bc -o %t/foo.obj %S/Inputs/lto-dep.ll
6 ; RUN: not lld-link -lldsavetemps -out:%t/main.exe -entry:main \
7 ; RUN:   -subsystem:console %t/main.obj %t/foo.obj 2>&1 | FileCheck %s
8 ; RUN: ls %t | sort | FileCheck --check-prefix=FILE %s
9 ; RUN: ls %t | count 2
11 ; Check that the undefined symbol is reported, and that only the two
12 ; object files we created are present in the directory (indicating that
13 ; LTO did not run).
14 ; CHECK: undefined symbol: bar
15 ; CHECK: referenced by {{.*}}unresolved-lto-bitcode.ll
16 ; CHECK: >>>           {{.*}}unresolved-lto-bitcode.ll.tmp/main.obj
17 ; FILE: foo.obj
18 ; FILE: main.obj
20 target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
21 target triple = "x86_64-pc-windows-msvc"
23 define i32 @main() {
24   call void @foo()
25   call void @bar()
26   ret i32 0
29 declare void @bar()
30 declare void @foo()