Lines Matching defs:padOp

74 getAtMostNEnclosingLoops(tensor::PadOp padOp, int nLevels,
77 Operation *nextEnclosingOp = padOp->getParentOp();
93 getEnclosingLoopsUntil(tensor::PadOp padOp, scf::ForOp untilLoop,
96 Operation *nextEnclosingOp = padOp->getParentOp();
107 // Get all the ops in the backwards slice starting from `padOp` and that
111 static void computeBackwardSlice(tensor::PadOp padOp,
118 !padOp->isProperAncestor(op);
124 getUsedValuesDefinedAbove(padOp.getRegion(), padOp.getRegion(),
129 // Then, add the backward slice from padOp itself.
130 getBackwardSlice(padOp.getOperation(), &backwardSlice, sliceOptions);
154 HoistPaddingAnalysis(tensor::PadOp padOp, int numLoops);
155 HoistPaddingAnalysis(tensor::PadOp padOp, scf::ForOp outermostEnclosingForOp);
189 /// The padOp to hoist.
195 /// Drop any non-index dependencies of `padOp` and `sliceOp` from
197 /// operands consumed by `padOp` and `sliceOp` and drops the operations
222 /// The outermost loop, determined by `nLevels` above which `padOp` will
226 /// Backward slice rooted at `padOp` and nested under
230 /// The scf::ForOp immediately enclosing `padOp` such that:
233 /// computation of `padOp`.
246 HoistPaddingAnalysis::HoistPaddingAnalysis(tensor::PadOp padOp, int numLoops)
247 : valid(std::nullopt), opToHoist(padOp) {
264 HoistPaddingAnalysis::HoistPaddingAnalysis(tensor::PadOp padOp,
266 : valid(std::nullopt), opToHoist(padOp) {
319 // Check the region of `padOp` depends on a constant only. Adding hoisting
338 // the padded tensor. In particular, keep `padOp`, `sliceOp`, and
923 // If the consumer of `padOp` was a `forOp`, propagate through iter args.