llvm/llvm/test/CodeGen/ARM/GlobalISel/select-dbg.mir

# RUN: llc -O0 -mtriple arm-- -mattr=+vfp2 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefixes=CHECK
# RUN: llc -O0 -mtriple thumb-- -mattr=+v6t2,+vfp2 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefixes=CHECK
--- |
  define void @test_dbg_value() #0 { ret void }

  !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "llvm", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
  !1 = !DIFile(filename: "dbg.ll", directory: "/tmp")
  !2 = !{}
  !5 = distinct !DISubprogram(name: "test_dbg_value", scope: !1, file: !1, line: 1, type: !6, isLocal: false, isDefinition: true, scopeLine: 1, flags: DIFlagPrototyped, isOptimized: false, unit: !0, retainedNodes: !2)
  !6 = !DISubroutineType(types: !2)
  !7 = !DILocalVariable(name: "x", arg: 1, scope: !5, file: !1, line: 1, type: !8)
  !8 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
  !9 = !DILocation(line: 1, column: 1, scope: !5)
...
---
name:            test_dbg_value
# CHECK-LABEL: name: test_dbg_value
legalized:       true
regBankSelected: true
selected:        false
# CHECK: selected: true
registers:
  - { id: 0, class: gprb }
  - { id: 1, class: fprb }
  - { id: 2, class: gprb }
  - { id: 3, class: fprb }
body:             |
  bb.0:
    liveins: $r0, $s1

    %0(s32) = COPY $r0
    %1(s32) = COPY $s1

    %2(s32) = G_ADD %0, %0

    ; DBG_VALUE {{%[0-9]+}}:gpr, $noreg, !7, !DIExpression(), debug-location !9
    DBG_VALUE %2(s32), $noreg, !7, !DIExpression(), debug-location !9

    %3(s32) = G_FADD %1, %1

    ; DBG_VALUE {{%[0-9]+}}:spr, $noreg, !7, !DIExpression(), debug-location !9
    DBG_VALUE %3(s32), $noreg, !7, !DIExpression(), debug-location !9

    ; DBG_VALUE i32 42, 0, !7, !DIExpression(), debug-location !9
    DBG_VALUE i32 42, 0, !7, !DIExpression(), debug-location !9

    ; DBG_VALUE float 1.000000e+00, 0, !7, !DIExpression(), debug-location !9
    DBG_VALUE float 1.000000e+00, 0, !7, !DIExpression(), debug-location !9

    ; DBG_VALUE $noreg, 0, !7, !DIExpression(), debug-location !9
    DBG_VALUE $noreg, 0, !7, !DIExpression(), debug-location !9

    $r0 = COPY %2(s32)
    $s1 = COPY %3(s32)
    BX_RET 14, $noreg, implicit $r0, implicit $s1

...