Lines Matching +defs:from +defs:end

255       std::prev(srcBlock->end()));
297 // block of the original 'if' from the 'else' branch while promoting its else
382 // starts from the neutral value.
402 // "main" induction variable whenc coming from a non-parallel for.
423 // entangled with application of patterns, we may fold/end up erasing the op,
544 applyOperands.append(symbolOperands.begin(), symbolOperands.end());
659 // AffineScope. Also, we can only check if our affine scope is isolated from
660 // above; otherwise, values can from outside of the affine scope that the
719 // If the side effect comes from an affine read or write, try to
756 // Check all paths from ancestor op `parent` to the operation `to` for the
759 // TODO check only the paths from `parent` to `to`.
761 // just the paths from the parent path, stopping after reaching `to`.
767 // Check for all paths from operation `from` to operation `untilOp` for the
770 [&](Operation *from, Operation *untilOp) {
772 from->getParentRegion()->isAncestor(untilOp->getParentRegion()) &&
777 // path from `from` to the parent of `to` and all paths from the parent
779 if (from->getParentRegion() != untilOp->getParentRegion()) {
780 recur(from, untilOp->getParentOp());
785 // Now, assuming that `from` and `to` exist in the same region, perform
791 // First consider the parent block of `from` an check all operations
792 // after `from`.
793 for (auto iter = ++from->getIterator(), end = from->getBlock()->end();
794 iter != end && &*iter != untilOp; ++iter) {
798 // If the parent of `from` doesn't contain `to`, add the successors
800 if (untilOp->getBlock() != from->getBlock())
801 for (Block *succ : from->getBlock()->getSuccessors())
940 // There cannot be an operation which reads from memory between
1030 // multiple sources to forward from.
1041 // Load op's whose results were replaced by those forwarded from stores.
1114 oldMemRefOperands.assign(oldMapOperands.begin(), oldMapOperands.end());
1118 remapOperands.append(extraOperands.begin(), extraOperands.end());
1119 remapOperands.append(oldMemRefOperands.begin(), oldMemRefOperands.end());
1120 remapOperands.append(symbolOperands.begin(), symbolOperands.end());
1141 remapOutputs.assign(remapOperands.begin(), remapOperands.end());
1155 newMapOperands.append(remapOutputs.begin(), remapOutputs.end());
1166 state.operands.append(newMapOperands.begin(), newMapOperands.end());
1172 // Copy over the attributes from the old operation to the new operation.
1274 oldMemRefOperands.assign(oldMapOperands.begin(), oldMapOperands.end());
1283 remapOperands.append(extraOperands.begin(), extraOperands.end());
1284 remapOperands.append(oldMemRefOperands.begin(), oldMemRefOperands.end());
1285 remapOperands.append(symbolOperands.begin(), symbolOperands.end());
1303 remapOutputs.assign(remapOperands.begin(), remapOperands.end());
1317 newMapOperands.append(remapOutputs.begin(), remapOutputs.end());
1340 state.operands.append(newMapOperands.begin(), newMapOperands.end());
1494 // Gather sequence of AffineApplyOps reachable from 'subOperands'.
1531 // Construct the new operands that include the results from the composed
1533 // differ from opInst's operands only for those operands in 'subOperands', for
1534 // which they will be replaced by the corresponding one from 'sliceOps'.
1537 // Replace the subOperands from among the new operands.
1631 // Non tiled layout: RHS of `mod` is different from `floordiv`.
1709 /// create `newDynamicSizes` from them by using AffineApplyOp.