[all-commits] [llvm/llvm-project] 86f186: [mlir][linalg] Add makeComposedPadHighOp.
Tobias Gysi via All-commits
all-commits at lists.llvm.org
Wed Nov 24 11:19:53 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 86f186efea7b5f542ef3d9fa2e63fd485475e011
https://github.com/llvm/llvm-project/commit/86f186efea7b5f542ef3d9fa2e63fd485475e011
Author: Tobias Gysi <gysit at google.com>
Date: 2021-11-24 (Wed, 24 Nov 2021)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/test/Dialect/Linalg/pad.mlir
Log Message:
-----------
[mlir][linalg] Add makeComposedPadHighOp.
Add the makeComposedPadHighOp method which creates a new PadTensorOp if necessary. If the source to pad is actually the result of a sequence of padded LinalgOps, the method checks if padding is needed or if we can use the padded result of the padded LinalgOp sequence directly.
Example:
```
%0 = tensor.extract_slice %arg0 [%iv0, %iv1] [%sz0, %sz1]
%1 = linalg.pad_tensor %0 low[0, 0] high[...] { linalg.yield %cst }
%2 = linalg.matmul ins(...) outs(%1)
%3 = tensor.extract_slice %2 [0, 0] [%sz0, %sz1]
```
when padding %3 return %2 instead of introducing
```
%4 = linalg.pad_tensor %3 low[0, 0] high[...] { linalg.yield %cst }
```
Depends On D114161
Reviewed By: nicolasvasilache, pifon2a
Differential Revision: https://reviews.llvm.org/D114175
More information about the All-commits
mailing list