Lines Matching defs:forOpA
1293 /// Performs loop interchange on 'forOpA' and 'forOpB', where 'forOpB' is
1294 /// nested within 'forOpA' as the only non-terminator operation in its block.
1295 void mlir::affine::interchangeLoops(AffineForOp forOpA, AffineForOp forOpB) {
1296 assert(&*forOpA.getBody()->begin() == forOpB.getOperation());
1297 auto &forOpABody = forOpA.getBody()->getOperations();
1300 // 1) Splice forOpA's non-terminator operations (which is just forOpB) just
1301 // before forOpA (in ForOpA's parent's block) this should leave 'forOpA's
1303 forOpA->getBlock()->getOperations().splice(Block::iterator(forOpA),
1306 // 2) Splice forOpB's non-terminator operations into the beginning of forOpA's
1310 // 3) Splice forOpA into the beginning of forOpB's body.
1311 forOpBBody.splice(forOpBBody.begin(), forOpA->getBlock()->getOperations(),
1312 Block::iterator(forOpA));