blob: de26dd4b593ef7499163059ef73ed0a47ce5d1ec [file] [log] [blame]
Duncan P. N. Exon Smith538ef562015-05-06 22:51:12 +00001; RUN: llvm-as < %s | llvm-bcanalyzer -dump | FileCheck %s -check-prefix=BC
2; PR23436: Actually emit DEBUG_LOC_AGAIN records.
3
4; BC: <DEBUG_LOC op
5; BC: <DEBUG_LOC_AGAIN/>
6; BC: <DEBUG_LOC op
7; BC: <DEBUG_LOC_AGAIN/>
8
9; RUN: llvm-as < %s | llvm-dis | FileCheck %s
10; RUN: verify-uselistorder %s
11; Check that this round-trips correctly.
12
13define void @foo() {
14entry:
15 %a = add i32 0, 0, !dbg !3
16 %b = add i32 0, 1, !dbg !3
17 %c = add i32 0, 2, !dbg !4
18 ret void, !dbg !4
19}
20
21; CHECK-LABEL: entry:
22; CHECK-NEXT: %a = add i32 0, 0, !dbg ![[LINE1:[0-9]+]]
23; CHECK-NEXT: %b = add i32 0, 1, !dbg ![[LINE1]]
24; CHECK-NEXT: %c = add i32 0, 2, !dbg ![[LINE2:[0-9]+]]
25; CHECK-NEXT: ret void, !dbg ![[LINE2]]
26; CHECK: ![[LINE1]] = !DILocation(line: 1,
27; CHECK: ![[LINE2]] = !DILocation(line: 2,
28
29!llvm.module.flags = !{!0}
Davide Italiano936a2b02016-03-31 03:40:07 +000030!llvm.dbg.cu = !{!1}
Duncan P. N. Exon Smith538ef562015-05-06 22:51:12 +000031
32!0 = !{i32 2, !"Debug Info Version", i32 3}
Duncan P. N. Exon Smith55ca9642015-08-03 17:26:41 +000033!1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !DIFile(filename: "f", directory: "/d"),
34 subprograms: !{!2})
Duncan P. N. Exon Smith814b8e92015-08-28 20:26:49 +000035!2 = distinct !DISubprogram(name: "foo")
Duncan P. N. Exon Smith538ef562015-05-06 22:51:12 +000036!3 = !DILocation(line: 1, scope: !2)
37!4 = !DILocation(line: 2, scope: !2)