[all-commits] [llvm/llvm-project] 28460a: [RISCV] Add SEW to RISCVInversePseudoTable

Michael Maitland via All-commits all-commits at lists.llvm.org
Fri Jul 14 12:12:26 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 28460a8b86da1f2a9fee0dac1204aff0f51f75da
      https://github.com/llvm/llvm-project/commit/28460a8b86da1f2a9fee0dac1204aff0f51f75da
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2023-07-14 (Fri, 14 Jul 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td

  Log Message:
  -----------
  [RISCV] Add SEW to RISCVInversePseudoTable

Now that scheduler resources are split by SEW for some instructions,
add the ability to map (BaseInstr, LMUL, SEW) -> Pseudo. For
BaseInstrs that are not split by SEW, 0 is the default key.

This does not change the size of the table since there was an 8
bit hole.

Differential Revision: https://reviews.llvm.org/D154136


  Commit: 3d7d463f73bac66663070f7371a1da33714b923b
      https://github.com/llvm/llvm-project/commit/3d7d463f73bac66663070f7371a1da33714b923b
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2023-07-14 (Fri, 14 Jul 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
    M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.h
    R llvm/test/tools/llvm-mca/RISCV/different-instruments.s
    A llvm/test/tools/llvm-mca/RISCV/different-lmul-instruments.s
    A llvm/test/tools/llvm-mca/RISCV/different-sew-instruments.s
    R llvm/test/tools/llvm-mca/RISCV/instrument-at-start.s
    R llvm/test/tools/llvm-mca/RISCV/instrument-in-middle.s
    R llvm/test/tools/llvm-mca/RISCV/instrument-in-region.s
    R llvm/test/tools/llvm-mca/RISCV/instrument-straddles-region.s
    A llvm/test/tools/llvm-mca/RISCV/lmul-instrument-at-start.s
    A llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-middle.s
    A llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-region.s
    A llvm/test/tools/llvm-mca/RISCV/lmul-instrument-straddles-region.s
    R llvm/test/tools/llvm-mca/RISCV/multiple-same-instruments.s
    A llvm/test/tools/llvm-mca/RISCV/multiple-same-lmul-instruments.s
    A llvm/test/tools/llvm-mca/RISCV/multiple-same-sew-instruments.s
    A llvm/test/tools/llvm-mca/RISCV/needs-sew-but-only-lmul.s
    R llvm/test/tools/llvm-mca/RISCV/riscv-instrument-no-data-is-err.s
    A llvm/test/tools/llvm-mca/RISCV/riscv-lmul-instrument-no-data-is-err.s
    A llvm/test/tools/llvm-mca/RISCV/riscv-sew-instrument-no-data-is-err.s
    A llvm/test/tools/llvm-mca/RISCV/sew-instrument-at-start.s
    A llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-middle.s
    A llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-region.s
    A llvm/test/tools/llvm-mca/RISCV/sew-instrument-straddles-region.s
    M llvm/test/tools/llvm-mca/RISCV/unknown-lmul-is-err.s
    A llvm/test/tools/llvm-mca/RISCV/unknown-sew-is-err.s
    A llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-sew-instrument.s
    A llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-sew-instrument.s

  Log Message:
  -----------
  [llvm-mca][RISCV] Add RISCV-SEW instrument

Now that RISCV pseudo instructions now account for SEW in some cases,
it useful that RISCV SEW instruments exist so that llvm-mca can use
the SEW specific scheduler classes.

Differential Revision: https://reviews.llvm.org/D154142


Compare: https://github.com/llvm/llvm-project/compare/db647f5bd8fd...3d7d463f73ba


More information about the All-commits mailing list