diff options
author | MaheshRavishankar <ravishankarm@google.com> | 2022-01-11 13:35:37 -0800 |
---|---|---|
committer | MaheshRavishankar <ravishankarm@google.com> | 2022-01-11 13:37:25 -0800 |
commit | e7cb716ef95551000d9de2d0334ab1bf84a120a3 (patch) | |
tree | 3755080fa18b2713f46e991ff06dfb5fe3b90223 /llvm/tools/llvm-mca/llvm-mca.cpp | |
parent | 4372e629a9a98577a6a2d130109c3dc7da84dc62 (diff) | |
download | llvm-e7cb716ef95551000d9de2d0334ab1bf84a120a3.zip llvm-e7cb716ef95551000d9de2d0334ab1bf84a120a3.tar.gz llvm-e7cb716ef95551000d9de2d0334ab1bf84a120a3.tar.bz2 |
[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
Diffstat (limited to 'llvm/tools/llvm-mca/llvm-mca.cpp')
0 files changed, 0 insertions, 0 deletions