blob: a9272c92775a69adc049452e2ee96c6d0f3f6ec9 [file] [edit]
# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -run-pass=virtregmap \
# RUN: -o - %s | FileCheck %s
#
# Verify that VirtRegMap state (split-from, assigned-phys) round-trips through
# MIR.
# CHECK-LABEL: name: test_vrm_roundtrip
# CHECK: registers:
# CHECK: id: 0,
# CHECK-NOT: split-from:
# CHECK: assigned-phys: '$vgpr5'
# CHECK: id: 1,
# CHECK: split-from: '%0'
# CHECK: assigned-phys: '$vgpr6'
# CHECK: id: 2,
# CHECK: split-from: '%0'
# CHECK: assigned-phys: '$vgpr7'
---
name: test_vrm_roundtrip
tracksRegLiveness: true
registers:
- { id: 0, class: vgpr_32, assigned-phys: '$vgpr5' }
- { id: 1, class: vgpr_32, assigned-phys: '$vgpr6', split-from: '%0' }
- { id: 2, class: vgpr_32, assigned-phys: '$vgpr7', split-from: '%0' }
body: |
bb.0:
liveins: $vgpr0
%0:vgpr_32 = COPY $vgpr0
%1:vgpr_32 = V_ADD_U32_e32 1, %0:vgpr_32, implicit $exec
%2:vgpr_32 = V_ADD_U32_e32 2, %0:vgpr_32, implicit $exec
S_ENDPGM 0, implicit %0, implicit %1, implicit %2
...