51 lines · plain
1# RUN: llc -mtriple=hexagon -run-pass if-converter -o - %s | FileCheck %s2# Check that an implicit use is generated for a predicated instruction3# when a subregister of the redefined register is live.4 5# CHECK-LABEL: name: foo6 7# Verify the predicated block:8# CHECK-LABEL: bb.0:9# CHECK: liveins: $r0, $r1, $p0, $d810# CHECK: $d8 = A2_combinew killed $r0, killed $r111# CHECK: $d8 = L2_ploadrdf_io $p0, $r29, 0, implicit killed $d812# CHECK: J2_jumprf killed $p0, $r31, implicit-def $pc, implicit-def $pc, implicit $d813 14--- |15 define void @foo() {16 ret void17 }18...19 20 21---22name: foo23alignment: 1624tracksRegLiveness: true25liveins:26 - { reg: '$r0' }27 - { reg: '$r1' }28 - { reg: '$p0' }29 - { reg: '$d8' }30body: |31 bb.0:32 successors: %bb.1, %bb.233 liveins: $r0, $r1, $p0, $d834 $d8 = A2_combinew killed $r0, killed $r135 J2_jumpf killed $p0, %bb.2, implicit-def $pc36 37 bb.1:38 liveins: $r1739 $r0 = A2_tfrsi 040 $r1 = A2_tfrsi 041 A2_nop ; non-predicable42 J2_jumpr killed $r31, implicit-def dead $pc, implicit killed $d043 44 bb.2:45 ; Predicate this block.46 $d8 = L2_loadrd_io $r29, 047 J2_jumpr killed $r31, implicit-def dead $pc, implicit killed $d848 49...50 51