@@ -340,15 +340,15 @@ LogicalResult ForLowering::matchAndRewrite(ForOp forOp,
340
340
Operation *terminator = lastBodyBlock->getTerminator ();
341
341
rewriter.setInsertionPointToEnd (lastBodyBlock);
342
342
auto step = forOp.getStep ();
343
- auto stepped = rewriter. create < arith::AddIOp>( loc, iv, step).getResult ();
343
+ auto stepped = arith::AddIOp::create (rewriter, loc, iv, step).getResult ();
344
344
if (!stepped)
345
345
return failure ();
346
346
347
347
SmallVector<Value, 8 > loopCarried;
348
348
loopCarried.push_back (stepped);
349
349
loopCarried.append (terminator->operand_begin (), terminator->operand_end ());
350
350
auto branchOp =
351
- rewriter. create < cf::BranchOp>( loc, conditionBlock, loopCarried);
351
+ cf::BranchOp::create (rewriter, loc, conditionBlock, loopCarried);
352
352
353
353
// Let the CondBranchOp carry the LLVM attributes from the ForOp, such as the
354
354
// llvm.loop_annotation attribute.
@@ -375,16 +375,15 @@ LogicalResult ForLowering::matchAndRewrite(ForOp forOp,
375
375
SmallVector<Value, 8 > destOperands;
376
376
destOperands.push_back (lowerBound);
377
377
llvm::append_range (destOperands, forOp.getInitArgs ());
378
- rewriter. create < cf::BranchOp>( loc, conditionBlock, destOperands);
378
+ cf::BranchOp::create (rewriter, loc, conditionBlock, destOperands);
379
379
380
380
// With the body block done, we can fill in the condition block.
381
381
rewriter.setInsertionPointToEnd (conditionBlock);
382
- auto comparison = rewriter. create < arith::CmpIOp> (
383
- loc, arith::CmpIPredicate::slt, iv, upperBound);
382
+ auto comparison = arith::CmpIOp::create (
383
+ rewriter, loc, arith::CmpIPredicate::slt, iv, upperBound);
384
384
385
- rewriter.create <cf::CondBranchOp>(loc, comparison, firstBodyBlock,
386
- ArrayRef<Value>(), endBlock,
387
- ArrayRef<Value>());
385
+ cf::CondBranchOp::create (rewriter, loc, comparison, firstBodyBlock,
386
+ ArrayRef<Value>(), endBlock, ArrayRef<Value>());
388
387
389
388
// The result of the loop operation is the values of the condition block
390
389
// arguments except the induction variable on the last iteration.
@@ -409,7 +408,7 @@ LogicalResult IfLowering::matchAndRewrite(IfOp ifOp,
409
408
continueBlock =
410
409
rewriter.createBlock (remainingOpsBlock, ifOp.getResultTypes (),
411
410
SmallVector<Location>(ifOp.getNumResults (), loc));
412
- rewriter. create < cf::BranchOp>( loc, remainingOpsBlock);
411
+ cf::BranchOp::create (rewriter, loc, remainingOpsBlock);
413
412
}
414
413
415
414
// Move blocks from the "then" region to the region containing 'scf.if',
@@ -419,7 +418,7 @@ LogicalResult IfLowering::matchAndRewrite(IfOp ifOp,
419
418
Operation *thenTerminator = thenRegion.back ().getTerminator ();
420
419
ValueRange thenTerminatorOperands = thenTerminator->getOperands ();
421
420
rewriter.setInsertionPointToEnd (&thenRegion.back ());
422
- rewriter. create < cf::BranchOp>( loc, continueBlock, thenTerminatorOperands);
421
+ cf::BranchOp::create (rewriter, loc, continueBlock, thenTerminatorOperands);
423
422
rewriter.eraseOp (thenTerminator);
424
423
rewriter.inlineRegionBefore (thenRegion, continueBlock);
425
424
@@ -433,15 +432,15 @@ LogicalResult IfLowering::matchAndRewrite(IfOp ifOp,
433
432
Operation *elseTerminator = elseRegion.back ().getTerminator ();
434
433
ValueRange elseTerminatorOperands = elseTerminator->getOperands ();
435
434
rewriter.setInsertionPointToEnd (&elseRegion.back ());
436
- rewriter. create < cf::BranchOp>( loc, continueBlock, elseTerminatorOperands);
435
+ cf::BranchOp::create (rewriter, loc, continueBlock, elseTerminatorOperands);
437
436
rewriter.eraseOp (elseTerminator);
438
437
rewriter.inlineRegionBefore (elseRegion, continueBlock);
439
438
}
440
439
441
440
rewriter.setInsertionPointToEnd (condBlock);
442
- rewriter. create < cf::CondBranchOp>( loc, ifOp.getCondition (), thenBlock,
443
- /* trueArgs=*/ ArrayRef<Value>(), elseBlock,
444
- /* falseArgs=*/ ArrayRef<Value>());
441
+ cf::CondBranchOp::create (rewriter, loc, ifOp.getCondition (), thenBlock,
442
+ /* trueArgs=*/ ArrayRef<Value>(), elseBlock,
443
+ /* falseArgs=*/ ArrayRef<Value>());
445
444
446
445
// Ok, we're done!
447
446
rewriter.replaceOp (ifOp, continueBlock->getArguments ());
@@ -459,13 +458,14 @@ ExecuteRegionLowering::matchAndRewrite(ExecuteRegionOp op,
459
458
460
459
auto ®ion = op.getRegion ();
461
460
rewriter.setInsertionPointToEnd (condBlock);
462
- rewriter. create < cf::BranchOp>( loc, ®ion.front ());
461
+ cf::BranchOp::create (rewriter, loc, ®ion.front ());
463
462
464
463
for (Block &block : region) {
465
464
if (auto terminator = dyn_cast<scf::YieldOp>(block.getTerminator ())) {
466
465
ValueRange terminatorOperands = terminator->getOperands ();
467
466
rewriter.setInsertionPointToEnd (&block);
468
- rewriter.create <cf::BranchOp>(loc, remainingOpsBlock, terminatorOperands);
467
+ cf::BranchOp::create (rewriter, loc, remainingOpsBlock,
468
+ terminatorOperands);
469
469
rewriter.eraseOp (terminator);
470
470
}
471
471
}
@@ -503,7 +503,7 @@ ParallelLowering::matchAndRewrite(ParallelOp parallelOp,
503
503
for (auto [iv, lower, upper, step] :
504
504
llvm::zip (parallelOp.getInductionVars (), parallelOp.getLowerBound (),
505
505
parallelOp.getUpperBound (), parallelOp.getStep ())) {
506
- ForOp forOp = rewriter. create < ForOp>( loc, lower, upper, step, iterArgs);
506
+ ForOp forOp = ForOp::create (rewriter, loc, lower, upper, step, iterArgs);
507
507
ivs.push_back (forOp.getInductionVar ());
508
508
auto iterRange = forOp.getRegionIterArgs ();
509
509
iterArgs.assign (iterRange.begin (), iterRange.end ());
@@ -517,7 +517,7 @@ ParallelLowering::matchAndRewrite(ParallelOp parallelOp,
517
517
// A loop is constructed with an empty "yield" terminator if there are
518
518
// no results.
519
519
rewriter.setInsertionPointToEnd (rewriter.getInsertionBlock ());
520
- rewriter. create < scf::YieldOp>( loc, forOp.getResults ());
520
+ scf::YieldOp::create (rewriter, loc, forOp.getResults ());
521
521
}
522
522
523
523
rewriter.setInsertionPointToStart (forOp.getBody ());
@@ -549,7 +549,7 @@ ParallelLowering::matchAndRewrite(ParallelOp parallelOp,
549
549
// has been already created in loop construction).
550
550
if (!yieldOperands.empty ()) {
551
551
rewriter.setInsertionPointToEnd (rewriter.getInsertionBlock ());
552
- rewriter. create < scf::YieldOp>( loc, yieldOperands);
552
+ scf::YieldOp::create (rewriter, loc, yieldOperands);
553
553
}
554
554
555
555
rewriter.replaceOp (parallelOp, loopResults);
@@ -575,7 +575,7 @@ LogicalResult WhileLowering::matchAndRewrite(WhileOp whileOp,
575
575
576
576
// Branch to the "before" region.
577
577
rewriter.setInsertionPointToEnd (currentBlock);
578
- rewriter. create < cf::BranchOp>( loc, before, whileOp.getInits ());
578
+ cf::BranchOp::create (rewriter, loc, before, whileOp.getInits ());
579
579
580
580
// Replace terminators with branches. Assuming bodies are SESE, which holds
581
581
// given only the patterns from this file, we only need to look at the last
@@ -625,14 +625,14 @@ DoWhileLowering::matchAndRewrite(WhileOp whileOp,
625
625
626
626
// Branch to the "before" region.
627
627
rewriter.setInsertionPointToEnd (currentBlock);
628
- rewriter. create < cf::BranchOp>( whileOp.getLoc (), before, whileOp.getInits ());
628
+ cf::BranchOp::create (rewriter, whileOp.getLoc (), before, whileOp.getInits ());
629
629
630
630
// Loop around the "before" region based on condition.
631
631
rewriter.setInsertionPointToEnd (before);
632
632
auto condOp = cast<ConditionOp>(before->getTerminator ());
633
- rewriter. create < cf::CondBranchOp>( condOp.getLoc (), condOp.getCondition (),
634
- before, condOp.getArgs (), continuation,
635
- ValueRange ());
633
+ cf::CondBranchOp::create (rewriter, condOp.getLoc (), condOp.getCondition (),
634
+ before, condOp.getArgs (), continuation,
635
+ ValueRange ());
636
636
637
637
// Replace the op with values "yielded" from the "before" region, which are
638
638
// visible by dominance.
@@ -695,12 +695,12 @@ IndexSwitchLowering::matchAndRewrite(IndexSwitchOp op,
695
695
SmallVector<ValueRange> caseOperands (caseSuccessors.size (), {});
696
696
697
697
// Cast switch index to integer case value.
698
- Value caseValue = rewriter. create < arith::IndexCastOp> (
699
- op.getLoc (), rewriter.getI32Type (), op.getArg ());
698
+ Value caseValue = arith::IndexCastOp::create (
699
+ rewriter, op.getLoc (), rewriter.getI32Type (), op.getArg ());
700
700
701
- rewriter. create < cf::SwitchOp>(
702
- op. getLoc (), caseValue, *defaultBlock, ValueRange (),
703
- rewriter. getDenseI32ArrayAttr (caseValues), caseSuccessors, caseOperands);
701
+ cf::SwitchOp::create (rewriter, op. getLoc (), caseValue, *defaultBlock,
702
+ ValueRange (), rewriter. getDenseI32ArrayAttr (caseValues ),
703
+ caseSuccessors, caseOperands);
704
704
rewriter.replaceOp (op, continueBlock->getArguments ());
705
705
return success ();
706
706
}
0 commit comments