[all-commits] [llvm/llvm-project] 7301a7: [mlir][linalg] Make Linalg vectorizer lower affine...

Andrzej WarzyƄski via All-commits all-commits at lists.llvm.org
Tue Feb 14 11:05:20 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7301a7ce196e217c077b2b68f58366be48664223
      https://github.com/llvm/llvm-project/commit/7301a7ce196e217c077b2b68f58366be48664223
  Author: Andrzej Warzynski <andrzej.warzynski at gmail.com>
  Date:   2023-02-14 (Tue, 14 Feb 2023)

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

  Log Message:
  -----------
  [mlir][linalg] Make Linalg vectorizer lower affine.apply

As discussed in [1], it is possible that the input to the Linalg
vectorizer contains `affine.apply` ops. Such operations are not
vectarizable at the moment, but this can be fixed by simply converting
them to arithmetic operations. This is basically what this patch
introduces.

The IR change enabled in this patch could be part of a larger set of
"linalgOp pre-processing" transformations that happens right before
vectorization starts but after we know we can vectorize the op. I am
leaving this as a TODO.

[1] https://github.com/iree-org/iree/issues/10876

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

Co-authored-by: Thomas Raoux <thomasraoux at google.com>




More information about the All-commits mailing list