# RUN: llc -start-after=phi-node-elimination -stop-after=virtregrewriter %s -mtriple=x86_64-unknown-unknown -o - -experimental-debug-variable-locations | FileCheck %s
# RUN: llc -O0 -start-after=phi-node-elimination -stop-after=regallocfast %s -mtriple=x86_64-unknown-unknown -o - -experimental-debug-variable-locations | FileCheck %s --check-prefix=FASTREG
#
# Test that DBG_INSTR_REFs can pass through livedebugvariables to the end of
# regalloc without problem. Program body copied from
# livedebugvars-crossbb-interval.mir.
#
# CHECK-LABEL: bb.0:
# CHECK:       DBG_INSTR_REF 1, 0
# CHECK-NEXT:  JMP_1
# CHECK-LABEL: bb.1:
# CHECK:       DBG_INSTR_REF 2, 0
# CHECK-NEXT:  JMP_1
# CHECK-LABEL: bb.2:
# CHECK:       DBG_INSTR_REF 3, 0
# CHECK-NEXT:  CALL64pcrel32
# CHECK-LABEL: bb.3:
# CHECK:       DBG_INSTR_REF 4, 0
# CHECK-NEXT:  JMP_1
#
#
# The fast register allocator puts some spills in -- these are no-ops as far
# as the slot indexes are concerned. It doesn't matter which side of spills
# the DBG_INSTR_REF lands on.
#
# FASTREG-LABEL: bb.0:
# FASTREG-DAG:   DBG_INSTR_REF 1, 0
# FASTREG-DAG:   MOV64mr
# FASTREG-DAG:   MOV32mr
# FASTREG-NEXT:  JMP_1
# FASTREG-LABEL: bb.1:
# FASTREG:       DBG_INSTR_REF 2, 0
# FASTREG-NEXT:  JMP_1
# FASTREG-LABEL: bb.2:
# FASTREG:       DBG_INSTR_REF 3, 0
# FASTREG-NEXT:  CALL64pcrel32
# FASTREG-LABEL: bb.3:
# FASTREG-DAG:   MOV32rm
# FASTREG-DAG:   DBG_INSTR_REF 4, 0
# FASTREG-DAG:   MOV32mr
# FASTREG-NEXT:  JMP_1
# FASTREG-LABEL: bb.4:
# FASTREG:       DBG_INSTR_REF 5, 0
# FASTREG-NEXT:  RETQ

--- |
  ; ModuleID = 'tmp.ll'
  source_filename = "tmp.ll"
  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"

  %struct.a = type { i32 }

  ; Function Attrs: nounwind ssp
  define i32 @bar() !dbg !4 {
    ret i32 0, !dbg !18
  }

  declare i32 @foo();

  ; Function Attrs: nounwind readnone speculatable willreturn
  declare void @llvm.dbg.value(metadata, metadata, metadata)

  !llvm.dbg.cu = !{!0}
  !llvm.module.flags = !{!3}
  
  !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "asdf", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !2)
  !1 = !DIFile(filename: "bar.c", directory: "asdf")
  !2 = !{}
  !3 = !{i32 1, !"Debug Info Version", i32 3}
  !4 = distinct !DISubprogram(name: "bar", scope: !1, file: !1, line: 5, type: !5, virtualIndex: 6, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !8)
  !5 = !DISubroutineType(types: !6)
  !6 = !{!7}
  !7 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
  !8 = !{!9, !14}
  !9 = !DILocalVariable(name: "b", arg: 1, scope: !4, file: !1, line: 5, type: !10)
  !10 = !DIDerivedType(tag: DW_TAG_pointer_type, scope: !0, baseType: !11, size: 64, align: 64)
  !11 = !DICompositeType(tag: DW_TAG_structure_type, name: "a", scope: !0, file: !1, line: 1, size: 32, align: 32, elements: !12)
  !12 = !{!13}
  !13 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !1, file: !1, line: 2, baseType: !7, size: 32, align: 32)
  !14 = !DILocalVariable(name: "x", scope: !15, file: !1, line: 6, type: !7)
  !15 = distinct !DILexicalBlock(scope: !4, file: !1, line: 5, column: 22)
  !16 = !DILocation(line: 5, column: 19, scope: !4)
  !17 = !DILocation(line: 6, column: 14, scope: !15)
  !18 = !DILocation(line: 8, column: 2, scope: !15)
  !19 = !DILocation(line: 7, column: 2, scope: !15)

...
---
name:            bar
alignment:       16
tracksRegLiveness: true
registers:
  - { id: 0, class: gr64 }
  - { id: 1, class: gr32 }
  - { id: 2, class: gr64 }
  - { id: 3, class: gr64 }
  - { id: 4, class: gr32 }
  - { id: 5, class: gr32 }
  - { id: 6, class: gr32 }
  - { id: 7, class: gr32 }
liveins:
  - { reg: '$rdi', virtual-reg: '%2' }
  - { reg: '$esi', virtual-reg: '%4' }
frameInfo:
  hasCalls:        true
machineFunctionInfo: {}
body:             |
  bb.0:
    liveins: $rdi, $esi

    %4:gr32 = COPY $esi
    %2:gr64 = COPY $rdi
    %3:gr64 = COPY killed %2
    %5:gr32 = COPY killed %4
    DBG_INSTR_REF 1, 0, !9, !DIExpression(), debug-location !16
    JMP_1 %bb.3

  bb.1:
    DBG_INSTR_REF 2, 0, !9, !DIExpression(), debug-location !16
    JMP_1 %bb.4

  bb.2:
    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def $rsp, implicit-def $eflags, implicit-def $ssp, implicit $rsp, implicit $ssp, debug-location !19
    $edi = COPY %6, debug-location !19
    $al = MOV8ri 0, debug-location !19
    DBG_INSTR_REF 3, 0, !9, !DIExpression(), debug-location !16
    CALL64pcrel32 @foo, csr_64, implicit $rsp, implicit $ssp, implicit $al, implicit $edi, implicit-def $eax, debug-location !19
    ADJCALLSTACKUP64 0, 0, implicit-def $rsp, implicit-def $eflags, implicit-def $ssp, implicit $rsp, implicit $ssp, debug-location !19
    %7:gr32 = COPY $eax, debug-location !19
    JMP_1 %bb.1

  bb.3:
    %6:gr32 = MOV32rm %3, 1, $noreg, 0, $noreg, debug-location !17
    DBG_INSTR_REF 4, 0, !9, !DIExpression(), debug-location !16
    JMP_1 %bb.2

  bb.4:
    $eax = COPY %5, debug-location !18
    DBG_INSTR_REF 5, 0, !9, !DIExpression(), debug-location !16
    RETQ implicit $eax, debug-location !18

...
