[all-commits] [llvm/llvm-project] e9b82a: [mlir][Vector] Add LLVM lowering for masked reduct...

Diego Caballero via All-commits all-commits at lists.llvm.org
Tue Feb 14 22:15:34 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e9b82a5c4fb6fa1c0af1b8e2536252b0730f41ef
      https://github.com/llvm/llvm-project/commit/e9b82a5c4fb6fa1c0af1b8e2536252b0730f41ef
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2023-02-15 (Wed, 15 Feb 2023)

  Changed paths:
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-reduction-to-llvm.mlir

  Log Message:
  -----------
  [mlir][Vector] Add LLVM lowering for masked reductions

This patch adds the conversion patterns to lower masked reduction
operations to the corresponding vp intrinsics in LLVM.

Reviewed By: ftynse

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


  Commit: 9452356ddcf44720387eda9b6316b7cadff1f60d
      https://github.com/llvm/llvm-project/commit/9452356ddcf44720387eda9b6316b7cadff1f60d
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2023-02-15 (Wed, 15 Feb 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/Vector/vector-contract-transforms.mlir

  Log Message:
  -----------
  [mlir][Vector] Add support for masked vector.contract

This patch adds support for masking vector.contract ops with the
vector.mask approach. This also includes the lowering of vector.contract
through the vector.outerproduct path to LLVM. For now, this only adds
support for one of the many potential flavors of
vector.contract/vector.outerproduct but unsupported cases will fail
gratefully.

Reviewed By: ThomasRaoux

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


  Commit: 1ac874c9aa1859fe67fad110c278588a5a670d78
      https://github.com/llvm/llvm-project/commit/1ac874c9aa1859fe67fad110c278588a5a670d78
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2023-02-15 (Wed, 15 Feb 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
    M mlir/test/Dialect/Vector/lower-vector-mask.mlir

  Log Message:
  -----------
  [mlir][Vector] Add support for masked vector gather ops

This patch adds support for masked vector.gather ops using the
vector.mask representation. It includes the implementation of the
MaskableOpInterface, Linalg vectorizer support and lowering to LLVM.

Reviewed By: ThomasRaoux

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


  Commit: 1427277eed800335ea211cdb94f10b4976a54231
      https://github.com/llvm/llvm-project/commit/1427277eed800335ea211cdb94f10b4976a54231
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2023-02-15 (Wed, 15 Feb 2023)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization.mlir

  Log Message:
  -----------
  [mlir][Vector] Enable masking for static shapes

Support for masking static shapes was already implemented in the past
but not enabled so this patch is just removing a pre-condition check and
adding some tests with static shapes.

Reviewed By: ThomasRaoux

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


Compare: https://github.com/llvm/llvm-project/compare/a409f3c06914...1427277eed80


More information about the All-commits mailing list