forked from OSchip/llvm-project
43 lines
1.6 KiB
YAML
43 lines
1.6 KiB
YAML
# 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
|
|
; 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, 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, implicit $m0, implicit $exec
|
|
; CHECK: S_WAITCNT 0
|
|
; CHECK: }
|
|
renamable $sgpr0 = S_LOAD_DWORD_IMM killed renamable $sgpr4_sgpr5, 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, implicit $m0, implicit $exec
|
|
S_WAITCNT 0
|
|
}
|
|
BUNDLE implicit killed $vgpr0, implicit $m0, implicit $exec {
|
|
DS_GWS_BARRIER $vgpr0, 8, implicit $m0, implicit $exec
|
|
S_WAITCNT 0
|
|
}
|
|
|
|
...
|