Lines Matching defs:TerminatedPath
607 struct TerminatedPath {
621 std::optional<TerminatedPath>
625 SmallVectorImpl<TerminatedPath> &Terminated) {
669 TerminatedPath Term{Res.Result, PathIndex};
737 TerminatedPath PrimaryClobber;
740 SmallVector<TerminatedPath, 4> OtherClobbers;
776 SmallVector<TerminatedPath, 4> TerminatedPaths;
780 // Moves the TerminatedPath with the "most dominated" Clobber to the end of
782 auto MoveDominatedPathToEnd = [&](SmallVectorImpl<TerminatedPath> &Paths) {
799 // If a TerminatedPath doesn't dominate Target, then it wasn't a legal
801 assert(all_of(TerminatedPaths, [&](const TerminatedPath &P) {
808 if (std::optional<TerminatedPath> Blocker = getBlockingAccess(
846 TerminatedPath Result{CurNode.Last, defPathIndex(CurNode)};
855 TerminatedPath Result = TerminatedPaths.pop_back_val();
860 SmallVector<TerminatedPath, 4> Clobbers;
881 for (const TerminatedPath &TP : TerminatedPaths) {
893 TerminatedPath Result = Clobbers.pop_back_val();
914 assert(all_of(R.OtherClobbers, [&](const TerminatedPath &P) {