37 lines
736 B
Text
37 lines
736 B
Text
|
# 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:
|