IR: Add assembly/bitcode support for function metadata attachments
[oota-llvm.git] / test / Assembler / metadata.ll
1 ; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
2 ; RUN: verify-uselistorder %s
3
4 ; CHECK: @test
5 ; CHECK: ret void, !bar !1, !foo !0
6 define void @test() {
7   add i32 2, 1, !bar !0
8   add i32 1, 2, !foo !1
9   call void @llvm.dbg.func.start(metadata !"foo")
10   extractvalue {{i32, i32}, i32} undef, 0, 1, !foo !0
11   ret void, !foo !0, !bar !1
12 }
13
14 ; CHECK: define void @test2() !foo !2 !baz !3
15 define void @test2() !foo !2 !baz !3 {
16   unreachable
17 }
18
19 ; CHECK: define void @test3() !bar !3
20 ; CHECK: unreachable, !bar !4
21 define void @test3() !bar !3 {
22   unreachable, !bar !4
23 }
24
25 !0 = !MDLocation(line: 662302, column: 26, scope: !1)
26 !1 = !MDSubprogram(name: "foo")
27 !2 = distinct !{}
28 !3 = distinct !{}
29 !4 = distinct !{}
30
31 declare void @llvm.dbg.func.start(metadata) nounwind readnone
32
33 !foo = !{ !0 }
34 !bar = !{ !1 }