diff --git a/mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp b/mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp --- a/mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp +++ b/mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp @@ -76,6 +76,8 @@ struct DimOfReifyRankedShapedTypeOpInterface : public OpRewritePattern { using OpRewritePattern::OpRewritePattern; + void initialize() { OpRewritePattern::setHasBoundedRewriteRecursion(); } + LogicalResult matchAndRewrite(OpTy dimOp, PatternRewriter &rewriter) const override { OpResult dimValue = dimOp.getSource().template dyn_cast();