Lines Matching defs:rewriter

83 LogicalResult AssertOp::canonicalize(AssertOp op, PatternRewriter &rewriter) {
86 rewriter.eraseOp(op);
155 simplifyBrToBlockWithSinglePred(BranchOp op, PatternRewriter &rewriter) {
164 rewriter.eraseOp(op);
165 rewriter.mergeBlocks(succ, opParent, brOperands);
176 PatternRewriter &rewriter) {
188 rewriter.replaceOpWithNewOp<BranchOp>(op, dest, destOperands);
192 LogicalResult BranchOp::canonicalize(BranchOp op, PatternRewriter &rewriter) {
193 return success(succeeded(simplifyBrToBlockWithSinglePred(op, rewriter)) ||
194 succeeded(simplifyPassThroughBr(op, rewriter)));
224 PatternRewriter &rewriter) const override {
227 rewriter.replaceOpWithNewOp<BranchOp>(condbr, condbr.getTrueDest(),
233 rewriter.replaceOpWithNewOp<BranchOp>(condbr, condbr.getFalseDest(),
253 PatternRewriter &rewriter) const override {
268 rewriter.replaceOpWithNewOp<CondBranchOp>(condbr, condbr.getCondition(),
287 PatternRewriter &rewriter) const override {
298 rewriter.replaceOpWithNewOp<BranchOp>(condbr, trueDest, trueOperands);
315 mergedOperands.push_back(rewriter.create<arith::SelectOp>(
319 rewriter.replaceOpWithNewOp<BranchOp>(condbr, trueDest, mergedOperands);
345 PatternRewriter &rewriter) const override {
360 rewriter.replaceOpWithNewOp<BranchOp>(condbr, condbr.getTrueDest(),
363 rewriter.replaceOpWithNewOp<BranchOp>(condbr, condbr.getFalseDest(),
393 PatternRewriter &rewriter) const override {
396 Type ty = rewriter.getI1Type();
415 constantTrue = rewriter.create<arith::ConstantOp>(
416 condbr.getLoc(), ty, rewriter.getBoolAttr(true));
418 rewriter.modifyOpInPlace(use.getOwner(),
430 constantFalse = rewriter.create<arith::ConstantOp>(
431 condbr.getLoc(), ty, rewriter.getBoolAttr(false));
433 rewriter.modifyOpInPlace(use.getOwner(),
632 PatternRewriter &rewriter) {
636 rewriter.replaceOpWithNewOp<BranchOp>(op, op.getDefaultDestination(),
652 dropSwitchCasesThatMatchDefault(SwitchOp op, PatternRewriter &rewriter) {
674 rewriter.replaceOpWithNewOp<SwitchOp>(
687 static void foldSwitch(SwitchOp op, PatternRewriter &rewriter,
692 rewriter.replaceOpWithNewOp<BranchOp>(
698 rewriter.replaceOpWithNewOp<BranchOp>(op, op.getDefaultDestination(),
709 PatternRewriter &rewriter) {
714 foldSwitch(op, rewriter, caseValue);
730 PatternRewriter &rewriter) {
760 rewriter.replaceOpWithNewOp<SwitchOp>(op, op.getFlag(), defaultDest,
803 PatternRewriter &rewriter) {
824 foldSwitch(op, rewriter,
827 rewriter.replaceOpWithNewOp<BranchOp>(op, op.getDefaultDestination(),
855 PatternRewriter &rewriter) {
898 rewriter.replaceOpWithNewOp<SwitchOp>(