1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx900 -run-pass=post-RA-sched -verify-machineinstrs -o - %s | FileCheck %s
4 # The scheduler was not inspecting the first instruction in the bundle
5 # when adding kill flags, so it would incorrectly mark the first use
9 name: kill_flag_use_first_bundle_inst
10 tracksRegLiveness: true
15 liveins: $sgpr4_sgpr5, $sgpr7
17 ; CHECK-LABEL: name: kill_flag_use_first_bundle_inst
18 ; CHECK: liveins: $sgpr4_sgpr5, $sgpr7
20 ; CHECK-NEXT: renamable $sgpr0 = S_LOAD_DWORD_IMM killed renamable $sgpr4_sgpr5, 0, 0
21 ; CHECK-NEXT: $m0 = S_MOV_B32 -1
22 ; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $exec
23 ; CHECK-NEXT: BUNDLE implicit $vgpr0, implicit $m0, implicit $exec {
24 ; CHECK-NEXT: DS_GWS_INIT $vgpr0, 8, implicit $m0, implicit $exec
25 ; CHECK-NEXT: S_WAITCNT 0
27 ; CHECK-NEXT: BUNDLE implicit killed $vgpr0, implicit $m0, implicit $exec {
28 ; CHECK-NEXT: DS_GWS_BARRIER killed $vgpr0, 8, implicit $m0, implicit $exec
29 ; CHECK-NEXT: S_WAITCNT 0
31 renamable $sgpr0 = S_LOAD_DWORD_IMM killed renamable $sgpr4_sgpr5, 0, 0
33 $vgpr0 = V_MOV_B32_e32 $sgpr0, implicit $exec, implicit $exec
34 BUNDLE implicit $vgpr0, implicit $m0, implicit $exec {
35 DS_GWS_INIT $vgpr0, 8, implicit $m0, implicit $exec
38 BUNDLE implicit killed $vgpr0, implicit $m0, implicit $exec {
39 DS_GWS_BARRIER $vgpr0, 8, implicit $m0, implicit $exec