FailedChanges

Summary

  1. Reorder linalg.conv indexing_maps loop order (details)
Commit 9b47525824df9be5ae23c39e7ce0d220d12f85e5 by ataei
Reorder linalg.conv indexing_maps loop order

Change the indexing map to iterate over the (b, x0, x1, z0, z1, q, k) instead of (b, x0, x1, k, q, z0, z1) to evaluate the convolution expression:
Y[b, x0, x1, k] = sum(W[z0, z1, q, k] * X[b, x0 + z0, x1 + z1, q], z0, z1, q)

This allows llvm auto vectorize to work and has better locality resulting significant performance improvments

Differential Revision: https://reviews.llvm.org/D87781
The file was modifiedmlir/test/Dialect/Linalg/affine.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile_conv.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/test/Dialect/Linalg/loops.mlir