Skip to content

Commit f8cb526

Browse files
authored
[AMDGPU] Add tests for SIPreAllocateWWMRegs (#109963)
1 parent 4e32d72 commit f8cb526

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
2+
# RUN: llc -mtriple=amdgcn -mcpu=tahiti -verify-machineinstrs -run-pass=si-pre-allocate-wwm-regs -o - %s | FileCheck %s
3+
# RUN: llc -mtriple=amdgcn -mcpu=tahiti -verify-machineinstrs -amdgpu-prealloc-sgpr-spill-vgprs -run-pass=si-pre-allocate-wwm-regs -o - %s | FileCheck %s --check-prefix=CHECK2
4+
5+
# COM: auto-generated updates might remove checks for MachineFunctionInfo reserved registers.
6+
---
7+
8+
name: pre_allocate_wwm_regs_strict
9+
tracksRegLiveness: true
10+
body: |
11+
bb.0:
12+
liveins: $sgpr1
13+
; CHECK-LABEL: name: pre_allocate_wwm_regs_strict
14+
; CHECK: wwmReservedRegs:
15+
; CHECK-NEXT: - '$vgpr0'
16+
; CHECK: liveins: $sgpr1
17+
; CHECK-NEXT: {{ $}}
18+
; CHECK-NEXT: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
19+
; CHECK-NEXT: renamable $sgpr4_sgpr5 = ENTER_STRICT_WWM -1, implicit-def $exec, implicit-def $scc, implicit $exec
20+
; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec
21+
; CHECK-NEXT: dead $vgpr0 = V_MOV_B32_dpp $vgpr0, [[DEF]], 323, 12, 15, 0, implicit $exec
22+
; CHECK-NEXT: $exec = EXIT_STRICT_WWM killed renamable $sgpr4_sgpr5
23+
; CHECK-NEXT: dead [[COPY:%[0-9]+]]:vgpr_32 = COPY [[DEF]]
24+
%0:vgpr_32 = IMPLICIT_DEF
25+
renamable $sgpr4_sgpr5 = ENTER_STRICT_WWM -1, implicit-def $exec, implicit-def $scc, implicit $exec
26+
%1:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
27+
%2:vgpr_32 = V_MOV_B32_dpp %1, %0, 323, 12, 15, 0, implicit $exec
28+
$exec = EXIT_STRICT_WWM killed renamable $sgpr4_sgpr5
29+
%3:vgpr_32 = COPY %0
30+
...
31+
---
32+
33+
name: pre_allocate_wwm_spill_to_vgpr
34+
tracksRegLiveness: true
35+
body: |
36+
bb.0:
37+
liveins: $sgpr1
38+
; CHECK2-LABEL: name: pre_allocate_wwm_spill_to_vgpr
39+
; CHECK2: wwmReservedRegs:
40+
; CHECK2-NEXT: - '$vgpr0'
41+
; CHECK2: liveins: $sgpr1
42+
; CHECK2-NEXT: {{ $}}
43+
; CHECK2-NEXT: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
44+
; CHECK2-NEXT: dead $vgpr0 = SI_SPILL_S32_TO_VGPR $sgpr1, 0, [[DEF]]
45+
; CHECK2-NEXT: dead [[COPY:%[0-9]+]]:vgpr_32 = COPY [[DEF]]
46+
%0:vgpr_32 = IMPLICIT_DEF
47+
%1:vgpr_32 = SI_SPILL_S32_TO_VGPR $sgpr1, 0, %0
48+
%2:vgpr_32 = COPY %0
49+
...

0 commit comments

Comments
 (0)