@@ -448,7 +448,7 @@ struct NormalizeLoop : public OpRewritePattern<scf::ForOp> {
448
448
Value scaled = rewriter.create<MulIOp>(
449
449
op.getLoc(), newForOp.getInductionVar(), op.getStep());
450
450
Value iv = rewriter.create<AddIOp>(op.getLoc(), op.getLowerBound(), scaled);
451
- rewriter.mergeBlockBefore (op.getBody(), &newForOp.getBody()->back(), {iv});
451
+ rewriter.inlineBlockBefore (op.getBody(), &newForOp.getBody()->back(), {iv});
452
452
rewriter.eraseOp(&newForOp.getBody()->back());
453
453
rewriter.eraseOp(op);
454
454
return success();
@@ -460,11 +460,11 @@ struct NormalizeLoop : public OpRewritePattern<scf::ForOp> {
460
460
static bool isNormalized (scf::ParallelOp op) {
461
461
auto isZero = [](Value v) {
462
462
APInt value;
463
- return matchPattern (v, m_ConstantInt (&value)) && value.isNullValue ();
463
+ return matchPattern (v, m_ConstantInt (&value)) && value.isZero ();
464
464
};
465
465
auto isOne = [](Value v) {
466
466
APInt value;
467
- return matchPattern (v, m_ConstantInt (&value)) && value.isOneValue ();
467
+ return matchPattern (v, m_ConstantInt (&value)) && value.isOne ();
468
468
};
469
469
return llvm::all_of (op.getLowerBound (), isZero) &&
470
470
llvm::all_of (op.getStep (), isOne);
@@ -519,8 +519,8 @@ struct NormalizeParallel : public OpRewritePattern<scf::ParallelOp> {
519
519
inductionVars.push_back (shifted);
520
520
}
521
521
522
- rewriter.mergeBlockBefore (op.getBody (), &newOp.getBody ()->back (),
523
- inductionVars);
522
+ rewriter.inlineBlockBefore (op.getBody (), &newOp.getBody ()->back (),
523
+ inductionVars);
524
524
rewriter.eraseOp (&newOp.getBody ()->back ());
525
525
rewriter.eraseOp (op);
526
526
return success ();
@@ -1222,8 +1222,8 @@ static void moveBodiesIf(PatternRewriter &rewriter, T op, IfType ifOp,
1222
1222
}
1223
1223
1224
1224
rewriter.eraseOp (&getThenBlock (ifOp)->back ());
1225
- rewriter.mergeBlockBefore (getThenBlock (ifOp),
1226
- &newParallel.getBody ()->back ());
1225
+ rewriter.inlineBlockBefore (getThenBlock (ifOp),
1226
+ &newParallel.getBody ()->back ());
1227
1227
1228
1228
insertRecomputables (rewriter, op, newParallel, ifOp);
1229
1229
}
@@ -1248,8 +1248,8 @@ static void moveBodiesIf(PatternRewriter &rewriter, T op, IfType ifOp,
1248
1248
});
1249
1249
}
1250
1250
rewriter.eraseOp (&getElseBlock (ifOp)->back ());
1251
- rewriter.mergeBlockBefore (getElseBlock (ifOp),
1252
- &newParallel.getBody ()->back ());
1251
+ rewriter.inlineBlockBefore (getElseBlock (ifOp),
1252
+ &newParallel.getBody ()->back ());
1253
1253
1254
1254
insertRecomputables (rewriter, op, newParallel, ifOp);
1255
1255
}
@@ -1303,12 +1303,12 @@ static void moveBodiesFor(PatternRewriter &rewriter, T op, ForType forLoop,
1303
1303
1304
1304
// Merge in two stages so we can properly replace uses of two induction
1305
1305
// varibales defined in different blocks.
1306
- rewriter.mergeBlockBefore (op.getBody (), &newParallel.getBody ()->back (),
1307
- newParallel.getBody ()->getArguments ());
1306
+ rewriter.inlineBlockBefore (op.getBody (), &newParallel.getBody ()->back (),
1307
+ newParallel.getBody ()->getArguments ());
1308
1308
rewriter.eraseOp (&newParallel.getBody ()->back ());
1309
1309
rewriter.eraseOp (&forLoop.getBody ()->back ());
1310
- rewriter.mergeBlockBefore (forLoop.getBody (), &newParallel.getBody ()->back (),
1311
- newForLoop.getBody ()->getArguments ());
1310
+ rewriter.inlineBlockBefore (forLoop.getBody (), &newParallel.getBody ()->back (),
1311
+ newForLoop.getBody ()->getArguments ());
1312
1312
rewriter.eraseOp (op);
1313
1313
rewriter.eraseOp (forLoop);
1314
1314
}
@@ -1459,8 +1459,8 @@ template <typename T> struct InterchangeWhilePFor : public OpRewritePattern<T> {
1459
1459
auto beforeParallelOp = makeNewParallelOp ();
1460
1460
auto afterParallelOp = makeNewParallelOp ();
1461
1461
1462
- rewriter.mergeBlockBefore (&whileOp.getBefore ().front (),
1463
- beforeParallelOp.getBody ()->getTerminator ());
1462
+ rewriter.inlineBlockBefore (&whileOp.getBefore ().front (),
1463
+ beforeParallelOp.getBody ()->getTerminator ());
1464
1464
whileOp.getBefore ().push_back (new Block ());
1465
1465
conditionOp->moveBefore (&whileOp.getBefore ().front (),
1466
1466
whileOp.getBefore ().front ().begin ());
@@ -1469,8 +1469,8 @@ template <typename T> struct InterchangeWhilePFor : public OpRewritePattern<T> {
1469
1469
1470
1470
auto yieldOp = cast<scf::YieldOp>(whileOp.getAfter ().front ().back ());
1471
1471
1472
- rewriter.mergeBlockBefore (&whileOp.getAfter ().front (),
1473
- afterParallelOp.getBody ()->getTerminator ());
1472
+ rewriter.inlineBlockBefore (&whileOp.getAfter ().front (),
1473
+ afterParallelOp.getBody ()->getTerminator ());
1474
1474
whileOp.getAfter ().push_back (new Block ());
1475
1475
yieldOp->moveBefore (&whileOp.getAfter ().front (),
1476
1476
whileOp.getAfter ().front ().begin ());
@@ -1578,8 +1578,8 @@ struct RotateWhile : public OpRewritePattern<scf::WhileOp> {
1578
1578
rewriter.setInsertionPoint (condition);
1579
1579
auto conditional =
1580
1580
rewriter.create <scf::IfOp>(op.getLoc (), condition.getCondition ());
1581
- rewriter.mergeBlockBefore (&op.getAfter ().front (),
1582
- &conditional.getBody ()->back ());
1581
+ rewriter.inlineBlockBefore (&op.getAfter ().front (),
1582
+ &conditional.getBody ()->back ());
1583
1583
rewriter.eraseOp (&conditional.getBody ()->back ());
1584
1584
1585
1585
rewriter.createBlock (&op.getAfter ());
@@ -1637,8 +1637,8 @@ struct Reg2MemFor : public OpRewritePattern<T> {
1637
1637
newRegionArguments);
1638
1638
1639
1639
auto oldTerminator = op.getBody ()->getTerminator ();
1640
- rewriter.mergeBlockBefore (op.getBody (), newOp.getBody ()->getTerminator (),
1641
- newRegionArguments);
1640
+ rewriter.inlineBlockBefore (op.getBody (), newOp.getBody ()->getTerminator (),
1641
+ newRegionArguments);
1642
1642
SmallVector<Value> oldOps;
1643
1643
llvm::append_range (oldOps, oldTerminator->getOperands ());
1644
1644
rewriter.eraseOp (oldTerminator);
@@ -1652,7 +1652,8 @@ struct Reg2MemFor : public OpRewritePattern<T> {
1652
1652
}
1653
1653
rewriter.setInsertionPoint (IP);
1654
1654
for (auto en : llvm::enumerate (oldOps)) {
1655
- if (!en.value ().getDefiningOp <LLVM::UndefOp>())
1655
+ Value oldOp = en.value ();
1656
+ if (!oldOp.getDefiningOp <LLVM::UndefOp>())
1656
1657
rewriter.create <memref::StoreOp>(op.getLoc (), en.value (),
1657
1658
allocated[en.index ()], ValueRange ());
1658
1659
}
0 commit comments