Lines Matching defs:Solution
1754 void SolveRecurse(SmallVectorImpl<const Formula *> &Solution,
1760 void Solve(SmallVectorImpl<const Formula *> &Solution) const;
1784 void ImplementSolution(const SmallVectorImpl<const Formula *> &Solution);
1926 /// This is a narrow solution to a specific, but acute, problem. For loops
2624 // Prune the solution space aggressively by checking that both IV operands
3888 // to an unsatisfactory solution. Passing LoserRegs into RateFormula here
4215 void LSRInstance::SolveRecurse(SmallVectorImpl<const Formula *> &Solution,
4234 // in-progress solution, consider it a requirement that a formula must
4273 SolveRecurse(Solution, SolutionCost, Workspace, NewCost,
4285 Solution = Workspace;
4292 /// Choose one formula from each use. Return the results in the given Solution
4294 void LSRInstance::Solve(SmallVectorImpl<const Formula *> &Solution) const {
4304 SolveRecurse(Solution, SolutionCost, Workspace, CurCost,
4306 if (Solution.empty()) {
4307 DEBUG(dbgs() << "\nNo Satisfactory Solution\n");
4313 "The chosen solution requires "; SolutionCost.print(dbgs());
4320 Solution[i]->print(dbgs());
4324 assert(Solution.size() == Uses.size() && "Malformed solution!");
4741 /// solution.
4743 const SmallVectorImpl<const Formula *> &Solution) {
4765 Rewrite(Fixup, *Solution[Fixup.LUIdx], Rewriter, DeadInsts);
4855 SmallVector<const Formula *, 8> Solution;
4856 Solve(Solution);
4863 if (Solution.empty())
4876 ImplementSolution(Solution);