|
6 | 6 | ; RUN: llc -filetype=obj %t.dir/main.ll -o %t.obj
|
7 | 7 | ; RUN: llc -filetype=obj %t.dir/start-lib1.ll -o %t1.obj
|
8 | 8 | ; RUN: llc -filetype=obj %t.dir/start-lib2.ll -o %t2.obj
|
| 9 | +; RUN: llc -filetype=obj %t.dir/eager.ll -o %t-eager.obj |
9 | 10 | ; RUN: opt -thinlto-bc %t.dir/main.ll -o %t.bc
|
10 | 11 | ; RUN: opt -thinlto-bc %t.dir/start-lib1.ll -o %t1.bc
|
11 | 12 | ; RUN: opt -thinlto-bc %t.dir/start-lib2.ll -o %t2.bc
|
| 13 | +; RUN: opt -thinlto-bc %t.dir/eager.ll -o %t-eager.bc |
12 | 14 | ;
|
13 | 15 | ; RUN: lld-link -out:%t1.exe -entry:main -opt:noref -lldmap:%t1.map \
|
14 |
| -; RUN: %t.obj %t1.obj %t2.obj |
| 16 | +; RUN: %t.obj %t1.obj %t2.obj %t-eager.obj |
15 | 17 | ; RUN: FileCheck --check-prefix=TEST1 %s < %t1.map
|
16 | 18 | ; RUN: lld-link -out:%t1.exe -entry:main -opt:noref -lldmap:%t1.thinlto.map \
|
17 |
| -; RUN: %t.bc %t1.bc %t2.bc |
| 19 | +; RUN: %t.bc %t1.bc %t2.bc %t-eager.bc |
18 | 20 | ; RUN: FileCheck --check-prefix=TEST1 %s < %t1.thinlto.map
|
19 | 21 | ; TEST1: foo
|
20 | 22 | ; TEST1: bar
|
21 | 23 | ;
|
22 | 24 | ; RUN: lld-link -out:%t2.exe -entry:main -opt:noref -lldmap:%t2.map \
|
23 |
| -; RUN: %t.obj -start-lib %t1.obj -end-lib %t2.obj |
| 25 | +; RUN: %t.obj -start-lib %t1.obj %t-eager.obj -end-lib %t2.obj |
24 | 26 | ; RUN: FileCheck --check-prefix=TEST2 %s < %t2.map
|
25 | 27 | ; RUN: lld-link -out:%t2.exe -entry:main -opt:noref -lldmap:%t2.thinlto.map \
|
26 |
| -; RUN: %t.bc -start-lib %t1.bc -end-lib %t2.bc |
| 28 | +; RUN: %t.bc -start-lib %t1.bc %t-eager.bc -end-lib %t2.bc |
27 | 29 | ; RUN: FileCheck --check-prefix=TEST2 %s < %t2.thinlto.map
|
28 | 30 | ; TEST2: Address Size Align Out In Symbol
|
29 | 31 | ; TEST2-NOT: {{ }}foo{{$}}
|
30 | 32 | ; TEST2: {{ }}bar{{$}}
|
31 | 33 | ; TEST2-NOT: {{ }}foo{{$}}
|
32 | 34 | ;
|
33 | 35 | ; RUN: lld-link -out:%t3.exe -entry:main -opt:noref -lldmap:%t3.map \
|
34 |
| -; RUN: %t.obj -start-lib %t1.obj %t2.obj |
| 36 | +; RUN: %t.obj -start-lib %t1.obj %t2.obj %t-eager.obj |
35 | 37 | ; RUN: FileCheck --check-prefix=TEST3 %s < %t3.map
|
36 | 38 | ; RUN: lld-link -out:%t3.exe -entry:main -opt:noref -lldmap:%t3.thinlto.map \
|
37 |
| -; RUN: %t.bc -start-lib %t1.bc %t2.bc |
| 39 | +; RUN: %t.bc -start-lib %t1.bc %t2.bc %t-eager.bc |
38 | 40 | ; RUN: FileCheck --check-prefix=TEST3 %s < %t3.thinlto.map
|
39 | 41 | ; TEST3: Address Size Align Out In Symbol
|
40 | 42 | ; TEST3-NOT: {{ }}foo{{$}}
|
|
46 | 48 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
|
47 | 49 | target triple = "x86_64-pc-windows-msvc"
|
48 | 50 |
|
| 51 | +declare void @eager() |
| 52 | + |
49 | 53 | define void @main() {
|
| 54 | + call void @eager() |
50 | 55 | ret void
|
51 | 56 | }
|
52 | 57 |
|
@@ -79,3 +84,16 @@ define i32 @bar() {
|
79 | 84 |
|
80 | 85 | !llvm.linker.options = !{!0}
|
81 | 86 | !0 = !{!"/INCLUDE:bar"}
|
| 87 | + |
| 88 | +#--- eager.ll |
| 89 | + |
| 90 | +target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" |
| 91 | +target triple = "x86_64-pc-windows-msvc" |
| 92 | + |
| 93 | +define void @eager() { |
| 94 | + ret void |
| 95 | +} |
| 96 | + |
| 97 | +define i32 @ogre() { |
| 98 | + ret i32 1 |
| 99 | +} |
0 commit comments