xref: /aosp_15_r20/external/llvm/test/Bitcode/debug-loc-again.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-bcanalyzer -dump | FileCheck %s -check-prefix=BC
2*9880d681SAndroid Build Coastguard Worker; PR23436: Actually emit DEBUG_LOC_AGAIN records.
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; BC: <DEBUG_LOC op
5*9880d681SAndroid Build Coastguard Worker; BC: <DEBUG_LOC_AGAIN/>
6*9880d681SAndroid Build Coastguard Worker; BC: <DEBUG_LOC op
7*9880d681SAndroid Build Coastguard Worker; BC: <DEBUG_LOC_AGAIN/>
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-dis | FileCheck %s
10*9880d681SAndroid Build Coastguard Worker; RUN: verify-uselistorder %s
11*9880d681SAndroid Build Coastguard Worker; Check that this round-trips correctly.
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workerdefine void @foo() {
14*9880d681SAndroid Build Coastguard Workerentry:
15*9880d681SAndroid Build Coastguard Worker  %a = add i32 0, 0, !dbg !3
16*9880d681SAndroid Build Coastguard Worker  %b = add i32 0, 1, !dbg !3
17*9880d681SAndroid Build Coastguard Worker  %c = add i32 0, 2, !dbg !4
18*9880d681SAndroid Build Coastguard Worker  ret void, !dbg !4
19*9880d681SAndroid Build Coastguard Worker}
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: entry:
22*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: %a = add i32 0, 0, !dbg ![[LINE1:[0-9]+]]
23*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: %b = add i32 0, 1, !dbg ![[LINE1]]
24*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: %c = add i32 0, 2, !dbg ![[LINE2:[0-9]+]]
25*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ret void, !dbg ![[LINE2]]
26*9880d681SAndroid Build Coastguard Worker; CHECK: ![[LINE1]] = !DILocation(line: 1,
27*9880d681SAndroid Build Coastguard Worker; CHECK: ![[LINE2]] = !DILocation(line: 2,
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Worker!llvm.module.flags = !{!0}
30*9880d681SAndroid Build Coastguard Worker!llvm.dbg.cu = !{!1}
31*9880d681SAndroid Build Coastguard Worker
32*9880d681SAndroid Build Coastguard Worker!0 = !{i32 2, !"Debug Info Version", i32 3}
33*9880d681SAndroid Build Coastguard Worker!1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !DIFile(filename: "f", directory: "/d"))
34*9880d681SAndroid Build Coastguard Worker!2 = distinct !DISubprogram(name: "foo", unit: !1)
35*9880d681SAndroid Build Coastguard Worker!3 = !DILocation(line: 1, scope: !2)
36*9880d681SAndroid Build Coastguard Worker!4 = !DILocation(line: 2, scope: !2)
37