# RUN: llc < %s -run-pass=wasm-reg-stackify -x=mir 2>&1 | FileCheck %s

# CHECK: body:
# CHECK: %1:i32 = I32_WRAP_I64 %0,
# CHECK-NEXT: DBG_VALUE %1,
# CHECK-NEXT: %1:i32 = CALL_I32 @bar,
# CHECK-NEXT: DBG_VALUE %1,
# CHECK-NEXT: %[[NEWREG:.*]]:i32 = CALL_I32 @bar,
# CHECK-NEXT: DBG_VALUE %[[NEWREG]],
# CHECK-NEXT: CALL_VOID @foo, %[[NEWREG]],

--- |
  target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
  target triple = "wasm32-unknown-unknown"

  declare void @foo(i32)
  declare i32 @bar()

  define void @test(i64 %arg) {
    unreachable
  }

  !llvm.dbg.cu = !{!0}
  !llvm.module.flags = !{!4}
  !0 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !2, producer: "clang LLVM (rustc version 1.30.0-dev)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !1, globals: !1)
  !1 = !{}
  !2 = !DIFile(filename: "<unknown>", directory: "")
  !3 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "&str", file: !2, size: 64, align: 32, elements: !{}, identifier: "111094d970b097647de579f9c509ef08")
  !4 = !{i32 2, !"Debug Info Version", i32 3}
  !5 = distinct !DILexicalBlock(scope: !6, file: !2, line: 357, column: 8)
  !6 = distinct !DISubprogram(name: "testfoo", linkageName: "_testba", scope: !7, file: !2, line: 353, type: !8, isLocal: true, isDefinition: true, scopeLine: 353, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !1, retainedNodes: !9)
  !7 = !DINamespace(name: "ptr", scope: null)
  !8 = !DISubroutineType(types: !1)
  !9 = !{!10}
  !10 = !DILocalVariable(name: "val0", scope: !5, file: !2, line: 357, type: !3, align: 4)
  !11 = !DILocalVariable(name: "val1", scope: !5, file: !2, line: 358, type: !3, align: 4)
  !12 = !DILocalVariable(name: "val2", scope: !5, file: !2, line: 359, type: !3, align: 4)
  !13 = !DILocation(line: 357, column: 12, scope: !5)
  !14 = !DILocation(line: 358, column: 12, scope: !5)
  !15 = !DILocation(line: 359, column: 12, scope: !5)

---
name: test
liveins:
  - { reg: '$arguments' }
tracksRegLiveness: true
body: |
  bb.0:
    liveins: $arguments
    %0:i64 = ARGUMENT_i64 0, implicit $arguments
    %1:i32 = I32_WRAP_I64 %0:i64, implicit-def dead $arguments
    DBG_VALUE %1:i32, $noreg, !10, !DIExpression(), debug-location !13; <unknown>:357:12 line no:357
    %1:i32 = CALL_I32 @bar, implicit-def dead $arguments, implicit $sp32, implicit $sp64
    DBG_VALUE %1:i32, $noreg, !11, !DIExpression(), debug-location !14; <unknown>:357:12 line no:357
    %1:i32 = CALL_I32 @bar, implicit-def dead $arguments, implicit $sp32, implicit $sp64
    DBG_VALUE %1:i32, $noreg, !12, !DIExpression(), debug-location !15; <unknown>:357:12 line no:357
    CALL_VOID @foo, %1:i32, implicit-def dead $arguments, implicit $sp32, implicit $sp64
    RETURN_VOID implicit-def dead $arguments

...
