[Mlir-commits] [mlir] Remove assertion in ExpandShapeOp::build (PR #91361)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Tue May 7 10:28:56 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-tensor
Author: Benoit Jacob (bjacob)
<details>
<summary>Changes</summary>
Unblocking downstream integrate where an expected-to-fail test was expecting this to be a runtime verifier error, not a compiler crash: https://github.com/llvm/torch-mlir/pull/3279.
---
Full diff: https://github.com/llvm/llvm-project/pull/91361.diff
1 Files Affected:
- (modified) mlir/lib/Dialect/Tensor/IR/TensorOps.cpp (+6-4)
``````````diff
diff --git a/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp b/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
index 4c65045084dc..7a13f7a7d135 100644
--- a/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
+++ b/mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
@@ -1676,10 +1676,12 @@ void ExpandShapeOp::build(OpBuilder &builder, OperationState &result,
auto tensorResultTy = cast<RankedTensorType>(resultType);
FailureOr<SmallVector<OpFoldResult>> outputShape = inferOutputShape(
builder, result.location, tensorResultTy, reassociation, inputShape);
- // Failure of this assertion usually indicates presence of multiple
- // dynamic dimensions in the same reassociation group.
- assert(succeeded(outputShape) && "unable to infer output shape");
- build(builder, result, tensorResultTy, src, reassociation, *outputShape);
+ SmallVector<OpFoldResult> outputShapeOrEmpty;
+ if (succeeded(outputShape)) {
+ outputShapeOrEmpty = *outputShape;
+ }
+ build(builder, result, tensorResultTy, src, reassociation,
+ outputShapeOrEmpty);
}
SmallVector<AffineMap, 4> CollapseShapeOp::getReassociationMaps() {
``````````
</details>
https://github.com/llvm/llvm-project/pull/91361
More information about the Mlir-commits
mailing list