From 3e0866bf616bf7b293cec93d06d030dd11d7911f Mon Sep 17 00:00:00 2001 From: Nicolas Vasilache Date: Tue, 14 Feb 2023 16:04:05 -0800 Subject: [PATCH] [mlir][Vector] NFC - Fail gracefully on size mismatch instead of assert --- mlir/lib/Dialect/Vector/IR/VectorOps.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mlir/lib/Dialect/Vector/IR/VectorOps.cpp b/mlir/lib/Dialect/Vector/IR/VectorOps.cpp index 8073757..02cee8c 100644 --- a/mlir/lib/Dialect/Vector/IR/VectorOps.cpp +++ b/mlir/lib/Dialect/Vector/IR/VectorOps.cpp @@ -4295,6 +4295,11 @@ public: } // Fail if tensor::ExtractSliceOp and tensor::InsertSliceOp sizes differ. + if (insertOp.getMixedSizes().size() != extractOp.getMixedSizes().size()) { + return rewriter.notifyMatchFailure( + insertOp, "InsertSliceOp and ExtractSliceOp ranks differ"); + } + for (auto [insertSize, extractSize] : llvm::zip_equal(insertOp.getMixedSizes(), extractOp.getMixedSizes())) { if (!isEqualConstantIntOrValue(insertSize, extractSize)) { @@ -5343,8 +5348,8 @@ void MaskOp::build( } void MaskOp::build( - OpBuilder &builder, OperationState &result, TypeRange resultTypes, Value mask, - Value passthru, Operation *maskableOp, + OpBuilder &builder, OperationState &result, TypeRange resultTypes, + Value mask, Value passthru, Operation *maskableOp, function_ref maskRegionBuilder) { build(builder, result, mask, maskableOp, maskRegionBuilder); if (passthru) -- 2.7.4