Lines Matching refs:Solver
52 SCCPSolver &Solver) { in findReturnsToZap() argument
54 if (!Solver.isArgumentTrackedFunction(&F)) in findReturnsToZap()
57 if (Solver.mustPreserveReturn(&F)) { in findReturnsToZap()
68 [&Solver](User *U) { in findReturnsToZap()
70 !Solver.isBlockExecutable(cast<Instruction>(U)->getParent())) in findReturnsToZap()
79 return all_of(Solver.getStructLatticeValueFor(U), in findReturnsToZap()
92 return !SCCPSolver::isOverdefined(Solver.getLatticeValueFor(U)); in findReturnsToZap()
118 SCCPSolver Solver(DL, GetTLI, M.getContext()); in runIPSCCP() local
119 FunctionSpecializer Specializer(Solver, M, FAM, GetBFI, GetTLI, GetTTI, in runIPSCCP()
130 Solver.addPredicateInfo(F, DT, AC); in runIPSCCP()
135 Solver.addTrackedFunction(&F); in runIPSCCP()
140 Solver.addArgumentTrackedFunction(&F); in runIPSCCP()
145 Solver.markBlockExecutable(&F.front()); in runIPSCCP()
148 Solver.trackValueOfArgument(&AI); in runIPSCCP()
157 Solver.trackValueOfGlobalVariable(&G); in runIPSCCP()
161 Solver.solveWhileResolvedUndefsIn(M); in runIPSCCP()
177 if (Solver.isBlockExecutable(&F.front())) { in runIPSCCP()
180 if (!Arg.use_empty() && Solver.tryToReplaceWithConstant(&Arg)) { in runIPSCCP()
215 if (!Solver.isBlockExecutable(&BB)) { in runIPSCCP()
226 MadeChanges |= Solver.simplifyInstsInBlock( in runIPSCCP()
241 if (!Solver.isBlockExecutable(&F.front())) in runIPSCCP()
247 MadeChanges |= Solver.removeNonFeasibleEdges(&BB, DTU, NewUnreachableBB); in runIPSCCP()
255 if (Solver.getPredicateInfoFor(&Inst)) { in runIPSCCP()
280 for (const auto &I : Solver.getTrackedRetVals()) { in runIPSCCP()
304 findReturnsToZap(*F, ReturnsToZap, Solver); in runIPSCCP()
307 for (auto *F : Solver.getMRVFunctionsTracked()) { in runIPSCCP()
311 if (Solver.isStructLatticeConstant(F, STy)) in runIPSCCP()
312 findReturnsToZap(*F, ReturnsToZap, Solver); in runIPSCCP()
353 for (const auto &I : make_early_inc_range(Solver.getTrackedGlobals())) { in runIPSCCP()