Restore "Move metadata linking after lazy global materialization/linking."
[oota-llvm.git] / test / Linker / metadata-function.ll
1 ; RUN: llvm-link %s %S/Inputs/metadata-function.ll -S | FileCheck %s
2 ; RUN: llvm-link %S/Inputs/metadata-function.ll %s -S | FileCheck %s
3
4 ; CHECK-DAG: define weak void @foo() !weak ![[B:[0-9]+]] {
5 define linkonce void @foo() !linkonce !0 {
6   unreachable
7 }
8
9 ; CHECK-DAG: define void @bar() !bar ![[A:[0-9]+]] {
10 define void @bar() !bar !0 {
11   call void @baz()
12   unreachable
13 }
14
15 ; CHECK-DAG: define void @baz() !baz ![[B]] {
16 declare void @baz()
17
18 ; CHECK-DAG: define void @a() !a ![[A]] {
19 ; CHECK-DAG: define void @b() !b ![[B]] {
20 define void @a() !a !0 {
21   unreachable
22 }
23
24 ; CHECK-DAG: ![[A]] = !{!"a"}
25 ; CHECK-DAG: ![[B]] = !{!"b"}
26 !0 = !{!"a"}