blob: ed1680e3545c2f454a1b6608d06e0be9d1759d8d [file] [edit]
# RUN: llc -mtriple=amdgcn -mcpu=gfx950 -run-pass=none -o - %s | FileCheck %s
#
# Round-trip test for the 'lr-split' MIR text spelling of
# MachineInstr::LRSplit. The flag is set by SplitKit on copies inserted for
# live-range splitting; AMDGPU's SIInstrInfo::canAddToBBProlog uses it to
# recognize WWM_COPY / IMPLICIT_DEF instructions as part of the BB prologue.
---
name: lr_split_roundtrip
tracksRegLiveness: true
machineFunctionInfo:
isEntryFunction: true
registers:
- { id: 0, class: vgpr_32, flags: [ WWM_REG ] }
- { id: 1, class: vgpr_32, flags: [ WWM_REG ] }
body: |
bb.0:
liveins: $vgpr0
%0:vgpr_32 = COPY $vgpr0
%1:vgpr_32 = lr-split WWM_COPY %0:vgpr_32
S_ENDPGM 0, implicit %1
...
# CHECK-LABEL: name: lr_split_roundtrip
# CHECK: %1:vgpr_32 = lr-split WWM_COPY %0