Lines Matching refs:rewriter
25 OperandRange operands, PatternRewriter &rewriter) { in inlineIfCase() argument
26 rewriter.cloneRegionBefore(srcRegion, &dstRegion.front()); in inlineIfCase()
27 rewriter.eraseBlock(&dstRegion.back()); in inlineIfCase()
34 rewriter.setInsertionPoint(yield); in inlineIfCase()
35 rewriter.create<scf::YieldOp>(yield.getLoc(), yield.getInputs()); in inlineIfCase()
36 rewriter.eraseOp(yield); in inlineIfCase()
43 PatternRewriter &rewriter, bool isCond) { in inlineWhileCase() argument
44 rewriter.cloneRegionBefore(srcRegion, &dstRegion.back()); in inlineWhileCase()
45 rewriter.eraseBlock(&dstRegion.back()); in inlineWhileCase()
50 rewriter.setInsertionPoint(yield); in inlineWhileCase()
53 rewriter.create<tensor::ExtractOp>(yield.getLoc(), yield.getOperand(0)); in inlineWhileCase()
54 rewriter.create<scf::ConditionOp>(yield.getLoc(), condition, in inlineWhileCase()
57 rewriter.setInsertionPoint(yield); in inlineWhileCase()
58 rewriter.create<scf::YieldOp>(yield.getLoc(), yield.getInputs()); in inlineWhileCase()
60 rewriter.eraseOp(yield); in inlineWhileCase()
70 PatternRewriter &rewriter) const final { in matchAndRewrite()
72 rewriter.create<tensor::ExtractOp>(op.getLoc(), op.getCond()); in matchAndRewrite()
73 auto newIf = rewriter.create<scf::IfOp>(op.getLoc(), op.getResultTypes(), in matchAndRewrite()
77 rewriter); in matchAndRewrite()
79 rewriter); in matchAndRewrite()
81 rewriter.replaceOp(op, newIf.getResults()); in matchAndRewrite()
91 PatternRewriter &rewriter) const final { in matchAndRewrite()
92 auto newWhile = rewriter.create<scf::WhileOp>( in matchAndRewrite()
94 rewriter.createBlock(&newWhile.getBefore()); in matchAndRewrite()
95 rewriter.createBlock(&newWhile.getAfter()); in matchAndRewrite()
97 inlineWhileCase(op.getCond(), newWhile.getBefore(), rewriter, true); in matchAndRewrite()
98 inlineWhileCase(op.getBody(), newWhile.getAfter(), rewriter, false); in matchAndRewrite()
100 rewriter.replaceOp(op, newWhile.getResults()); in matchAndRewrite()