Lines Matching defs:Previous
1055 /// Previous of the recurrence. \returns true if all users of \p FOR could be
1059 VPRecipeBase *Previous,
1064 Seen.insert(Previous);
1068 if (SinkCandidate == Previous)
1073 VPDT.properlyDominates(Previous, SinkCandidate))
1083 // Recursively sink users of FOR after Previous.
1106 SinkCandidate->moveAfter(Previous);
1107 Previous = SinkCandidate;
1112 /// Try to hoist \p Previous and its operands before all users of \p FOR.
1114 VPRecipeBase *Previous,
1116 if (Previous->mayHaveSideEffects() || Previous->mayReadFromMemory())
1169 if (!NeedsHoisting(Previous->getVPSingleValue()))
1172 // Recursively try to hoist Previous and its operands before all users of FOR.
1173 HoistCandidates.push_back(Previous);
1183 // If we reach FOR, it means the original Previous depends on some other
1222 VPRecipeBase *Previous = FOR->getBackedgeValue()->getDefiningRecipe();
1226 dyn_cast_or_null<VPFirstOrderRecurrencePHIRecipe>(Previous)) {
1229 Previous = PrevPhi->getBackedgeValue()->getDefiningRecipe();
1232 if (!sinkRecurrenceUsersAfterPrevious(FOR, Previous, VPDT) &&
1233 !hoistPreviousBeforeFORUsers(FOR, Previous, VPDT))
1238 VPBasicBlock *InsertBlock = Previous->getParent();
1239 if (isa<VPHeaderPHIRecipe>(Previous))
1243 std::next(Previous->getIterator()));