97 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass si-insert-waitcnts %s -o - | FileCheck %s2 3# Ensure we insert waitcnts after any meta instructions at the start of4# non-kernel functions. Without this, the inserted waitcnts can affect e.g. the5# PC ranges covered by CFI and debug values.6 7---8# CHECK-LABEL: name: skip_implicit_def{{$}}9# CHECK: IMPLICIT_DEF10# CHECK: S_WAITCNT11name: skip_implicit_def12machineFunctionInfo:13body: |14 bb.0:15 $sgpr0 = IMPLICIT_DEF16...17---18# CHECK-LABEL: name: skip_kill{{$}}19# CHECK: KILL20# CHECK: S_WAITCNT21name: skip_kill22machineFunctionInfo:23body: |24 bb.0:25 KILL $sgpr026...27---28# CHECK-LABEL: name: skip_cfi{{$}}29# CHECK: CFI_INSTRUCTION30# CHECK: S_WAITCNT31name: skip_cfi32machineFunctionInfo:33body: |34 bb.0:35 CFI_INSTRUCTION undefined $sgpr036...37---38# CHECK-LABEL: name: skip_eh_label{{$}}39# CHECK: EH_LABEL40# CHECK: S_WAITCNT41name: skip_eh_label42machineFunctionInfo:43body: |44 bb.0:45 EH_LABEL 046...47---48# CHECK-LABEL: name: skip_gc_label{{$}}49# CHECK: GC_LABEL50# CHECK: S_WAITCNT51name: skip_gc_label52machineFunctionInfo:53body: |54 bb.0:55 GC_LABEL 056...57---58# CHECK-LABEL: name: skip_dbg_value{{$}}59# CHECK: DBG_VALUE60# CHECK: S_WAITCNT61name: skip_dbg_value62machineFunctionInfo:63body: |64 bb.0:65 DBG_VALUE 066...67---68# CHECK-LABEL: name: skip_dbg_label{{$}}69# CHECK: DBG_LABEL70# CHECK: S_WAITCNT71name: skip_dbg_label72machineFunctionInfo:73body: |74 bb.0:75 DBG_LABEL 076...77---78# CHECK-LABEL: name: skip_lifetime_start{{$}}79# CHECK: LIFETIME_START80# CHECK: S_WAITCNT81name: skip_lifetime_start82machineFunctionInfo:83body: |84 bb.0:85 LIFETIME_START 086...87---88# CHECK-LABEL: name: skip_lifetime_end{{$}}89# CHECK: LIFETIME_END90# CHECK: S_WAITCNT91name: skip_lifetime_end92machineFunctionInfo:93body: |94 bb.0:95 LIFETIME_END 096...97