Lines Matching defs:reductions
523 /// passing a map from loops to reductions to utility functions, or by passing
524 /// `vectorize-reductions=true` to the vectorization pass.
543 /// vectorize-reductions=true"
1328 ArrayRef<LoopReduction> reductions;
1333 reductions = it->second;
1334 assert(reductions.size() == forOp.getNumIterOperands() &&
1335 "The size of reductions array must match the number of iter_args");
1347 for (auto redAndOperand : llvm::zip(reductions, forOp.getInits())) {
1387 getVectorReductionOp(reductions[i].kind, state.builder,
1395 if (!isNeutralElementConst(reductions[i].kind, origInit, state))
1397 arith::getReductionOp(reductions[i].kind, state.builder,
1693 "Vectorizing reductions is supported only for 1-D vectors");
1756 f.emitError("Vectorizing reductions is supported only for 1-D vectors.");
1772 SmallVector<LoopReduction, 2> reductions;
1773 if (isLoopParallel(loop, &reductions)) {
1776 if (!reductions.empty())
1777 reductionLoops[loop] = reductions;
1839 /// TODO: Vectorizing reductions is supported only for 1-D vectorization.