• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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