[Mlir-commits] [mlir] Let memref.collapse_shape implement ReifyRankedShapedTypeOpInterface. (PR #107752)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed Sep 18 22:49:17 PDT 2024
================
@@ -2497,6 +2497,42 @@ MemRefType CollapseShapeOp::computeCollapsedType(
srcType.getMemorySpace());
}
+static bool isDynamicInGroup(ReassociationIndices group,
+ ArrayRef<int64_t> sourceShape) {
+ return llvm::any_of(group, [sourceShape](int64_t dim) {
+ return ShapedType::isDynamic(sourceShape[dim]);
+ });
+}
+
+// This method supports following cases only:
+// - There is dynamic dimension in reassociation groups with single element.
+LogicalResult CollapseShapeOp::reifyResultShapes(
+ OpBuilder &builder, ReifiedRankedShapedTypeDims &reifiedResultShapes) {
+ SmallVector<ReassociationIndices, 4> reassociationArray =
+ getReassociationIndices();
+ Value source = getSrc();
+ auto sourceShape = cast<MemRefType>(source.getType()).getShape();
+ if (!ShapedType::isDynamicShape(sourceShape))
----------------
MaheshRavishankar wrote:
It doesnt have to fail if the source shape is dynamic?
https://github.com/llvm/llvm-project/pull/107752
More information about the Mlir-commits
mailing list