| # 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 |