Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / post-ra-sched-kill-bundle-use-inst.mir
blobd707291d0df20458db79c7574ffee2b51750e62d
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
6 # of $vgpr0 as killed.
8 ---
9 name: kill_flag_use_first_bundle_inst
10 tracksRegLiveness: true
11 machineFunctionInfo:
12   isEntryFunction: true
13 body:             |
14   bb.0:
15     liveins: $sgpr4_sgpr5, $sgpr7
17     ; CHECK-LABEL: name: kill_flag_use_first_bundle_inst
18     ; CHECK: liveins: $sgpr4_sgpr5, $sgpr7
19     ; CHECK-NEXT: {{  $}}
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
26     ; CHECK-NEXT: }
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
30     ; CHECK-NEXT: }
31     renamable $sgpr0 = S_LOAD_DWORD_IMM killed renamable $sgpr4_sgpr5, 0, 0
32     $m0 = S_MOV_B32 -1
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
36       S_WAITCNT 0
37     }
38     BUNDLE implicit killed $vgpr0, implicit $m0, implicit $exec {
39       DS_GWS_BARRIER $vgpr0, 8, implicit $m0, implicit $exec
40       S_WAITCNT 0
41     }
43 ...