31 lines · plain
1# RUN: llc -o /dev/null %s -mtriple=aarch64-- -run-pass=machine-scheduler -enable-misched -debug-only=machine-scheduler 2>&1 | FileCheck %s2# RUN: llc -o /dev/null %s -mtriple=aarch64-- -passes=machine-scheduler -enable-misched -debug-only=machine-scheduler 2>&1 | FileCheck %s3# REQUIRES: asserts4--- |5 define void @func() { ret void }6...7---8# Check that the instructions are not dependent on each other, even though9# they all read/write to the zero register.10# CHECK-LABEL: MI Scheduling11# CHECK: SU(0): dead $wzr = SUBSWri $w1, 0, 0, implicit-def dead $nzcv12# CHECK: # succs left : 013# CHECK-NOT: Successors:14# CHECK: SU(1): $w2 = COPY $wzr15# CHECK: # succs left : 016# CHECK-NOT: Successors:17# CHECK: SU(2): dead $wzr = SUBSWri $w3, 0, 0, implicit-def dead $nzcv18# CHECK: # succs left : 019# CHECK-NOT: Successors:20# CHECK: SU(3): $w4 = COPY $wzr21# CHECK: # succs left : 022# CHECK-NOT: Successors:23name: func24body: |25 bb.0:26 dead $wzr = SUBSWri $w1, 0, 0, implicit-def dead $nzcv27 $w2 = COPY $wzr28 dead $wzr = SUBSWri $w3, 0, 0, implicit-def dead $nzcv29 $w4 = COPY $wzr30...31