[all-commits] [llvm/llvm-project] f98025: [mlir][Vector] Generalize and improve folding of E...
Nicolas Vasilache via All-commits
all-commits at lists.llvm.org
Mon Jan 17 08:05:35 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f98025d867e336ebc3c9cba7e66b6ad6261d0b38
https://github.com/llvm/llvm-project/commit/f98025d867e336ebc3c9cba7e66b6ad6261d0b38
Author: Nicolas Vasilache <nicolas.vasilache at gmail.com>
Date: 2022-01-17 (Mon, 17 Jan 2022)
Changed paths:
M mlir/lib/Dialect/Vector/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Generalize and improve folding of ExtractOp from Insert/Transpose chain.
This revision fixes a bug where the iterative algorithm would walk back def-use chains to an incorrect operand.
This exposed opportunities for a larger refactoring and behavior improvement.
The new algorithm has improved folding behavior and proceeds by tracking both the
permutation of the extraction position and the internal vector permutation.
Multiple partial intersection cases with a candidate insertOp are supported.
The refactoring of the implementation should also help it generalize to strided insert/extract op.
This also subsumes the previous `foldExtractOpFromTranspose` which is now a simple special case and can be deleted.
Differential Revision: https://reviews.llvm.org/D117322
More information about the All-commits
mailing list