Lines Matching defs:AffineForOp

248 ///     AffineForOp. A super-vectorization pattern is defined as a recursive
279 /// b. if everything under the root AffineForOp in the current pattern
742 void finishVectorizationPattern(AffineForOp rootLoop);
872 assert(isa<AffineForOp>(replaced.getDefiningOp()));
889 static void eraseLoopNest(AffineForOp forOp) {
895 void VectorizationState::finishVectorizationPattern(AffineForOp rootLoop) {
921 auto loop = cast<AffineForOp>(forOp);
960 isa<AffineForOp>(parentOp) && "Expected a vectorized for op");
961 auto vecForOp = cast<AffineForOp>(parentOp);
1025 static Value createMask(AffineForOp vecForOp, VectorizationState &state) {
1100 AffineForOp forOp = getForInductionVarOwner(value);
1105 auto loop = cast<AffineForOp>(loopToDim.first);
1299 static Operation *vectorizeAffineForOp(AffineForOp forOp,
1353 auto vecForOp = state.builder.create<AffineForOp>(
1472 cast<AffineForOp>(newParentOp).getRegionIterArgs(), i, combinerOps);
1476 Value neutralVal = cast<AffineForOp>(newParentOp).getInits()[i];
1513 if (auto forOp = dyn_cast<AffineForOp>(op))
1535 std::vector<SmallVector<AffineForOp, 2>> &loops) {
1542 loops[currentLevel].push_back(cast<AffineForOp>(match.getMatchedOperation()));
1555 std::vector<SmallVector<AffineForOp, 2>> &loops) {
1562 vectorizeLoopNest(std::vector<SmallVector<AffineForOp, 2>> &loops,
1565 AffineForOp rootLoop = loops[0][0];
1609 eraseLoopNest(cast<AffineForOp>(vecRootLoopIt->second));
1635 std::vector<SmallVector<AffineForOp, 2>> loopsToVectorize;
1649 SmallVector<AffineForOp, 8> bucketRoots;
1652 AffineForOp matchRoot = cast<AffineForOp>(match.getMatchedOperation());
1655 AffineForOp bucketRoot = bucketRoots[i];
1771 f.walk([&parallelLoops, &reductionLoops](AffineForOp loop) {
1781 f.walk([&parallelLoops](AffineForOp loop) {
1800 verifyLoopNesting(const std::vector<SmallVector<AffineForOp, 2>> &loops) {
1811 for (AffineForOp loop : loops[i]) {
1814 if (none_of(loops[i - 1], [&](AffineForOp maybeParent) {
1821 for (AffineForOp sibling : loops[i]) {
1886 std::vector<SmallVector<AffineForOp, 2>> &loops,