65 lines · plain
1# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z13 -run-pass=postra-machine-sink -verify-machineinstrs -o - %s | FileCheck %s2# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z13 -passes='postra-machine-sink' -o - %s | FileCheck %s3 4---5# Don't sink COPY to bb.2 since SLLK define r13l that is aliased with r12q.6# CHECK-LABEL: name: donot_sink_copy7# CHECK-LABEL: bb.0:8# CHECK: renamable $r0l = COPY renamable $r12l, implicit killed $r12q9# CHECK-LABEL: bb.2:10# CHECK-NOT: COPY11name: donot_sink_copy12tracksRegLiveness: true13body: |14 bb.0 :15 successors: %bb.1, %bb.216 liveins: $r2d, $r3d, $r4d, $r5d, $r12q17 18 renamable $r0l = COPY renamable $r12l, implicit killed $r12q19 renamable $r13l = SLLK renamable $r4l, $noreg, 120 CHIMux renamable $r3l, 0, implicit-def $cc, implicit killed $r3d21 BRC 14, 6, %bb.2, implicit killed $cc22 J %bb.123 24 bb.1:25 successors:26 27 bb.2:28 successors:29 liveins: $r2d, $r4d, $r5d, $r0l, $r13l30 31 renamable $r0d = LGFR killed renamable $r0l32 renamable $r11d = LGFR killed renamable $r13l33...34 35# Don't sink COPY to bb.2 since SLLK use r1l that is aliased with r0q.36# CHECK-LABEL: name: donot_sink_copy237# CHECK-LABEL: bb.0:38# CHECK: renamable $r0l = COPY renamable $r12l, implicit-def $r0q39# CHECK-LABEL: bb.2:40# CHECK-NOT: COPY41name: donot_sink_copy242tracksRegLiveness: true43body: |44 bb.0 :45 successors: %bb.1, %bb.246 liveins: $r2d, $r3d, $r4d, $r5d, $r12q47 48 renamable $r0l = COPY renamable $r12l, implicit def $r0q49 renamable $r13l = SLLK renamable $r1l, $noreg, 150 CHIMux renamable $r3l, 0, implicit-def $cc, implicit killed $r3d51 BRC 14, 6, %bb.2, implicit killed $cc52 J %bb.153 54 bb.1:55 successors:56 57 bb.2:58 successors:59 liveins: $r2d, $r4d, $r5d, $r0l, $r13l60 61 renamable $r0d = LGFR killed renamable $r0l62 renamable $r11d = LGFR killed renamable $r13l63...64 65