169d0bab8SBoyaoWang430# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5 269d0bab8SBoyaoWang430# RUN: llc -mtriple=riscv64 -x mir -mcpu=sifive-p470 -verify-misched -enable-post-misched=false \ 369d0bab8SBoyaoWang430# RUN: -riscv-postmisched-load-store-clustering=false -debug-only=machine-scheduler \ 4*9122c523SPengcheng Wang# RUN: -start-before=machine-scheduler -stop-after=postmisched -misched-regpressure=false -o - 2>&1 < %s \ 569d0bab8SBoyaoWang430# RUN: | FileCheck -check-prefix=NOPOSTMISCHED %s 669d0bab8SBoyaoWang430# RUN: llc -mtriple=riscv64 -x mir -mcpu=sifive-p470 -mattr=+use-postra-scheduler -verify-misched -enable-post-misched=true \ 769d0bab8SBoyaoWang430# RUN: -riscv-postmisched-load-store-clustering=false -debug-only=machine-scheduler \ 8*9122c523SPengcheng Wang# RUN: -start-before=machine-scheduler -stop-after=postmisched -misched-regpressure=false -o - 2>&1 < %s \ 969d0bab8SBoyaoWang430# RUN: | FileCheck -check-prefix=NOCLUSTER %s 1069d0bab8SBoyaoWang430# RUN: llc -mtriple=riscv64 -x mir -mcpu=sifive-p470 -mattr=+use-postra-scheduler -verify-misched -enable-post-misched=true \ 1169d0bab8SBoyaoWang430# RUN: -debug-only=machine-scheduler \ 12*9122c523SPengcheng Wang# RUN: -start-before=machine-scheduler -stop-after=postmisched -misched-regpressure=false -o - 2>&1 < %s \ 1369d0bab8SBoyaoWang430# RUN: | FileCheck -check-prefix=MEMCLUSTER %s 1469d0bab8SBoyaoWang430 1537ce1895SWang Pengcheng# REQUIRES: asserts 1637ce1895SWang Pengcheng 1769d0bab8SBoyaoWang430... 1869d0bab8SBoyaoWang430--- 1969d0bab8SBoyaoWang430name: mem_clustering_1 2069d0bab8SBoyaoWang430tracksRegLiveness: true 2169d0bab8SBoyaoWang430body: | 2269d0bab8SBoyaoWang430 bb.0: 2369d0bab8SBoyaoWang430 liveins: $x6, $x10, $x14, $x15, $x16, $x17 2469d0bab8SBoyaoWang430 ; NOPOSTMISCHED-LABEL: name: mem_clustering_1 2569d0bab8SBoyaoWang430 ; NOPOSTMISCHED: liveins: $x6, $x10, $x14, $x15, $x16, $x17 2669d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: {{ $}} 2769d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: renamable $x5 = LW renamable $x15, 0 :: (load (s32)) 2869d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: renamable $x7 = LW renamable $x15, 8 :: (load (s32)) 2969d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: renamable $x28 = LW renamable $x15, 16 :: (load (s32)) 3069d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: renamable $x29 = LW renamable $x15, 24 :: (load (s32)) 3169d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: renamable $x11 = ADDW renamable $x6, killed renamable $x5 3269d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: renamable $x13 = ADDW killed renamable $x7, killed renamable $x28 3369d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: renamable $x11 = ADDW killed renamable $x11, killed renamable $x13 3469d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: renamable $x6 = ADDW killed renamable $x11, killed renamable $x29 3569d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: SW renamable $x14, renamable $x15, 0 :: (store (s32)) 3669d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: SW renamable $x14, renamable $x15, 8 :: (store (s32)) 3769d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: SW renamable $x14, renamable $x15, 16 :: (store (s32)) 3869d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: SW renamable $x14, renamable $x15, 24 :: (store (s32)) 3969d0bab8SBoyaoWang430 ; NOPOSTMISCHED-NEXT: PseudoRET 4069d0bab8SBoyaoWang430 ; 4169d0bab8SBoyaoWang430 ; NOCLUSTER-LABEL: name: mem_clustering_1 4269d0bab8SBoyaoWang430 ; NOCLUSTER: liveins: $x6, $x10, $x14, $x15, $x16, $x17 4369d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: {{ $}} 4469d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: renamable $x5 = LW renamable $x15, 0 :: (load (s32)) 4569d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: SW renamable $x14, renamable $x15, 0 :: (store (s32)) 4669d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: renamable $x11 = ADDW killed renamable $x6, killed renamable $x5 4769d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: renamable $x7 = LW renamable $x15, 8 :: (load (s32)) 4869d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: renamable $x28 = LW renamable $x15, 16 :: (load (s32)) 4969d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: renamable $x29 = LW renamable $x15, 24 :: (load (s32)) 5069d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: renamable $x13 = ADDW killed renamable $x7, killed renamable $x28 5169d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: SW renamable $x14, renamable $x15, 8 :: (store (s32)) 5269d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: SW renamable $x14, renamable $x15, 16 :: (store (s32)) 5369d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: SW killed renamable $x14, killed renamable $x15, 24 :: (store (s32)) 5469d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: renamable $x11 = ADDW killed renamable $x11, killed renamable $x13 5569d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: renamable $x6 = ADDW killed renamable $x11, killed renamable $x29 5669d0bab8SBoyaoWang430 ; NOCLUSTER-NEXT: PseudoRET 5769d0bab8SBoyaoWang430 ; 5869d0bab8SBoyaoWang430 ; MEMCLUSTER-LABEL: name: mem_clustering_1 5969d0bab8SBoyaoWang430 ; MEMCLUSTER: liveins: $x6, $x10, $x14, $x15, $x16, $x17 6069d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: {{ $}} 6169d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: renamable $x5 = LW renamable $x15, 0 :: (load (s32)) 6269d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: renamable $x7 = LW renamable $x15, 8 :: (load (s32)) 6369d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: renamable $x28 = LW renamable $x15, 16 :: (load (s32)) 6469d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: renamable $x29 = LW renamable $x15, 24 :: (load (s32)) 6569d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: SW renamable $x14, renamable $x15, 0 :: (store (s32)) 6669d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: SW renamable $x14, renamable $x15, 8 :: (store (s32)) 6769d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: SW renamable $x14, renamable $x15, 16 :: (store (s32)) 6869d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: SW killed renamable $x14, killed renamable $x15, 24 :: (store (s32)) 6969d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: renamable $x11 = ADDW killed renamable $x6, killed renamable $x5 7069d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: renamable $x13 = ADDW killed renamable $x7, killed renamable $x28 7169d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: renamable $x11 = ADDW killed renamable $x11, killed renamable $x13 7269d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: renamable $x6 = ADDW killed renamable $x11, killed renamable $x29 7369d0bab8SBoyaoWang430 ; MEMCLUSTER-NEXT: PseudoRET 7469d0bab8SBoyaoWang430 renamable $x5 = LW renamable $x15, 0 :: (load (s32)) 7569d0bab8SBoyaoWang430 renamable $x7 = LW renamable $x15, 8 :: (load (s32)) 7669d0bab8SBoyaoWang430 renamable $x28 = LW renamable $x15, 16 :: (load (s32)) 7769d0bab8SBoyaoWang430 renamable $x29 = LW renamable $x15, 24 :: (load (s32)) 7869d0bab8SBoyaoWang430 renamable $x11 = ADDW killed renamable $x6, killed renamable $x5 7969d0bab8SBoyaoWang430 renamable $x13 = ADDW killed renamable $x7, killed renamable $x28 8069d0bab8SBoyaoWang430 renamable $x11 = ADDW killed renamable $x11, killed renamable $x13 8169d0bab8SBoyaoWang430 renamable $x6 = ADDW killed renamable $x11, killed renamable $x29 8269d0bab8SBoyaoWang430 SW renamable $x14, renamable $x15, 0 :: (store (s32)) 8369d0bab8SBoyaoWang430 SW renamable $x14, renamable $x15, 8 :: (store (s32)) 8469d0bab8SBoyaoWang430 SW renamable $x14, renamable $x15, 16 :: (store (s32)) 8569d0bab8SBoyaoWang430 SW renamable $x14, renamable $x15, 24 :: (store (s32)) 8669d0bab8SBoyaoWang430 PseudoRET 8769d0bab8SBoyaoWang430... 88