Make shape.is_broadcastable/shape.cstr_broadcastable nary
authorTres Popp <tpopp@google.com>
Wed, 10 Feb 2021 09:24:32 +0000 (10:24 +0100)
committerTres Popp <tpopp@google.com>
Mon, 15 Feb 2021 15:05:32 +0000 (16:05 +0100)
commit3842d4b6791f6fbd67a1d12806f05a05654728cf
tree4362ecc2715e4c57d79f5818f120711383619fad
parente8b9da712f579cbd18f5b993e984c18c501f4802
Make shape.is_broadcastable/shape.cstr_broadcastable nary

This corresponds with the previous work to make shape.broadcast nary.
Additionally, simplify the ConvertShapeConstraints pass. It now doesn't
lower an implicit shape.is_broadcastable. This is still the same in
combination with shape-to-standard when the 2 passes are used in either
order.

Differential Revision: https://reviews.llvm.org/D96401
mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.td
mlir/lib/Dialect/Shape/IR/Shape.cpp
mlir/lib/Dialect/Shape/IR/ShapeCanonicalization.td
mlir/test/Conversion/ShapeToStandard/convert-shape-constraints.mlir
mlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
mlir/test/Dialect/Shape/invalid.mlir