aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-mca/llvm-mca.cpp
diff options
context:
space:
mode:
authorMaheshRavishankar <ravishankarm@google.com>2022-01-11 13:35:37 -0800
committerMaheshRavishankar <ravishankarm@google.com>2022-01-11 13:37:25 -0800
commite7cb716ef95551000d9de2d0334ab1bf84a120a3 (patch)
tree3755080fa18b2713f46e991ff06dfb5fe3b90223 /llvm/tools/llvm-mca/llvm-mca.cpp
parent4372e629a9a98577a6a2d130109c3dc7da84dc62 (diff)
downloadllvm-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