Added static verification for Linalg Ops.
authorInho Seo <inhoseo@google.com>
Tue, 30 Mar 2021 14:07:12 +0000 (07:07 -0700)
committerHanhan Wang <hanchung@google.com>
Tue, 30 Mar 2021 14:10:17 +0000 (07:10 -0700)
commitf58463345415508b1fb5e3d35330ed288f1a0357
treef00e63a0c3db1fa3fe7323a89cbb46e79bbbce7d
parent80fb7434e9e7bea65a49d2234092b48419e5dc52
Added static verification for Linalg Ops.

This verification is to check if the indices for static shaped operands
on linalgOps access out of bound memory or not. For dynamic shaped
operands, we would be able to check it on runtime stage.

Found several invalid Linalg ops testcases, and fixed them.

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D98390
mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
mlir/test/Dialect/Linalg/fusion-2-level.mlir
mlir/test/Dialect/Linalg/generalize-named-ops.mlir
mlir/test/Dialect/Linalg/invalid.mlir
mlir/test/Dialect/Linalg/named-ops.mlir
mlir/test/Dialect/Linalg/reshape_linearization_fusion.mlir
mlir/test/Dialect/Linalg/sparse_nd.mlir
mlir/test/Dialect/Linalg/tile-and-fuse-tensors.mlir
mlir/test/Dialect/Linalg/tile-indexed-generic.mlir