diff --git a/compilers/concrete-compiler/compiler/lib/Conversion/Utils/Dialects/SCF.cpp b/compilers/concrete-compiler/compiler/lib/Conversion/Utils/Dialects/SCF.cpp index 8f077ee8e..a8beae3cc 100644 --- a/compilers/concrete-compiler/compiler/lib/Conversion/Utils/Dialects/SCF.cpp +++ b/compilers/concrete-compiler/compiler/lib/Conversion/Utils/Dialects/SCF.cpp @@ -14,8 +14,8 @@ TypeConvertingReinstantiationPattern::matchAndRewrite( scf::ForOp oldOp, mlir::OpConversionPattern::OpAdaptor adaptor, mlir::ConversionPatternRewriter &rewriter) const { // Create new for loop with empty body, but converted iter args - scf::ForOp newForOp = rewriter.replaceOpWithNewOp( - oldOp, adaptor.getLowerBound(), adaptor.getUpperBound(), + scf::ForOp newForOp = rewriter.create( + oldOp.getLoc(), adaptor.getLowerBound(), adaptor.getUpperBound(), adaptor.getStep(), adaptor.getInitArgs(), [&](OpBuilder &builder, Location loc, Value iv, ValueRange args) {}); @@ -35,6 +35,8 @@ TypeConvertingReinstantiationPattern::matchAndRewrite( newForOp.getRegion()); } + rewriter.replaceOp(oldOp, newForOp.getResults()); + return mlir::success(); } } // namespace concretelang