1*c8d987b1SDuncan P. N. Exon Smith; RUN: llvm-link %s %S/Inputs/metadata-function.ll -S | FileCheck %s
2*c8d987b1SDuncan P. N. Exon Smith; RUN: llvm-link %S/Inputs/metadata-function.ll %s -S | FileCheck %s
3*c8d987b1SDuncan P. N. Exon Smith
4*c8d987b1SDuncan P. N. Exon Smith; CHECK-DAG: define weak void @foo() !weak ![[B:[0-9]+]] {
5*c8d987b1SDuncan P. N. Exon Smithdefine linkonce void @foo() !linkonce !0 {
6*c8d987b1SDuncan P. N. Exon Smith  unreachable
7*c8d987b1SDuncan P. N. Exon Smith}
8*c8d987b1SDuncan P. N. Exon Smith
9*c8d987b1SDuncan P. N. Exon Smith; CHECK-DAG: define void @bar() !bar ![[A:[0-9]+]] {
10*c8d987b1SDuncan P. N. Exon Smithdefine void @bar() !bar !0 {
11*c8d987b1SDuncan P. N. Exon Smith  call void @baz()
12*c8d987b1SDuncan P. N. Exon Smith  unreachable
13*c8d987b1SDuncan P. N. Exon Smith}
14*c8d987b1SDuncan P. N. Exon Smith
15*c8d987b1SDuncan P. N. Exon Smith; CHECK-DAG: define void @baz() !baz ![[B]] {
16*c8d987b1SDuncan P. N. Exon Smithdeclare void @baz()
17*c8d987b1SDuncan P. N. Exon Smith
18*c8d987b1SDuncan P. N. Exon Smith; CHECK-DAG: define void @a() !a ![[A]] {
19*c8d987b1SDuncan P. N. Exon Smith; CHECK-DAG: define void @b() !b ![[B]] {
20*c8d987b1SDuncan P. N. Exon Smithdefine void @a() !a !0 {
21*c8d987b1SDuncan P. N. Exon Smith  unreachable
22*c8d987b1SDuncan P. N. Exon Smith}
23*c8d987b1SDuncan P. N. Exon Smith
24*c8d987b1SDuncan P. N. Exon Smith; CHECK-DAG: ![[A]] = !{!"a"}
25*c8d987b1SDuncan P. N. Exon Smith; CHECK-DAG: ![[B]] = !{!"b"}
26*c8d987b1SDuncan P. N. Exon Smith!0 = !{!"a"}
27