[all-commits] [llvm/llvm-project] 4d268d: [RISCV] Enable CGP to sink splat operands of VP in...

Fraser Cormack via All-commits all-commits at lists.llvm.org
Fri Jan 21 03:40:57 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4d268dc94a6bef0221c94d4b7e4c2b112e75fe1b
      https://github.com/llvm/llvm-project/commit/4d268dc94a6bef0221c94d4b7e4c2b112e75fe1b
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2022-01-21 (Fri, 21 Jan 2022)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll

  Log Message:
  -----------
  [RISCV] Enable CGP to sink splat operands of VP intrinsics

This patch brings better splat-matching to our VP support, by sinking
splat operands of VP intrinsics back into the same block as the VP
operation. The list of VP intrinsics we are interested in matches that
of the regular instructions.

Some optimization is still lacking. For instance, our VL nodes aren't
recognized as commutative, so splats must be on the RHS. Because of
this, we limit our sinking of splats to just the RHS operand for now.
Improvement in this regard can come in another patch.

Reviewed By: craig.topper

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




More information about the All-commits mailing list