[AMDGPU] Mark AGPR tuple implicit in the first instr of AGPR spills. (#115285)
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / greedy-remark-crash-unassigned-reg.mir
blob374617c93ce4d9625fcb782f83c7ebd94af5bb6c
1 # RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 \
2 # RUN:   -start-before=greedy,0 -stop-after=virtregrewriter,0 -pass-remarks='.*' -pass-remarks-output=%t.yaml -o /dev/null %s
3 # RUN: FileCheck %s < %t.yaml
5 # CHECK: Name:            SpillReloadCopies
6 # CHECK-NEXT: Function:        func
7 # CHECK-NEXT: Args:
8 # CHECK-NEXT: - NumVRCopies:     '3'
9 # CHECK-NEXT: - String:          ' virtual registers copies '
11 # Make sure the remarks do not crash with subregisters on unassigned
12 # virtual register copies.
14 ---
15 name:            func
16 tracksRegLiveness: true
17 body:             |
18   bb.0:
19     liveins: $vgpr0_vgpr1, $vgpr2_vgpr3, $sgpr1
21   ; Unassigned dest with subreg
22   undef %0.sub0:vreg_64 = COPY $vgpr0_vgpr1
24   ; unassigned src and dest with subregs
25   undef %1.sub1:vreg_64 = COPY %0.sub0
27    %2:vreg_64 = COPY $vgpr2_vgpr3
29   ; Unassigned src with subregs
30   $vgpr0 = COPY %2.sub0
32   ; Dummy SGPR to allocate to ensure allocation ran.
33   %3:sreg_32 = COPY $sgpr1
34   S_ENDPGM 0, implicit %0, implicit %1, implicit $vgpr0, implicit %3
36 ...