From 42831686034bd799ef5af4914e27e66b353338b6 Mon Sep 17 00:00:00 2001 From: River Riddle Date: Wed, 27 Oct 2021 04:11:49 +0000 Subject: [PATCH] Fix AffineDemotion pass after the DialectConversion change in D111620 --- flang/lib/Optimizer/Transforms/AffineDemotion.cpp | 28 ++++++++++++----------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/flang/lib/Optimizer/Transforms/AffineDemotion.cpp b/flang/lib/Optimizer/Transforms/AffineDemotion.cpp index d774d97..fa28f0a 100644 --- a/flang/lib/Optimizer/Transforms/AffineDemotion.cpp +++ b/flang/lib/Optimizer/Transforms/AffineDemotion.cpp @@ -42,13 +42,14 @@ using namespace fir; namespace { -class AffineLoadConversion : public OpRewritePattern { +class AffineLoadConversion : public OpConversionPattern { public: - using OpRewritePattern::OpRewritePattern; + using OpConversionPattern::OpConversionPattern; - LogicalResult matchAndRewrite(mlir::AffineLoadOp op, - PatternRewriter &rewriter) const override { - SmallVector indices(op.getMapOperands()); + LogicalResult + matchAndRewrite(mlir::AffineLoadOp op, OpAdaptor adaptor, + ConversionPatternRewriter &rewriter) const override { + SmallVector indices(adaptor.indices()); auto maybeExpandedMap = expandAffineMap(rewriter, op.getLoc(), op.getAffineMap(), indices); if (!maybeExpandedMap) @@ -56,20 +57,21 @@ public: auto coorOp = rewriter.create( op.getLoc(), fir::ReferenceType::get(op.getResult().getType()), - op.getMemRef(), *maybeExpandedMap); + adaptor.memref(), *maybeExpandedMap); rewriter.replaceOpWithNewOp(op, coorOp.getResult()); return success(); } }; -class AffineStoreConversion : public OpRewritePattern { +class AffineStoreConversion : public OpConversionPattern { public: - using OpRewritePattern::OpRewritePattern; + using OpConversionPattern::OpConversionPattern; - LogicalResult matchAndRewrite(mlir::AffineStoreOp op, - PatternRewriter &rewriter) const override { - SmallVector indices(op.getMapOperands()); + LogicalResult + matchAndRewrite(mlir::AffineStoreOp op, OpAdaptor adaptor, + ConversionPatternRewriter &rewriter) const override { + SmallVector indices(op.indices()); auto maybeExpandedMap = expandAffineMap(rewriter, op.getLoc(), op.getAffineMap(), indices); if (!maybeExpandedMap) @@ -77,8 +79,8 @@ public: auto coorOp = rewriter.create( op.getLoc(), fir::ReferenceType::get(op.getValueToStore().getType()), - op.getMemRef(), *maybeExpandedMap); - rewriter.replaceOpWithNewOp(op, op.getValueToStore(), + adaptor.memref(), *maybeExpandedMap); + rewriter.replaceOpWithNewOp(op, adaptor.value(), coorOp.getResult()); return success(); } -- 2.7.4