llvm-project/mlir
MaheshRavishankar e7cb716ef9 [mlir][Linalg] Pattern to fuse pad operation with elementwise operations.
Most convolution operations need explicit padding of the input to
ensure all accesses are inbounds. In such cases, having a pad
operation can be a significant overhead. One way to reduce that
overhead is to try to fuse the pad operation with the producer of its
source.

A sequence

```
linalg.generic -> linalg.pad_tensor
```

can be replaced with

```
linalg.fill -> tensor.extract_slice -> linalg.generic ->
tensor.insert_slice.
```

if the `linalg.generic` has all parallel iterator types.

Differential Revision: https://reviews.llvm.org/D116418
2022-01-11 13:37:25 -08:00
..
cmake/modules Fix exported MLIR_TABLEGEN_EXE 2022-01-09 23:27:08 -08:00
docs Add a `qualified` directive to the Op, Attribute, and Type declarative assembly format 2022-01-11 01:30:19 +00:00
examples Fix clang-tidy issues in mlir/ (NFC) 2021-12-20 20:25:01 +00:00
include [mlir][Linalg] Pattern to fuse pad operation with elementwise operations. 2022-01-11 13:37:25 -08:00
lib [mlir][Linalg] Pattern to fuse pad operation with elementwise operations. 2022-01-11 13:37:25 -08:00
python [mlir][linalg] Improve pooling op iterator order consistency 2022-01-11 17:49:22 +00:00
test [mlir][Linalg] Pattern to fuse pad operation with elementwise operations. 2022-01-11 13:37:25 -08:00
tools [mlir][Linalg] Pattern to fuse pad operation with elementwise operations. 2022-01-11 13:37:25 -08:00
unittests [MLIR][NFC] Move PresburgerSet to Presburger/ directory 2022-01-08 15:39:40 +05:30
utils Update mlir GDB printers 2022-01-06 22:20:25 +01:00
.clang-format
.clang-tidy Enable readability-redundant-smartptr-get in MLIR local clang-tidy config 2022-01-08 20:07:11 +00:00
CMakeLists.txt [CMake] Factor out config prefix finding logic 2022-01-07 20:16:18 +00:00
LICENSE.TXT
README.md

README.md

Multi-Level Intermediate Representation

See https://mlir.llvm.org/ for more information.