[all-commits] [llvm/llvm-project] f80a97: [mlir][vector] Add gather lowering patterns

Jakub Kuderski via All-commits all-commits at lists.llvm.org
Tue Mar 14 08:00:20 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f80a976acd85611acd795225999a92bba57c76e6
      https://github.com/llvm/llvm-project/commit/f80a976acd85611acd795225999a92bba57c76e6
  Author: Jakub Kuderski <kubak at google.com>
  Date:   2023-03-14 (Tue, 14 Mar 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    A mlir/test/Dialect/Vector/vector-gather-lowering.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector] Add gather lowering patterns

This is for targets that do not support gather-like ops, e.g., SPIR-V.

Gather is expanded into lower-level vector ops with memory accesses
guarded with `scf.if`.

I also considered generating `vector.maskedload`s, but decided against
it to keep the `memref` and `tensor` codepath closer together. There's a
good chance that if a target doesn't support gather it does not support
masked loads either.

Issue: https://github.com/llvm/llvm-project/issues/60905

Reviewed By: ThomasRaoux

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




More information about the All-commits mailing list