Lines Matching defs:spIters
397 SmallVectorImpl<SparseIterator *> &spIters) {
405 spIters.push_back(it);
408 std::stable_sort(spIters.begin(), spIters.end(), [](auto lhs, auto rhs) {
525 OpBuilder &builder, Location loc, ArrayRef<SparseIterator *> spIters,
527 return genCoIteration(builder, loc, spIters, reduc,
531 bool LoopEmitter::shouldIteratedByForLoop(ArrayRef<SparseIterator *> spIters) {
533 if (spIters.size() > 1)
536 if (spIters.size() == 1)
537 return spIters.front()->iteratableByFor();
648 SmallVector<SparseIterator *> spIters;
649 categorizeIterators(tidLvls, raIters, spIters);
655 needsUniv = !spIters.empty() && needsUniv;
666 if (shouldIteratedByForLoop(spIters) && !needsUniv) {
667 assert(spIters.size() <= 1);
668 SparseIterator &it = spIters.empty() ? *raIters.front() : *spIters.front();
673 for (auto *it : spIters) {
682 emitWhileLoopOverTensorsAtLvls(builder, loc, spIters, reduc, needsUniv);
904 OpBuilder &builder, Location loc, ArrayRef<SparseIterator *> spIters,
920 for (SparseIterator *it : spIters) {
946 for (SparseIterator *it : spIters) {
964 for (SparseIterator *it : spIters) {
977 for (SparseIterator *it : spIters) {