# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx900 -run-pass=post-RA-sched -verify-machineinstrs -o -  %s | FileCheck %s

# The scheduler was not inspecting the first instruction in the bundle
# when adding kill flags, so it would incorrectly mark the first use
# of $vgpr0 as killed.

---
name: kill_flag_use_first_bundle_inst
tracksRegLiveness: true
machineFunctionInfo:
  isEntryFunction: true
body:             |
  bb.0:
    liveins: $sgpr4_sgpr5, $sgpr7

    ; CHECK-LABEL: name: kill_flag_use_first_bundle_inst
    ; CHECK: liveins: $sgpr4_sgpr5, $sgpr7
    ; CHECK: renamable $sgpr0 = S_LOAD_DWORD_IMM killed renamable $sgpr4_sgpr5, 0, 0, 0
    ; CHECK: $m0 = S_MOV_B32 -1
    ; CHECK: $vgpr0 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $exec
    ; CHECK: BUNDLE implicit $vgpr0, implicit $m0, implicit $exec {
    ; CHECK:   DS_GWS_INIT $vgpr0, 8, -1, implicit $m0, implicit $exec
    ; CHECK:   S_WAITCNT 0
    ; CHECK: }
    ; CHECK: BUNDLE implicit killed $vgpr0, implicit $m0, implicit $exec {
    ; CHECK:   DS_GWS_BARRIER killed $vgpr0, 8, -1, implicit $m0, implicit $exec
    ; CHECK:   S_WAITCNT 0
    ; CHECK: }
    renamable $sgpr0 = S_LOAD_DWORD_IMM killed renamable $sgpr4_sgpr5, 0, 0, 0
    $m0 = S_MOV_B32 -1
    $vgpr0 = V_MOV_B32_e32 $sgpr0, implicit $exec, implicit $exec
    BUNDLE implicit $vgpr0, implicit $m0, implicit $exec {
      DS_GWS_INIT $vgpr0, 8, -1, implicit $m0, implicit $exec
      S_WAITCNT 0
    }
    BUNDLE implicit killed $vgpr0, implicit $m0, implicit $exec {
      DS_GWS_BARRIER $vgpr0, 8, -1, implicit $m0, implicit $exec
      S_WAITCNT 0
    }

...
