; 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"}