| # RUN: llc -march=hexagon -eif-limit=4 -run-pass hexagon-early-if -o - %s | FileCheck %s | |
| # Check that even with the limit of 4 instructions, the block bb.1 is | |
| # if-converted. | |
| # CHECK-LABEL: bb.0: | |
| # CHECK: %0:intregs = COPY $r0 | |
| # CHECK: %1:predregs = C2_cmpeqi %0, 0 | |
| # CHECK: %2:intregs = A2_tfrsi 123 | |
| # CHECK: DBG_VALUE debug-use %0, debug-use $noreg | |
| # CHECK: DBG_VALUE debug-use %0, debug-use $noreg | |
| # CHECK: DBG_VALUE debug-use %0, debug-use $noreg | |
| # CHECK: DBG_VALUE debug-use %0, debug-use $noreg | |
| # CHECK: DBG_VALUE debug-use %0, debug-use $noreg | |
| # CHECK: %3:intregs = A2_tfrsi 321 | |
| # CHECK: %5:intregs = C2_mux %1, %2, %3 | |
| --- | | |
| define void @foo() { | |
| ret void | |
| } | |
| !1 = !DIExpression() | |
| ... | |
| --- | |
| name: foo | |
| tracksRegLiveness: true | |
| registers: | |
| - { id: 0, class: intregs } | |
| - { id: 1, class: predregs } | |
| - { id: 2, class: intregs } | |
| - { id: 3, class: intregs } | |
| - { id: 4, class: intregs } | |
| body: | | |
| bb.0: | |
| liveins: $r0 | |
| %0 = COPY $r0 | |
| %1 = C2_cmpeqi %0, 0 | |
| %2 = A2_tfrsi 123 | |
| J2_jumpt %1, %bb.2, implicit-def dead $pc | |
| J2_jump %bb.1, implicit-def dead $pc | |
| bb.1: | |
| DBG_VALUE debug-use %0, debug-use $noreg, !1, !1 | |
| DBG_VALUE debug-use %0, debug-use $noreg, !1, !1 | |
| DBG_VALUE debug-use %0, debug-use $noreg, !1, !1 | |
| DBG_VALUE debug-use %0, debug-use $noreg, !1, !1 | |
| DBG_VALUE debug-use %0, debug-use $noreg, !1, !1 | |
| %3 = A2_tfrsi 321 | |
| bb.2: | |
| %4 = PHI %2, %bb.0, %3, %bb.1 | |
| ... |