summaryrefslogtreecommitdiff
path: root/mlir/lib/Parser
diff options
context:
space:
mode:
authorMahesh Ravishankar <ravishankarm@google.com>2023-03-01 16:33:14 -0800
committerMahesh Ravishankar <ravishankarm@google.com>2023-03-16 14:29:03 +0000
commit809e3d8c98a80fc61c8bdbb3745d1d50a3f1d365 (patch)
tree60ea5dbd90671206b2bd5b5d20fc6d0ea89db85c /mlir/lib/Parser
parenta586c551000bcd874852ea1265f6dac4b3d894b3 (diff)
downloadllvm-809e3d8c98a80fc61c8bdbb3745d1d50a3f1d365.tar.gz
[mlir][TilingInterface] Modify `TilingInterface` methods to better return the state of the transformed IR.
Currently the `getTiledImplementation` and `generateResultTileValue` return just `SmallVector<Operation *>` and `FailureOr<Value>`. - For `getTiledImplementation` returning empty implies tiling wasnt done. There is also an implicit assumption that the tiled operation results correspond to the tiled values of the result of the original operation. This cannot handle cases where the tiled implementation might use multiple operations to compute the tiled value for the results of the untiled operation. Sometimes, the tiled operation might not directly give the tiled values, and might require casts, etc to get a replacement. - For `generateResultTileValue`, it is assumed that the op defining the returned `Value` is the operation that represents the tiled computation. Again presence of casts, etc violate this. Instead make these methods return ``` struct TilingResult { SmallVector<Operation *> tiledOps; SmallVector<Value> tiledValues; }; ``` The `tiledOps` represent the operations generated that are relevant for subsequent transformations. The `tiledValues` represent the tiled values for the results of the original operation. This better transmits the state of the transformed IR. As a consequence the following methods also return `FailureOr<TilingResult>` - `tensor::replaceExtractSliceWithTiledProducer` - `tensor::bubbleUpPadSlice` Differential Revision: https://reviews.llvm.org/D145133
Diffstat (limited to 'mlir/lib/Parser')
0 files changed, 0 insertions, 0 deletions