llvm/mlir/lib
Okwan Kwon 65bdeddb1e [mlir] Bubble up tensor.extract_slice above linalg operation
Bubble up extract_slice above Linalg operation.

A sequence of operations

    %0 = linalg.<op> ... arg0, arg1, ...
    %1 = tensor.extract_slice %0 ...

can be replaced with

    %0 = tensor.extract_slice %arg0
    %1 = tensor.extract_slice %arg1
    %2 = linalg.<op> ... %0, %1, ...

This results in the reduce computation of the linalg operation.

The implementation uses the tiling utility functions. One difference
from the tiling process is that we don't need to insert the checking
code for the out-of-bound accesses. The use of the slice itself
represents that the code writer is sure about the boundary condition.
To avoid adding the boundary condtion check code, `omitPartialTileCheck`
is introduced for the tiling utility functions.

Differential Revision: https://reviews.llvm.org/D122437
2022-03-31 16:48:38 +00:00
..
Analysis [MLIR][Presburger] Carry IdKind information in LinearTransform::applyTo 2022-03-31 20:42:50 +05:30
Bindings/Python Expose MlirOperationClone in Python bindings. 2022-03-28 15:58:22 +02:00
CAPI
Conversion [mlir][vector][nfc] Rename index optimizations option 2022-03-29 11:33:22 +01:00
Dialect [mlir] Bubble up tensor.extract_slice above linalg operation 2022-03-31 16:48:38 +00:00
ExecutionEngine [mlir][sparse] Distinguishing "shape" from "sizes" in variable names 2022-03-22 14:15:59 -07:00
Interfaces [mlir] Simplify LoopLikeOpInterface 2022-03-28 18:10:04 +00:00
IR [mlir] Bubble up tensor.extract_slice above linalg operation 2022-03-31 16:48:38 +00:00
Parser [mlir] Fix leak in case of failed parse 2022-03-28 20:04:31 -07:00
Pass
Reducer
Rewrite [mlir] Make OpBuilder::createOperation to accept raw inputs 2022-03-23 22:13:48 +00:00
Support [mlir] Move InterfaceMap::InterfaceMap to the cpp file 2022-03-17 20:14:24 +01:00
TableGen
Target [MLIR] Avoid some pointer element type accesses 2022-03-30 10:00:51 +02:00
Tools [mlir:PDLL][NFC] Remove a dead comment about constant params 2022-03-19 13:38:27 -07:00
Transforms [mlir][cf-sink] Accept a callback for sinking operations 2022-03-28 19:31:23 +00:00
CMakeLists.txt