; RUN: llvm-link %s %S/Inputs/metadata-function.ll -S | FileCheck %s ; RUN: llvm-link %S/Inputs/metadata-function.ll %s -S | FileCheck %s ; CHECK-DAG: define weak void @foo() !weak ![[B:[0-9]+]] { define linkonce void @foo() !linkonce !0 { unreachable } ; CHECK-DAG: define void @bar() !bar ![[A:[0-9]+]] { define void @bar() !bar !0 { call void @baz() unreachable } ; CHECK-DAG: define void @baz() !baz ![[B]] { declare void @baz() ; CHECK-DAG: define void @a() !a ![[A]] { ; CHECK-DAG: define void @b() !b ![[B]] { define void @a() !a !0 { unreachable } ; CHECK-DAG: define %[[HandleType:[A-Za-z]+]] @init.Handle() { ; CHECK-DAG: declare !types ![[C:[0-9]+]] %[[HandleType]] @init.AltHandle() ; CHECK-DAG: define void @uses.AltHandle() { %Handle = type { i8* } define %Handle @init.Handle() { unreachable } ; CHECK-DAG: ![[A]] = !{!"a"} ; CHECK-DAG: ![[B]] = !{!"b"} ; CHECK-DAG: ![[C]] = !{%[[HandleType]] undef} !0 = !{!"a"}