Lines Matching defs:Solution
1420 void SolveRecurse(SmallVectorImpl<const Formula *> &Solution,
1426 void Solve(SmallVectorImpl<const Formula *> &Solution) const;
1450 void ImplementSolution(const SmallVectorImpl<const Formula *> &Solution,
1596 /// This is a narrow solution to a specific, but acute, problem. For loops
3259 void LSRInstance::SolveRecurse(SmallVectorImpl<const Formula *> &Solution,
3278 // in-progress solution, consider it a requirement that a formula must
3314 SolveRecurse(Solution, SolutionCost, Workspace, NewCost,
3327 Solution = Workspace;
3347 /// Solution vector.
3348 void LSRInstance::Solve(SmallVectorImpl<const Formula *> &Solution) const {
3358 SolveRecurse(Solution, SolutionCost, Workspace, CurCost,
3360 if (Solution.empty()) {
3361 DEBUG(dbgs() << "\nNo Satisfactory Solution\n");
3367 "The chosen solution requires "; SolutionCost.print(dbgs());
3374 Solution[i]->print(dbgs());
3378 assert(Solution.size() == Uses.size() && "Malformed solution!");
3769 /// following the chosen solution.
3771 LSRInstance::ImplementSolution(const SmallVectorImpl<const Formula *> &Solution,
3787 Rewrite(Fixup, *Solution[Fixup.LUIdx], Rewriter, DeadInsts, P);
3852 SmallVector<const Formula *, 8> Solution;
3853 Solve(Solution);
3860 if (Solution.empty())
3877 ImplementSolution(Solution, P);