32 lines
933 B
YAML
32 lines
933 B
YAML
# RUN: llc -o - %s -mtriple=amdgcn-amd-amdhsa-opencl -run-pass=simple-register-coalescing | FileCheck %s
|
|
---
|
|
# Checks for a bug where subregister liveranges were not properly pruned for
|
|
# an IMPLCITI_DEF that gets removed completely.
|
|
#
|
|
# CHECK-LABEL: name: func
|
|
# IMPLICIT_DEF should be gone without llc hitting assertion failures.
|
|
# CHECK-NOT: IMPLICIT_DEF
|
|
name: func
|
|
tracksRegLiveness: true
|
|
body: |
|
|
bb.0:
|
|
undef %5.sub1 = V_MOV_B32_e32 0, implicit $exec
|
|
%6 = COPY %5
|
|
S_CBRANCH_VCCZ %bb.2, implicit undef $vcc
|
|
|
|
bb.1:
|
|
%1 : sreg_32_xm0 = S_MOV_B32 0
|
|
undef %0.sub0 : sreg_64 = COPY %1
|
|
%0.sub1 = COPY %1
|
|
%4 : vreg_64 = COPY killed %0
|
|
%5 : vreg_64 = IMPLICIT_DEF
|
|
%6 : vreg_64 = COPY killed %4
|
|
|
|
bb.2:
|
|
%2 : vgpr_32 = V_CVT_F32_I32_e32 killed %5.sub1, implicit $mode, implicit $exec
|
|
|
|
bb.3:
|
|
%3 : vgpr_32 = V_CVT_F32_I32_e32 killed %6.sub1, implicit $mode, implicit $exec
|
|
S_ENDPGM 0
|
|
...
|