44 lines · plain
1# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass machine-sink -o - %s | FileCheck %s2--- |3 define void @sinkwzr() { ret void }4...5---6name: sinkwzr7tracksRegLiveness: true8registers:9 - { id: 0, class: gpr32 }10 - { id: 1, class: gpr32 }11 - { id: 2, class: gpr32sp }12 - { id: 3, class: gpr32 }13 - { id: 4, class: gpr32 }14body: |15 ; Check that WZR copy is sunk into the loop preheader.16 ; CHECK-LABEL: name: sinkwzr17 ; CHECK-LABEL: bb.0:18 ; CHECK-NOT: COPY $wzr19 bb.0:20 liveins: $w021 22 %0 = COPY $w023 %1 = COPY $wzr24 CBZW %0, %bb.325 26 ; CHECK-LABEL: bb.1:27 ; CHECK: COPY $wzr28 29 bb.1:30 B %bb.231 32 bb.2:33 %2 = PHI %0, %bb.1, %4, %bb.234 $w0 = COPY %135 %3 = SUBSWri %2, 1, 0, implicit-def dead $nzcv36 %4 = COPY %337 CBZW %3, %bb.338 B %bb.239 40 bb.3:41 RET_ReallyLR42 43...44