[mlir][Linalg] Improve region support in Linalg ops.
authorNicolas Vasilache <nicolas.vasilache@gmail.com>
Fri, 12 Feb 2021 13:50:10 +0000 (13:50 +0000)
committerNicolas Vasilache <nicolas.vasilache@gmail.com>
Fri, 12 Feb 2021 14:51:03 +0000 (14:51 +0000)
commit973e133b769773c89ce4b8bbfd6c77612d2ff9d4
tree2159b4c27d6d2a28d9f7b7520200940f51bb951a
parentee4dd0f87698330a8d86ed268d69c4fe9be49e6f
[mlir][Linalg] Improve region support in Linalg ops.

This revision takes advantage of the newly extended `ref` directive in assembly format
to allow better region handling for LinalgOps. Specifically, FillOp and CopyOp now build their regions explicitly which allows retiring older behavior that relied on specific op knowledge in both lowering to loops and vectorization.

Differential Revision: https://reviews.llvm.org/D96598
mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
mlir/lib/Dialect/Linalg/EDSC/Builders.cpp
mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
mlir/test/Transforms/copy-removal.mlir
mlir/test/mlir-linalg-ods-gen/test-linalg-ods-gen.tc
mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp