1# RUN: llc -o /dev/null %s -mtriple=aarch64-- -run-pass=machine-scheduler -enable-misched -debug-only=machine-scheduler 2>&1 | FileCheck %s 2# REQUIRES: asserts 3--- | 4 define void @func() { ret void } 5... 6--- 7# Check that the instructions are not dependent on each other, even though 8# they all read/write to the zero register. 9# CHECK-LABEL: MI Scheduling 10# CHECK: SU(0): dead $wzr = SUBSWri $w1, 0, 0, implicit-def dead $nzcv 11# CHECK: # succs left : 0 12# CHECK-NOT: Successors: 13# CHECK: SU(1): $w2 = COPY $wzr 14# CHECK: # succs left : 0 15# CHECK-NOT: Successors: 16# CHECK: SU(2): dead $wzr = SUBSWri $w3, 0, 0, implicit-def dead $nzcv 17# CHECK: # succs left : 0 18# CHECK-NOT: Successors: 19# CHECK: SU(3): $w4 = COPY $wzr 20# CHECK: # succs left : 0 21# CHECK-NOT: Successors: 22name: func 23body: | 24 bb.0: 25 dead $wzr = SUBSWri $w1, 0, 0, implicit-def dead $nzcv 26 $w2 = COPY $wzr 27 dead $wzr = SUBSWri $w3, 0, 0, implicit-def dead $nzcv 28 $w4 = COPY $wzr 29... 30