xref: /llvm-project/llvm/test/CodeGen/RISCV/misched-mem-clustering.mir (revision 9122c5235ec85ce0c0ad337e862b006e7b349d84)
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