blob: bfdd5cfd8b53d46134b9d6532d0c1cf5078386db [file] [log] [blame]
# RUN: llc -march=mips64 -o - %s -run-pass=register-coalescer -verify-coalescing | FileCheck %s
---
name: f
tracksRegLiveness: true
body: |
bb.0:
%0:gpr32 = ADDiu $zero, 0
%1:gpr32 = COPY %0
%1:gpr32 = ADDiu %1, 1
BEQ %0, $zero, %bb.3, implicit-def $at
J %bb.1, implicit-def dead $at
bb.1:
J %bb.2, implicit %1, implicit-def dead $at
bb.2:
%1:gpr32 = COPY %0
%0:gpr32 = COPY %1
BEQ %0:gpr32, $zero, %bb.2, implicit-def $at
bb.3:
%4:gpr32 = ADDiu %1, 1
...
# We should not hoist the
#
# %1:gpr32 = COPY %0
#
# into bb.1 since %1 is used in the terminating instruction J there.
# CHECK-LABEL: bb.1:
# CHECK-NOT: COPY
# CHECK: J
# CHECK-LABEL: bb.2: