commit | de0044c11b81bed075b6b585300eb1697ac25e02 | [log] [tgz] |
---|---|---|
author | Tobias Gysi <gysit@google.com> | Wed Nov 24 19:12:39 2021 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Nov 24 11:21:32 2021 -0800 |
tree | 91674d2c2433e8aee58df6870ad3354ab2f368d6 | |
parent | 08c7551887ca6df905c401c017dc8ab086bffbeb [diff] |
[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 GitOrigin-RevId: 86f186efea7b5f542ef3d9fa2e63fd485475e011
See https://mlir.llvm.org/ for more information.