# RUN: llc -run-pass=mir-strip-debug -o - %s | FileCheck %s
# RUN: llc -run-pass=mir-strip-debug,mir-debugify,mir-strip-debug -o - %s | FileCheck %s
--- |
  ; ModuleID = 'loc-only.ll'
  source_filename = "loc-only.ll"
  
  define i32 @test(i32 %a, i32 %b) !dbg !6 {
    %add = add i32 %a, 2, !dbg !12
    call void @llvm.dbg.value(metadata i32 %add, metadata !9, metadata !DIExpression()), !dbg !12
    %sub = sub i32 %add, %b, !dbg !13
    call void @llvm.dbg.value(metadata i32 %sub, metadata !11, metadata !DIExpression()), !dbg !13
    ret i32 %sub, !dbg !14
  }
  ; CHECK-LABEL: define i32 @test(i32 %a, i32 %b) {{(addrspace\([0-9]+\) )?}}{
  ; CHECK-NEXT:    %add = add i32 %a, 2
  ; CHECK-NEXT:    %sub = sub i32 %add, %b
  ; CHECK-NEXT:    ret i32 %sub
  ; CHECK-NEXT:  }
  
  ; Function Attrs: nounwind readnone speculatable willreturn
  declare void @llvm.dbg.value(metadata, metadata, metadata) #0
  
  ; Function Attrs: nounwind
  declare void @llvm.stackprotector(i8*, i8**) #1
  
  attributes #0 = { nounwind readnone speculatable willreturn }
  attributes #1 = { nounwind }
  
  !llvm.dbg.cu = !{!0}
  ; CHECK-NOT: !llvm.dbg.cu
  !llvm.debugify = !{!3, !4}
  ; CHECK-NOT: !llvm.debugify
  !llvm.module.flags = !{!5}
  ; CHECK-NOT: !llvm.module.flags
  
  ; CHECK-NOT: !DI
  !0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: "debugify", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
  !1 = !DIFile(filename: "<stdin>", directory: "/")
  !2 = !{}
  !3 = !{i32 3}
  !4 = !{i32 2}
  !5 = !{i32 2, !"Debug Info Version", i32 3}
  !6 = distinct !DISubprogram(name: "test", linkageName: "test", scope: null, file: !1, line: 1, type: !7, scopeLine: 1, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !8)
  !7 = !DISubroutineType(types: !2)
  !8 = !{!9, !11}
  !9 = !DILocalVariable(name: "1", scope: !6, file: !1, line: 1, type: !10)
  !10 = !DIBasicType(name: "ty32", size: 32, encoding: DW_ATE_unsigned)
  !11 = !DILocalVariable(name: "2", scope: !6, file: !1, line: 2, type: !10)
  !12 = !DILocation(line: 1, column: 1, scope: !6)
  !13 = !DILocation(line: 2, column: 1, scope: !6)
  !14 = !DILocation(line: 3, column: 1, scope: !6)

...
---
name:            test
body:             |
  bb.1 (%ir-block.0):
    %0:_(s32) = G_IMPLICIT_DEF
    %1:_(s32) = G_IMPLICIT_DEF
    %2:_(s32) = G_CONSTANT i32 2, debug-location !DILocation(line: 0, scope: !6)
    %3:_(s32) = G_ADD %0, %2, debug-location !12
    DBG_VALUE %3(s32), $noreg, !9, !DIExpression(), debug-location !12
    %4:_(s32) = G_SUB %3, %1, debug-location !13
    DBG_VALUE %4(s32), $noreg, !11, !DIExpression(), debug-location !13

    ; CHECK-LABEL: body:
    ; CHECK-NEXT:    bb
    ; CHECK-NEXT:      %0:_(s32) = G_IMPLICIT_DEF{{$}}
    ; CHECK-NEXT:      %1:_(s32) = G_IMPLICIT_DEF{{$}}
    ; CHECK-NEXT:      %2:_(s32) = G_CONSTANT i32 2{{$}}
    ; CHECK-NEXT:      %3:_(s32) = G_ADD %0, %2{{$}}
    ; CHECK-NEXT:      %4:_(s32) = G_SUB %3, %1{{$}}
...
