# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 \
# RUN: -start-before=greedy,0 -stop-after=virtregrewriter,0 -pass-remarks='.*' -pass-remarks-output=%t.yaml -o /dev/null %s
# RUN: FileCheck %s < %t.yaml
# CHECK: Name: SpillReloadCopies
# CHECK-NEXT: Function: func
# CHECK-NEXT: Args:
# CHECK-NEXT: - NumVRCopies: '3'
# CHECK-NEXT: - String: ' virtual registers copies '
# Make sure the remarks do not crash with subregisters on unassigned
# virtual register copies.
---
name: func
tracksRegLiveness: true
body: |
bb.0:
liveins: $vgpr0_vgpr1, $vgpr2_vgpr3, $sgpr1
; Unassigned dest with subreg
undef %0.sub0:vreg_64 = COPY $vgpr0_vgpr1
; unassigned src and dest with subregs
undef %1.sub1:vreg_64 = COPY %0.sub0
%2:vreg_64 = COPY $vgpr2_vgpr3
; Unassigned src with subregs
$vgpr0 = COPY %2.sub0
; Dummy SGPR to allocate to ensure allocation ran.
%3:sreg_32 = COPY $sgpr1
S_ENDPGM 0, implicit %0, implicit %1, implicit $vgpr0, implicit %3
...