# 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 !4 {
    %add = add i32 %a, 2, !dbg !10
    call void @llvm.dbg.value(metadata i32 %add, metadata !7, metadata !DIExpression()), !dbg !10
    %sub = sub i32 %add, %b, !dbg !11
    call void @llvm.dbg.value(metadata i32 %sub, metadata !9, metadata !DIExpression()), !dbg !11
    ret i32 %sub, !dbg !12
  }
  ; CHECK-LABEL: define i32 @test(i32 %a, i32 %b) {{(addrspace\([0-9]+\) )?}}!dbg !4 {
  ; CHECK-NEXT:    %add = add i32 %a, 2, !dbg !10
  ; CHECK-NEXT:    call{{( addrspace\([0-9]+\))?}} void @llvm.dbg.value(metadata i32 %add, metadata !7, metadata !DIExpression()), !dbg !10
  ; CHECK-NEXT:    %sub = sub i32 %add, %b, !dbg !11
  ; CHECK-NEXT:    call{{( addrspace\([0-9]+\))?}} void @llvm.dbg.value(metadata i32 %sub, metadata !9, metadata !DIExpression()), !dbg !11
  ; CHECK-NEXT:    ret i32 %sub, !dbg !12
  ; 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: !llvm.dbg.cu = !{!0}
  !llvm.module.flags = !{!3}
  ; CHECK: !llvm.module.flags = !{!3}
  
  !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 2, !"Debug Info Version", i32 3}
  !4 = distinct !DISubprogram(name: "test", linkageName: "test", scope: null, file: !1, line: 1, type: !5, scopeLine: 1, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !6)
  !5 = !DISubroutineType(types: !2)
  !6 = !{!7, !9}
  !7 = !DILocalVariable(name: "1", scope: !4, file: !1, line: 1, type: !8)
  !8 = !DIBasicType(name: "ty32", size: 32, encoding: DW_ATE_unsigned)
  !9 = !DILocalVariable(name: "2", scope: !4, file: !1, line: 2, type: !8)
  !10 = !DILocation(line: 1, column: 1, scope: !4)
  !11 = !DILocation(line: 2, column: 1, scope: !4)
  !12 = !DILocation(line: 3, column: 1, scope: !4)

  ; CHECK: !0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: "debugify", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
  ; CHECK: !1 = !DIFile(filename: "<stdin>", directory: "/")
  ; CHECK: !2 = !{}
  ; CHECK: !3 = !{i32 2, !"Debug Info Version", i32 3}
  ; CHECK: !4 = distinct !DISubprogram(name: "test", linkageName: "test", scope: null, file: !1, line: 1, type: !5, scopeLine: 1, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !6)
  ; CHECK: !5 = !DISubroutineType(types: !2)
  ; CHECK: !6 = !{!7, !9}
  ; CHECK: !7 = !DILocalVariable(name: "1", scope: !4, file: !1, line: 1, type: !8)
  ; CHECK: !8 = !DIBasicType(name: "ty32", size: 32, encoding: DW_ATE_unsigned)
  ; CHECK: !9 = !DILocalVariable(name: "2", scope: !4, file: !1, line: 2, type: !8)
  ; CHECK: !10 = !DILocation(line: 1, column: 1, scope: !4)
  ; CHECK: !11 = !DILocation(line: 2, column: 1, scope: !4)
  ; CHECK: !12 = !DILocation(line: 3, column: 1, scope: !4)

...
---
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: !4)
    %3:_(s32) = G_ADD %0, %2, debug-location !10
    DBG_VALUE %3(s32), $noreg, !7, !DIExpression(), debug-location !10
    %4:_(s32) = G_SUB %3, %1, debug-location !11
    DBG_VALUE %4(s32), $noreg, !9, !DIExpression(), debug-location !11

    ; 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, debug-location !DILocation(line: 0, scope: !4)
    ; CHECK-NEXT:      %3:_(s32) = G_ADD %0, %2, debug-location !10
    ; CHECK-NEXT:      DBG_VALUE %3(s32), $noreg, !7, !DIExpression(), debug-location !10
    ; CHECK-NEXT:      %4:_(s32) = G_SUB %3, %1, debug-location !11
    ; CHECK-NEXT:      DBG_VALUE %4(s32), $noreg, !9, !DIExpression(), debug-location !11
...
