41 lines · plain
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 -filetype=null %s3# RUN: FileCheck %s < %t.yaml4 5# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 \6# RUN: -passes='greedy<sgpr>,virt-reg-rewriter<no-clear-vregs>' -pass-remarks='.*' -pass-remarks-output=%t.yaml -filetype=null %s7# RUN: FileCheck %s < %t.yaml8 9# CHECK: Name: SpillReloadCopies10# CHECK-NEXT: Function: func11# CHECK-NEXT: Args:12# CHECK-NEXT: - NumVRCopies: '3'13# CHECK-NEXT: - String: ' virtual registers copies '14 15# Make sure the remarks do not crash with subregisters on unassigned16# virtual register copies.17 18---19name: func20tracksRegLiveness: true21body: |22 bb.0:23 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3, $sgpr124 25 ; Unassigned dest with subreg26 undef %0.sub0:vreg_64 = COPY $vgpr0_vgpr127 28 ; unassigned src and dest with subregs29 undef %1.sub1:vreg_64 = COPY %0.sub030 31 %2:vreg_64 = COPY $vgpr2_vgpr332 33 ; Unassigned src with subregs34 $vgpr0 = COPY %2.sub035 36 ; Dummy SGPR to allocate to ensure allocation ran.37 %3:sreg_32 = COPY $sgpr138 S_ENDPGM 0, implicit %0, implicit %1, implicit $vgpr0, implicit %339 40...41