[Mlir-commits] [mlir] Let `memref.{expand, collapse}_shape` implement `ReifyRankedShapedTypeOpInterface` (PR #89111)
Oleksandr Alex Zinenko
llvmlistbot at llvm.org
Thu Apr 18 00:54:25 PDT 2024
================
@@ -2079,6 +2080,95 @@ void ExpandShapeOp::getAsmResultNames(
setNameFn(getResult(), "expand_shape");
}
+LogicalResult ExpandShapeOp::reifyResultShapes(
+ OpBuilder &builder, ReifiedRankedShapedTypeDims &reifiedReturnShapes) {
+ SmallVector<OpFoldResult> resultDims;
+ ArrayRef<int64_t> expandedShape = this->getResultType().getShape();
+ for (size_t expanded_dim = 0; expanded_dim < expandedShape.size();
+ ++expanded_dim) {
+ if (ShapedType::isDynamic(expandedShape[expanded_dim])) {
+ // Dynamic dimension case. Map expanded_dim to the corresponded
+ // collapsed dim. All other expanded dimensions corresponding to
+ // that collapsed dim must be static-size. Compute their product
+ // to divide the result size by.
+ auto reassoc = this->getReassociationIndices();
----------------
ftynse wrote:
Please expand `auto` unless the type is obvious from line-level context.
https://github.com/llvm/llvm-project/pull/89111
More information about the Mlir-commits
mailing list