Lines Matching refs:rewriter
101 PatternRewriter &rewriter) const override { in matchAndRewrite()
103 lowerAffineMapMin(rewriter, op.getLoc(), op.getMap(), op.operands()); in matchAndRewrite()
107 rewriter.replaceOp(op, reduced); in matchAndRewrite()
117 PatternRewriter &rewriter) const override { in matchAndRewrite()
119 lowerAffineMapMax(rewriter, op.getLoc(), op.getMap(), op.operands()); in matchAndRewrite()
123 rewriter.replaceOp(op, reduced); in matchAndRewrite()
134 PatternRewriter &rewriter) const override { in matchAndRewrite()
138 rewriter.replaceOpWithNewOp<scf::YieldOp>(op); in matchAndRewrite()
141 rewriter.replaceOpWithNewOp<scf::YieldOp>(op, op.operands()); in matchAndRewrite()
151 PatternRewriter &rewriter) const override { in matchAndRewrite()
153 Value lowerBound = lowerAffineLowerBound(op, rewriter); in matchAndRewrite()
154 Value upperBound = lowerAffineUpperBound(op, rewriter); in matchAndRewrite()
155 Value step = rewriter.create<arith::ConstantIndexOp>(loc, op.getStep()); in matchAndRewrite()
156 auto scfForOp = rewriter.create<scf::ForOp>(loc, lowerBound, upperBound, in matchAndRewrite()
158 rewriter.eraseBlock(scfForOp.getBody()); in matchAndRewrite()
159 rewriter.inlineRegionBefore(op.getRegion(), scfForOp.getRegion(), in matchAndRewrite()
161 rewriter.replaceOp(op, scfForOp.getResults()); in matchAndRewrite()
173 PatternRewriter &rewriter) const override { in matchAndRewrite()
184 Value lower = lowerAffineMapMax(rewriter, loc, op.getLowerBoundMap(i), in matchAndRewrite()
187 return rewriter.notifyMatchFailure(op, "couldn't convert lower bounds"); in matchAndRewrite()
190 Value upper = lowerAffineMapMin(rewriter, loc, op.getUpperBoundMap(i), in matchAndRewrite()
193 return rewriter.notifyMatchFailure(op, "couldn't convert upper bounds"); in matchAndRewrite()
198 steps.push_back(rewriter.create<arith::ConstantIndexOp>(loc, step)); in matchAndRewrite()
205 parOp = rewriter.create<scf::ParallelOp>(loc, lowerBoundTuple, in matchAndRewrite()
208 rewriter.eraseBlock(parOp.getBody()); in matchAndRewrite()
209 rewriter.inlineRegionBefore(op.getRegion(), parOp.getRegion(), in matchAndRewrite()
211 rewriter.replaceOp(op, parOp.getResults()); in matchAndRewrite()
229 arith::getIdentityValue(reductionOpValue, resultType, rewriter, loc)); in matchAndRewrite()
231 parOp = rewriter.create<scf::ParallelOp>( in matchAndRewrite()
236 rewriter.eraseBlock(parOp.getBody()); in matchAndRewrite()
237 rewriter.inlineRegionBefore(op.getRegion(), parOp.getRegion(), in matchAndRewrite()
248 rewriter.setInsertionPoint(&parOp.getBody()->back()); in matchAndRewrite()
249 auto reduceOp = rewriter.create<scf::ReduceOp>( in matchAndRewrite()
251 rewriter.setInsertionPointToEnd(&reduceOp.getReductionOperator().front()); in matchAndRewrite()
253 reductionOpValue, rewriter, loc, in matchAndRewrite()
256 rewriter.create<scf::ReduceReturnOp>(loc, reductionResult); in matchAndRewrite()
258 rewriter.replaceOp(op, parOp.getResults()); in matchAndRewrite()
268 PatternRewriter &rewriter) const override { in matchAndRewrite()
273 Value zeroConstant = rewriter.create<arith::ConstantIndexOp>(loc, 0); in matchAndRewrite()
285 Value affResult = expandAffineExpr(rewriter, loc, constraintExpr, in matchAndRewrite()
293 rewriter.create<arith::CmpIOp>(loc, pred, affResult, zeroConstant); in matchAndRewrite()
295 ? rewriter.create<arith::AndIOp>(loc, cond, cmpVal).getResult() in matchAndRewrite()
299 : rewriter.create<arith::ConstantIntOp>(loc, /*value=*/1, in matchAndRewrite()
303 auto ifOp = rewriter.create<scf::IfOp>(loc, op.getResultTypes(), cond, in matchAndRewrite()
305 rewriter.inlineRegionBefore(op.getThenRegion(), in matchAndRewrite()
307 rewriter.eraseBlock(&ifOp.getThenRegion().back()); in matchAndRewrite()
309 rewriter.inlineRegionBefore(op.getElseRegion(), in matchAndRewrite()
311 rewriter.eraseBlock(&ifOp.getElseRegion().back()); in matchAndRewrite()
315 rewriter.replaceOp(op, ifOp.getResults()); in matchAndRewrite()
327 PatternRewriter &rewriter) const override { in matchAndRewrite()
329 expandAffineMap(rewriter, op.getLoc(), op.getAffineMap(), in matchAndRewrite()
333 rewriter.replaceOp(op, *maybeExpandedMap); in matchAndRewrite()
346 PatternRewriter &rewriter) const override { in matchAndRewrite()
350 expandAffineMap(rewriter, op.getLoc(), op.getAffineMap(), indices); in matchAndRewrite()
355 rewriter.replaceOpWithNewOp<memref::LoadOp>(op, op.getMemRef(), in matchAndRewrite()
369 PatternRewriter &rewriter) const override { in matchAndRewrite()
373 expandAffineMap(rewriter, op.getLoc(), op.getAffineMap(), indices); in matchAndRewrite()
378 rewriter.replaceOpWithNewOp<memref::PrefetchOp>( in matchAndRewrite()
393 PatternRewriter &rewriter) const override { in matchAndRewrite()
397 expandAffineMap(rewriter, op.getLoc(), op.getAffineMap(), indices); in matchAndRewrite()
402 rewriter.replaceOpWithNewOp<memref::StoreOp>( in matchAndRewrite()
417 PatternRewriter &rewriter) const override { in matchAndRewrite()
423 rewriter, op.getLoc(), op.getSrcMap(), in matchAndRewrite()
429 rewriter, op.getLoc(), op.getDstMap(), in matchAndRewrite()
435 rewriter, op.getLoc(), op.getTagMap(), in matchAndRewrite()
441 rewriter.replaceOpWithNewOp<memref::DmaStartOp>( in matchAndRewrite()
457 PatternRewriter &rewriter) const override { in matchAndRewrite()
461 expandAffineMap(rewriter, op.getLoc(), op.getTagMap(), indices); in matchAndRewrite()
466 rewriter.replaceOpWithNewOp<memref::DmaWaitOp>( in matchAndRewrite()
480 PatternRewriter &rewriter) const override { in matchAndRewrite()
484 expandAffineMap(rewriter, op.getLoc(), op.getAffineMap(), indices); in matchAndRewrite()
489 rewriter.replaceOpWithNewOp<vector::LoadOp>( in matchAndRewrite()
503 PatternRewriter &rewriter) const override { in matchAndRewrite()
507 expandAffineMap(rewriter, op.getLoc(), op.getAffineMap(), indices); in matchAndRewrite()
511 rewriter.replaceOpWithNewOp<vector::StoreOp>( in matchAndRewrite()