debug-loc-again.ll 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. ; RUN: llvm-as < %s | llvm-bcanalyzer -dump | FileCheck %s -check-prefix=BC
  2. ; PR23436: Actually emit DEBUG_LOC_AGAIN records.
  3. ; BC: <DEBUG_LOC op
  4. ; BC: <DEBUG_LOC_AGAIN/>
  5. ; BC: <DEBUG_LOC op
  6. ; BC: <DEBUG_LOC_AGAIN/>
  7. ; RUN: llvm-as < %s | llvm-dis | FileCheck %s
  8. ; RUN: verify-uselistorder %s
  9. ; Check that this round-trips correctly.
  10. define void @foo() {
  11. entry:
  12. %a = add i32 0, 0, !dbg !3
  13. %b = add i32 0, 1, !dbg !3
  14. %c = add i32 0, 2, !dbg !4
  15. ret void, !dbg !4
  16. }
  17. ; CHECK-LABEL: entry:
  18. ; CHECK-NEXT: %a = add i32 0, 0, !dbg ![[LINE1:[0-9]+]]
  19. ; CHECK-NEXT: %b = add i32 0, 1, !dbg ![[LINE1]]
  20. ; CHECK-NEXT: %c = add i32 0, 2, !dbg ![[LINE2:[0-9]+]]
  21. ; CHECK-NEXT: ret void, !dbg ![[LINE2]]
  22. ; CHECK: ![[LINE1]] = !DILocation(line: 1,
  23. ; CHECK: ![[LINE2]] = !DILocation(line: 2,
  24. !llvm.module.flags = !{!0}
  25. !0 = !{i32 2, !"Debug Info Version", i32 3}
  26. !1 = !DICompileUnit(language: DW_LANG_C99, file: !DIFile(filename: "f", directory: "/d"),
  27. subprograms: !{!2})
  28. !2 = !DISubprogram(name: "foo")
  29. !3 = !DILocation(line: 1, scope: !2)
  30. !4 = !DILocation(line: 2, scope: !2)