brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 4122a53 Raw
87 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 -run-pass=prologepilog -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s3 4# VGPR spill code in the prolog sets the `IsKill` flag for the spilled register5# based on the entry block's livein info.6 7---8name:            vgpr_use_after_prolog_spill9tracksRegLiveness: true10machineFunctionInfo:11  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'12  frameOffsetReg:  '$sgpr33'13  stackPtrOffsetReg: '$sgpr32'14body:             |15  bb.0:16    liveins: $sgpr42, $vgpr0, $sgpr30_sgpr3117 18    ; GCN-LABEL: name: vgpr_use_after_prolog_spill19    ; GCN: liveins: $sgpr42, $vgpr0, $sgpr30_sgpr3120    ; GCN-NEXT: {{  $}}21    ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 8192, killed $vgpr0, implicit $exec22    ; GCN-NEXT: $vgpr0 = V_WRITELANE_B32 killed $sgpr42, 0, $vgpr023    ; GCN-NEXT: S_NOP 0, implicit-def $vgpr024    ; GCN-NEXT: S_SETPC_B64_return $sgpr30_sgpr3125    $vgpr0 = V_ADD_U32_e32 8192, killed $vgpr0, implicit $exec26    $vgpr0 = V_WRITELANE_B32 killed $sgpr42, 0, $vgpr027    S_NOP 0, implicit-def $vgpr028    S_SETPC_B64_return $sgpr30_sgpr3129...30 31---32name:            livein_vgpr_def_after_prolog_spill33tracksRegLiveness: true34machineFunctionInfo:35  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'36  frameOffsetReg:  '$sgpr33'37  stackPtrOffsetReg: '$sgpr32'38body:             |39  bb.0:40    liveins: $sgpr42, $vgpr0, $vgpr1, $sgpr30_sgpr3141 42    ; GCN-LABEL: name: livein_vgpr_def_after_prolog_spill43    ; GCN: liveins: $sgpr42, $vgpr0, $vgpr1, $sgpr30_sgpr3144    ; GCN-NEXT: {{  $}}45    ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 8192, killed $vgpr1, implicit $exec46    ; GCN-NEXT: $vgpr0 = V_WRITELANE_B32 killed $sgpr42, 0, $vgpr047    ; GCN-NEXT: S_NOP 0, implicit-def $vgpr048    ; GCN-NEXT: S_SETPC_B64_return $sgpr30_sgpr3149    $vgpr0 = V_ADD_U32_e32 8192, killed $vgpr1, implicit $exec50    $vgpr0 = V_WRITELANE_B32 killed $sgpr42, 0, $vgpr051    S_NOP 0, implicit-def $vgpr052    S_SETPC_B64_return $sgpr30_sgpr3153...54 55---56name:            livein_vgpr_not_referred_in_entry_bb57tracksRegLiveness: true58machineFunctionInfo:59  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'60  frameOffsetReg:  '$sgpr33'61  stackPtrOffsetReg: '$sgpr32'62body:             |63  ; GCN-LABEL: name: livein_vgpr_not_referred_in_entry_bb64  ; GCN: bb.0:65  ; GCN-NEXT:   successors: %bb.1(0x80000000)66  ; GCN-NEXT:   liveins: $sgpr42, $vgpr0, $sgpr30_sgpr3167  ; GCN-NEXT: {{  $}}68  ; GCN-NEXT:   S_NOP 069  ; GCN-NEXT:   S_BRANCH %bb.170  ; GCN-NEXT: {{  $}}71  ; GCN-NEXT: bb.1:72  ; GCN-NEXT:   liveins: $sgpr42, $vgpr0, $sgpr30_sgpr3173  ; GCN-NEXT: {{  $}}74  ; GCN-NEXT:   $vgpr0 = V_WRITELANE_B32 killed $sgpr42, 0, $vgpr075  ; GCN-NEXT:   S_NOP 0, implicit-def $vgpr076  ; GCN-NEXT:   S_SETPC_B64_return $sgpr30_sgpr3177  bb.0:78    liveins: $sgpr42, $vgpr0, $sgpr30_sgpr3179    S_NOP 080    S_BRANCH %bb.181  bb.1:82    liveins: $sgpr42, $vgpr0, $sgpr30_sgpr3183    $vgpr0 = V_WRITELANE_B32 killed $sgpr42, 0, $vgpr084    S_NOP 0, implicit-def $vgpr085    S_SETPC_B64_return $sgpr30_sgpr3186...87