blob: 8d5e91fb332fa18a136b7e6c99edbb83654dbdfa [file] [log] [blame]
Bill Wendling57f8e5e2012-04-08 11:00:38 +00001; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
Duncan P. N. Exon Smithc8eccd12014-08-19 21:08:27 +00002; RUN: verify-uselistorder %s
Bill Wendling57f8e5e2012-04-08 11:00:38 +00003
Filipe Cabecinhas436923c2015-06-02 21:25:03 +00004; CHECK-LABEL: @test
Bill Wendling57f8e5e2012-04-08 11:00:38 +00005; CHECK: ret void, !bar !1, !foo !0
Chris Lattner93163c42009-12-29 21:17:33 +00006define void @test() {
Chris Lattner596760d2009-12-29 21:25:40 +00007 add i32 2, 1, !bar !0
8 add i32 1, 2, !foo !1
Chris Lattner0f3bb7b2009-12-30 04:13:37 +00009 call void @llvm.dbg.func.start(metadata !"foo")
Chris Lattner28f1eeb2009-12-30 05:14:00 +000010 extractvalue {{i32, i32}, i32} undef, 0, 1, !foo !0
Chris Lattner596760d2009-12-29 21:25:40 +000011 ret void, !foo !0, !bar !1
Chris Lattner93163c42009-12-29 21:17:33 +000012}
13
Filipe Cabecinhas436923c2015-06-02 21:25:03 +000014; CHECK-LABEL: define void @test2() !foo !2 !baz !3
Duncan P. N. Exon Smith3d4cd752015-04-24 22:04:41 +000015define void @test2() !foo !2 !baz !3 {
16 unreachable
17}
18
Filipe Cabecinhas436923c2015-06-02 21:25:03 +000019; CHECK-LABEL: define void @test3() !bar !3
Duncan P. N. Exon Smith3d4cd752015-04-24 22:04:41 +000020; CHECK: unreachable, !bar !4
21define void @test3() !bar !3 {
22 unreachable, !bar !4
23}
24
Duncan P. N. Exon Smitha9308c42015-04-29 16:38:44 +000025!0 = !DILocation(line: 662302, column: 26, scope: !1)
26!1 = !DISubprogram(name: "foo")
Duncan P. N. Exon Smith3d4cd752015-04-24 22:04:41 +000027!2 = distinct !{}
28!3 = distinct !{}
29!4 = distinct !{}
Chris Lattner0f3bb7b2009-12-30 04:13:37 +000030
31declare void @llvm.dbg.func.start(metadata) nounwind readnone
32
Chris Lattnercac432c2009-12-31 03:00:49 +000033!foo = !{ !0 }
34!bar = !{ !1 }