1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| # 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 $exec
bb.3:
%3 : vgpr_32 = V_CVT_F32_I32_e32 killed %6.sub1, implicit $exec
S_ENDPGM 0
...
|