1; RUN: llvm-as < %s | llvm-dis | grep " !dbg " | count 4
2define i32 @foo() nounwind ssp {
3entry:
4  %retval = alloca i32                            ; <i32*> [#uses=2]
5  call void @llvm.dbg.func.start(metadata !0)
6  store i32 42, i32* %retval, !dbg !3
7  br label %0, !dbg !3
8
9; <label>:0                                       ; preds = %entry
10  call void @llvm.dbg.region.end(metadata !0)
11  %1 = load i32* %retval, !dbg !3                  ; <i32> [#uses=1]
12  ret i32 %1, !dbg !3
13}
14
15declare void @llvm.dbg.func.start(metadata) nounwind readnone
16
17declare void @llvm.dbg.region.end(metadata) nounwind readnone
18
19!llvm.module.flags = !{!6}
20
21!0 = !{!"0x2e\00foo\00foo\00foo\001\000\001\000\006\000\000\000", i32 0, !1, !2, null, null, null, null} ; [ DW_TAG_subprogram ]
22!1 = !{!"0x11\0012\00clang 1.0\001\00\000\00\000", !4, !5, !5, !4, null, null} ; [ DW_TAG_compile_unit ]
23!2 = !{!"0x24\00int\000\0032\0032\000\000\005", null, !1} ; [ DW_TAG_base_type ]
24!3 = !MDLocation(line: 1, column: 13, scope: !1, inlinedAt: !1)
25!4 = !{!"foo.c", !"/tmp"}
26!5 = !{i32 0}
27!6 = !{i32 1, !"Debug Info Version", i32 2}
28