xref: /llvm-project/llvm/test/Linker/metadata-function.ll (revision 2aaaed3527de891062e9503d09d42075049e05fa)
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]+]] {
5define linkonce void @foo() !linkonce !0 {
6  unreachable
7}
8
9; CHECK-DAG: define void @bar() !bar ![[A:[0-9]+]] {
10define void @bar() !bar !0 {
11  call void @baz()
12  unreachable
13}
14
15; CHECK-DAG: define void @baz() !baz ![[B]] {
16declare void @baz()
17
18; CHECK-DAG: define void @a() !a ![[A]] {
19; CHECK-DAG: define void @b() !b ![[B]] {
20define void @a() !a !0 {
21  unreachable
22}
23
24; CHECK-DAG: define %[[HandleType:[A-Za-z]+]] @init.Handle() {
25; CHECK-DAG: declare !types ![[C:[0-9]+]] %[[HandleType]] @init.AltHandle()
26; CHECK-DAG: define void @uses.AltHandle() {
27%Handle = type { i8* }
28define %Handle @init.Handle() {
29  unreachable
30}
31
32; CHECK-DAG: ![[A]] = !{!"a"}
33; CHECK-DAG: ![[B]] = !{!"b"}
34; CHECK-DAG: ![[C]] = !{%[[HandleType]] undef}
35!0 = !{!"a"}
36