brintos

brintos / llvm-project-archived public Read only

0
0
Text · 838 B · 583ce40 Raw
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