1# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z13 -run-pass=postra-machine-sink -verify-machineinstrs -o - %s | FileCheck %s 2 3--- 4# Don't sink COPY to bb.2 since SLLK define r13l that is aliased with r12q. 5# CHECK-LABEL: name: donot_sink_copy 6# CHECK-LABEL: bb.0: 7# CHECK: renamable $r0l = COPY renamable $r12l, implicit killed $r12q 8# CHECK-LABEL: bb.2: 9# CHECK-NOT: COPY 10name: donot_sink_copy 11tracksRegLiveness: true 12body: | 13 bb.0 : 14 successors: %bb.1, %bb.2 15 liveins: $r2d, $r3d, $r4d, $r5d, $r12q 16 17 renamable $r0l = COPY renamable $r12l, implicit killed $r12q 18 renamable $r13l = SLLK renamable $r4l, $noreg, 1 19 CHIMux renamable $r3l, 0, implicit-def $cc, implicit killed $r3d 20 BRC 14, 6, %bb.2, implicit killed $cc 21 J %bb.1 22 23 bb.1: 24 successors: 25 26 bb.2: 27 successors: 28 liveins: $r2d, $r4d, $r5d, $r0l, $r13l 29 30 renamable $r0d = LGFR killed renamable $r0l 31 renamable $r11d = LGFR killed renamable $r13l 32... 33 34# Don't sink COPY to bb.2 since SLLK use r1l that is aliased with r0q. 35# CHECK-LABEL: name: donot_sink_copy2 36# CHECK-LABEL: bb.0: 37# CHECK: renamable $r0l = COPY renamable $r12l, implicit-def $r0q 38# CHECK-LABEL: bb.2: 39# CHECK-NOT: COPY 40name: donot_sink_copy2 41tracksRegLiveness: true 42body: | 43 bb.0 : 44 successors: %bb.1, %bb.2 45 liveins: $r2d, $r3d, $r4d, $r5d, $r12q 46 47 renamable $r0l = COPY renamable $r12l, implicit def $r0q 48 renamable $r13l = SLLK renamable $r1l, $noreg, 1 49 CHIMux renamable $r3l, 0, implicit-def $cc, implicit killed $r3d 50 BRC 14, 6, %bb.2, implicit killed $cc 51 J %bb.1 52 53 bb.1: 54 successors: 55 56 bb.2: 57 successors: 58 liveins: $r2d, $r4d, $r5d, $r0l, $r13l 59 60 renamable $r0d = LGFR killed renamable $r0l 61 renamable $r11d = LGFR killed renamable $r13l 62... 63 64