Lines Matching refs:Paths
523 SmallVector<DefPath, 32> Paths;
600 upward_defs_begin({Phi, Paths[PriorNode].Loc}, DT), upward_defs_end());
602 PausedSearches.push_back(Paths.size());
603 Paths.emplace_back(P.second, P.first, PriorNode);
617 /// PausedSearches is an array of indices into the Paths array. Its incoming
634 DefPath &Node = Paths[PathIndex];
718 T &curNode() const { return W->Paths[*N]; }
748 assert(!Paths.empty() && NP >= &Paths.front() && NP <= &Paths.back() &&
750 return NP - &Paths.front();
753 /// Try to optimize a phi as best as we can. Returns a SmallVector of Paths
768 assert(Paths.empty() && VisitedPhis.empty() &&
771 Paths.emplace_back(Loc, Start, Phi, None);
774 auto PriorPathsSize = Paths.size();
783 // Paths.
784 auto MoveDominatedPathToEnd = [&](SmallVectorImpl<TerminatedPath> &Paths) {
785 assert(!Paths.empty() && "Need a path to move");
786 auto Dom = Paths.begin();
787 for (auto I = std::next(Dom), E = Paths.end(); I != E; ++I)
790 auto Last = Paths.end() - 1;
864 UpwardsWalkResult WR = walkToPhiOrClobber(Paths[Paused]);
900 [&](ListIndex I) { return Paths[I].Last == DefChainEnd; }));
905 PriorPathsSize = Paths.size();
922 Paths.clear();