Lines Matching defs:containingOp

627                                             Value containingOp) {
628 result.addOperands({producerOp, containingOp});
637 Operation *containingOp, TilingResult &tileAndFuseResult,
643 DominanceInfo domInfo(containingOp);
645 if (!containingOp->isAncestor(user) &&
646 (domInfo.dominates(containingOp, user))) {
654 auto forallOp = cast<scf::ForallOp>(containingOp);
712 /// use. The tiled op is fused under the `containingOp`.
714 /// If tiled op has uses that are dominated by `containingOp`, return
715 /// a new `containingOp` with results of the fused op appended to
716 /// results of the `containingOp` or nullptr if there are no dominated uses.
719 Operation *producerOp, Operation *containingOp) {
733 return sliceOp && containingOp->isProperAncestor(sliceOp);
787 rewriter, diag, producerOp, containingOp, *tileAndFuseResult,
794 /// it is exactly the `containingOp`, otherwise bail.
797 /// `containingOp`.
802 Operation *containingOp) {
820 if (!forallOp || forallOp != containingOp) {
838 return sliceOp && containingOp->isProperAncestor(sliceOp);
843 diag.attachNote(containingOp->getLoc())
893 // Replace the use in containingOp.
894 rewriter.modifyOpInPlace(containingOp, [&]() {
895 containingOp->setOperand(pUse->getOperandNumber(),
904 Operation *containingOp) {
911 if (containingOp->isProperAncestor(use.getOwner())) {
917 if (containingOp == use.getOwner()) {
967 Operation *containingOp = *containingOps.begin();
972 results.set(cast<OpResult>(getNewContainingOp()), {containingOp});
986 return containingOp->isAncestor(op);
1005 diag.attachNote(containingOp->getLoc()) << "containing op";
1013 diag << "could not fuse " << *producerOp << " into " << *containingOp;
1021 tileAndFuseFirstExtractUse(rewriter, diag, producerOp, containingOp);
1023 LLVM_DEBUG(DBGS() << "\nFused a direct extract use\n" << *containingOp);
1034 rewriter.notifyPayloadOperationReplaced(containingOp,
1039 rewriter.eraseOp(containingOp);
1040 containingOp = newContainingOp;
1047 rewriter, diag, producerOp, containingOp);
1050 << *containingOp);
1056 cloneAndFuseFirstUse(rewriter, diag, producerOp, containingOp);
1058 LLVM_DEBUG(DBGS() << "\nFused an use by cloning\n" << *containingOp);
1066 results.set(cast<OpResult>(getNewContainingOp()), {containingOp});