90 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=riscv64 -x mir -mcpu=sifive-p470 -verify-misched -enable-post-misched=false \3# RUN: -mattr=+disable-postmisched-load-clustering \4# RUN: -mattr=+disable-postmisched-store-clustering -debug-only=machine-scheduler \5# RUN: -start-before=machine-scheduler -stop-after=postmisched -misched-regpressure=false -o - 2>&1 < %s \6# RUN: | FileCheck -check-prefix=NOPOSTMISCHED %s7# RUN: llc -mtriple=riscv64 -x mir -mcpu=sifive-p470 -mattr=+use-postra-scheduler -verify-misched -enable-post-misched=true \8# RUN: -mattr=+disable-postmisched-load-clustering \9# RUN: -mattr=+disable-postmisched-store-clustering -debug-only=machine-scheduler \10# RUN: -start-before=machine-scheduler -stop-after=postmisched -misched-regpressure=false -o - 2>&1 < %s \11# RUN: | FileCheck -check-prefix=NOCLUSTER %s12# RUN: llc -mtriple=riscv64 -x mir -mcpu=sifive-p470 -mattr=+use-postra-scheduler -verify-misched -enable-post-misched=true \13# RUN: -debug-only=machine-scheduler \14# RUN: -start-before=machine-scheduler -stop-after=postmisched -misched-regpressure=false -o - 2>&1 < %s \15# RUN: | FileCheck -check-prefix=MEMCLUSTER %s16 17# REQUIRES: asserts18 19...20---21name: mem_clustering_122tracksRegLiveness: true23body: |24 bb.0:25 liveins: $x6, $x10, $x14, $x15, $x16, $x1726 ; NOPOSTMISCHED-LABEL: name: mem_clustering_127 ; NOPOSTMISCHED: liveins: $x6, $x10, $x14, $x15, $x16, $x1728 ; NOPOSTMISCHED-NEXT: {{ $}}29 ; NOPOSTMISCHED-NEXT: renamable $x5 = LW renamable $x15, 0 :: (load (s32))30 ; NOPOSTMISCHED-NEXT: renamable $x7 = LW renamable $x15, 8 :: (load (s32))31 ; NOPOSTMISCHED-NEXT: renamable $x28 = LW renamable $x15, 16 :: (load (s32))32 ; NOPOSTMISCHED-NEXT: renamable $x29 = LW renamable $x15, 24 :: (load (s32))33 ; NOPOSTMISCHED-NEXT: renamable $x11 = ADDW renamable $x6, killed renamable $x534 ; NOPOSTMISCHED-NEXT: renamable $x13 = ADDW killed renamable $x7, killed renamable $x2835 ; NOPOSTMISCHED-NEXT: renamable $x11 = ADDW killed renamable $x11, killed renamable $x1336 ; NOPOSTMISCHED-NEXT: renamable $x6 = ADDW killed renamable $x11, killed renamable $x2937 ; NOPOSTMISCHED-NEXT: SW renamable $x14, renamable $x15, 0 :: (store (s32))38 ; NOPOSTMISCHED-NEXT: SW renamable $x14, renamable $x15, 8 :: (store (s32))39 ; NOPOSTMISCHED-NEXT: SW renamable $x14, renamable $x15, 16 :: (store (s32))40 ; NOPOSTMISCHED-NEXT: SW renamable $x14, renamable $x15, 24 :: (store (s32))41 ; NOPOSTMISCHED-NEXT: PseudoRET42 ;43 ; NOCLUSTER-LABEL: name: mem_clustering_144 ; NOCLUSTER: liveins: $x6, $x10, $x14, $x15, $x16, $x1745 ; NOCLUSTER-NEXT: {{ $}}46 ; NOCLUSTER-NEXT: renamable $x5 = LW renamable $x15, 0 :: (load (s32))47 ; NOCLUSTER-NEXT: SW renamable $x14, renamable $x15, 0 :: (store (s32))48 ; NOCLUSTER-NEXT: renamable $x11 = ADDW killed renamable $x6, killed renamable $x549 ; NOCLUSTER-NEXT: renamable $x7 = LW renamable $x15, 8 :: (load (s32))50 ; NOCLUSTER-NEXT: renamable $x28 = LW renamable $x15, 16 :: (load (s32))51 ; NOCLUSTER-NEXT: renamable $x29 = LW renamable $x15, 24 :: (load (s32))52 ; NOCLUSTER-NEXT: renamable $x13 = ADDW killed renamable $x7, killed renamable $x2853 ; NOCLUSTER-NEXT: SW renamable $x14, renamable $x15, 8 :: (store (s32))54 ; NOCLUSTER-NEXT: SW renamable $x14, renamable $x15, 16 :: (store (s32))55 ; NOCLUSTER-NEXT: SW killed renamable $x14, killed renamable $x15, 24 :: (store (s32))56 ; NOCLUSTER-NEXT: renamable $x11 = ADDW killed renamable $x11, killed renamable $x1357 ; NOCLUSTER-NEXT: renamable $x6 = ADDW killed renamable $x11, killed renamable $x2958 ; NOCLUSTER-NEXT: PseudoRET59 ;60 ; MEMCLUSTER-LABEL: name: mem_clustering_161 ; MEMCLUSTER: liveins: $x6, $x10, $x14, $x15, $x16, $x1762 ; MEMCLUSTER-NEXT: {{ $}}63 ; MEMCLUSTER-NEXT: renamable $x5 = LW renamable $x15, 0 :: (load (s32))64 ; MEMCLUSTER-NEXT: renamable $x7 = LW renamable $x15, 8 :: (load (s32))65 ; MEMCLUSTER-NEXT: renamable $x28 = LW renamable $x15, 16 :: (load (s32))66 ; MEMCLUSTER-NEXT: renamable $x29 = LW renamable $x15, 24 :: (load (s32))67 ; MEMCLUSTER-NEXT: SW renamable $x14, renamable $x15, 0 :: (store (s32))68 ; MEMCLUSTER-NEXT: SW renamable $x14, renamable $x15, 8 :: (store (s32))69 ; MEMCLUSTER-NEXT: SW renamable $x14, renamable $x15, 16 :: (store (s32))70 ; MEMCLUSTER-NEXT: SW killed renamable $x14, killed renamable $x15, 24 :: (store (s32))71 ; MEMCLUSTER-NEXT: renamable $x11 = ADDW killed renamable $x6, killed renamable $x572 ; MEMCLUSTER-NEXT: renamable $x13 = ADDW killed renamable $x7, killed renamable $x2873 ; MEMCLUSTER-NEXT: renamable $x11 = ADDW killed renamable $x11, killed renamable $x1374 ; MEMCLUSTER-NEXT: renamable $x6 = ADDW killed renamable $x11, killed renamable $x2975 ; MEMCLUSTER-NEXT: PseudoRET76 renamable $x5 = LW renamable $x15, 0 :: (load (s32))77 renamable $x7 = LW renamable $x15, 8 :: (load (s32))78 renamable $x28 = LW renamable $x15, 16 :: (load (s32))79 renamable $x29 = LW renamable $x15, 24 :: (load (s32))80 renamable $x11 = ADDW killed renamable $x6, killed renamable $x581 renamable $x13 = ADDW killed renamable $x7, killed renamable $x2882 renamable $x11 = ADDW killed renamable $x11, killed renamable $x1383 renamable $x6 = ADDW killed renamable $x11, killed renamable $x2984 SW renamable $x14, renamable $x15, 0 :: (store (s32))85 SW renamable $x14, renamable $x15, 8 :: (store (s32))86 SW renamable $x14, renamable $x15, 16 :: (store (s32))87 SW renamable $x14, renamable $x15, 24 :: (store (s32))88 PseudoRET89...90