CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
127 lines
4.1 KiB
YAML
127 lines
4.1 KiB
YAML
# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z17 -run-pass=greedy %s -o - \
|
|
# RUN: | FileCheck %s
|
|
#
|
|
# Test folding where the original load is in another MBB.
|
|
|
|
--- |
|
|
define void @fun0() { ret void }
|
|
...
|
|
|
|
# CHECK-LABEL: name: fun0
|
|
# CHECK-LABEL: bb.0:
|
|
# CHECK-NEXT: successors: %bb.1(0x80000000)
|
|
# CHECK-NEXT: liveins: $f0s, $f2s, $f4s, $f6s, $r2l
|
|
# CHECK-NEXT: {{ $}}
|
|
# CHECK-NEXT: %1:gr32bit = COPY $r2l
|
|
# CHECK-NEXT: %0:fp32bit = COPY $f6s
|
|
# CHECK-NEXT: %5:fp32bit = COPY $f4s
|
|
# CHECK-NEXT: %6:fp32bit = COPY $f2s
|
|
# CHECK-NEXT: %7:fp32bit = COPY $f0s
|
|
# CHECK-NEXT: %2:vr32bit = VL32 %fixed-stack.0, 4, $noreg :: (load (s32) from %fixed-stack.0)
|
|
# CHECK-NEXT: %3:fp32bit = VL32 %fixed-stack.1, 4, $noreg :: (load (s32) from %fixed-stack.1)
|
|
# CHECK-NEXT: %8:vr32bit = VL32 %fixed-stack.3, 4, $noreg :: (load (s32) from %fixed-stack.3)
|
|
# CHECK-NEXT: %9:fp32bit = LZER
|
|
# CHECK-NEXT: %10:addr64bit = LGHI 0
|
|
# CHECK-NEXT: {{ $}}
|
|
# CHECK: bb.2:
|
|
# CHECK-NEXT: successors: %bb.4(0x80000000)
|
|
# CHECK-NEXT: {{ $}}
|
|
# CHECK-NEXT: %12:fp32bit = COPY %9
|
|
# CHECK-NEXT: %12:fp32bit = nofpexcept SEB %12, %fixed-stack.2, 4, $noreg, implicit-def dead $cc, implicit $fpc :: (load (s32) from %fixed-stack.2)
|
|
# CHECK-NEXT: %13:vr32bit = nofpexcept WFMSB %5, %12, implicit $fpc
|
|
# CHECK-NEXT: %14:fp32bit = nofpexcept WFMSB %13, %9, implicit $fpc
|
|
# CHECK-NEXT: J %bb.4
|
|
---
|
|
name: fun0
|
|
alignment: 2
|
|
tracksRegLiveness: true
|
|
noPhis: true
|
|
isSSA: false
|
|
noVRegs: false
|
|
hasFakeUses: false
|
|
liveins:
|
|
- { reg: '$f0s', virtual-reg: '%3' }
|
|
- { reg: '$f2s', virtual-reg: '%4' }
|
|
- { reg: '$f4s', virtual-reg: '%5' }
|
|
- { reg: '$f6s', virtual-reg: '%6' }
|
|
- { reg: '$r2l', virtual-reg: '%7' }
|
|
frameInfo:
|
|
maxAlignment: 8
|
|
adjustsStack: true
|
|
hasCalls: true
|
|
fixedStack:
|
|
- { id: 0, offset: 24, size: 4, alignment: 8, isImmutable: true }
|
|
- { id: 1, offset: 16, size: 4, alignment: 8, isImmutable: true }
|
|
- { id: 2, offset: 8, size: 4, alignment: 8, isImmutable: true }
|
|
- { id: 3, size: 4, alignment: 8, isImmutable: true }
|
|
machineFunctionInfo: {}
|
|
body: |
|
|
bb.0:
|
|
successors: %bb.1(0x80000000)
|
|
liveins: $f0s, $f2s, $f4s, $f6s, $r2l
|
|
|
|
%4:gr32bit = COPY $r2l
|
|
%3:fp32bit = COPY $f6s
|
|
%2:fp32bit = COPY $f4s
|
|
%1:fp32bit = COPY $f2s
|
|
%0:fp32bit = COPY $f0s
|
|
%5:vr32bit = VL32 %fixed-stack.3, 4, $noreg :: (load (s32) from %fixed-stack.3)
|
|
%6:fp32bit = VL32 %fixed-stack.2, 4, $noreg :: (load (s32) from %fixed-stack.2)
|
|
%7:vr32bit = VL32 %fixed-stack.1, 4, $noreg :: (load (s32) from %fixed-stack.1)
|
|
%8:vr32bit = VL32 %fixed-stack.0, 4, $noreg :: (load (s32) from %fixed-stack.0)
|
|
%9:fp32bit = LZER
|
|
%10:addr64bit = LGHI 0
|
|
|
|
bb.1:
|
|
successors: %bb.2(0x40000000), %bb.3(0x40000000)
|
|
|
|
dead %11:fp32bit = nofpexcept LTEBR %6, implicit-def $cc, implicit $fpc
|
|
BRC 15, 13, %bb.3, implicit killed $cc
|
|
|
|
bb.2:
|
|
successors: %bb.4(0x80000000)
|
|
|
|
%12:vr32bit = COPY %9
|
|
%12:vr32bit = nofpexcept WFSSB %12, %7, implicit $fpc
|
|
%13:vr32bit = nofpexcept WFMSB %2, %12, implicit $fpc
|
|
%14:fp32bit = nofpexcept WFMSB %13, %9, implicit $fpc
|
|
J %bb.4
|
|
|
|
bb.3:
|
|
successors: %bb.4(0x80000000)
|
|
|
|
%14:fp32bit = COPY %8
|
|
|
|
bb.4:
|
|
successors: %bb.5(0x80000000)
|
|
|
|
%15:vr32bit = nofpexcept WFSSB %9, %1, implicit $fpc
|
|
%16:vr32bit = nofpexcept WFMSB %5, %15, implicit $fpc
|
|
|
|
bb.5:
|
|
successors: %bb.6(0x40000000), %bb.7(0x40000000)
|
|
|
|
TMLMux %4, 1, implicit-def $cc
|
|
BRC 15, 8, %bb.7, implicit killed $cc
|
|
|
|
bb.6:
|
|
successors: %bb.8(0x80000000)
|
|
|
|
%17:vr32bit = nofpexcept WFMSB %16, %3, implicit $fpc
|
|
%14:fp32bit = nofpexcept WFASB %0, %17, implicit $fpc
|
|
J %bb.8
|
|
|
|
bb.7:
|
|
successors: %bb.8(0x80000000)
|
|
|
|
bb.8:
|
|
successors: %bb.1(0x80000000)
|
|
|
|
%18:gr32bit = nofpexcept CFEBR 5, %14, implicit-def dead $cc, implicit $fpc
|
|
$r2d = LGHI 0
|
|
$r3l = COPY %18
|
|
$r4l = LHIMux 0
|
|
CallBASR %10, $r2d, killed $r3l, killed $r4l, csr_systemz_elf, implicit-def dead $r14d, implicit-def dead $cc, implicit $fpc
|
|
J %bb.1
|
|
...
|