Lines Matching refs:Solver
171 SCCPSolver &Solver) { in getConstantStackValue() argument
205 SCCPSolver &Solver) { in constantArgPropagation() argument
226 auto *ConstVal = getConstantStackValue(Call, ArgOp, Solver); in constantArgPropagation()
242 Solver.visitCall(*Call); in constantArgPropagation()
272 SCCPSolver &Solver; member in __anonfb6321fa0211::FunctionSpecializer
285 FunctionSpecializer(SCCPSolver &Solver, in FunctionSpecializer() argument
289 : Solver(Solver), GetAC(GetAC), GetTTI(GetTTI), GetTLI(GetTLI) {} in FunctionSpecializer()
356 const ValueLatticeElement &IV = Solver.getLatticeValueFor(V); in tryToReplaceWithConstant()
360 isConstant(IV) ? Solver.getConstant(IV) : UndefValue::get(V->getType()); in tryToReplaceWithConstant()
369 if (Solver.isBlockExecutable(I->getParent())) in tryToReplaceWithConstant()
375 Solver.visit(I); in tryToReplaceWithConstant()
381 Solver.removeLatticeValueFor(I); in tryToReplaceWithConstant()
505 if (!Solver.isBlockExecutable(&F->getEntryBlock())) in isCandidateFunction()
528 Solver.markArgInFuncSpecialization(Clone, S.Args); in specializeFunction()
541 Solver.markFunctionUnreachable(F); in specializeFunction()
677 if (!Solver.getLatticeValueFor(A).isOverdefined()) { in isArgumentInteresting()
730 if (!Solver.isBlockExecutable(CS.getParent())) in getPossibleConstants()
749 if (isa<Constant>(V) && (Solver.getLatticeValueFor(V).isConstant() || in getPossibleConstants()
798 Solver.markOverdefined(CS); in rewriteCallSites()
810 Solver.addTrackedFunction(F); in updateSpecializedFuncs()
812 Solver.addArgumentTrackedFunction(F); in updateSpecializedFuncs()
814 Solver.markBlockExecutable(&F->front()); in updateSpecializedFuncs()
832 SCCPSolver Solver(DL, GetTLI, M.getContext()); in runFunctionSpecialization() local
833 FunctionSpecializer FS(Solver, GetAC, GetTTI, GetTLI); in runFunctionSpecialization()
846 Solver.addAnalysis(F, GetAnalysis(F)); in runFunctionSpecialization()
852 Solver.addArgumentTrackedFunction(&F); in runFunctionSpecialization()
861 Solver.markBlockExecutable(&F.front()); in runFunctionSpecialization()
865 Solver.markOverdefined(&AI); in runFunctionSpecialization()
874 Solver.trackValueOfGlobalVariable(&G); in runFunctionSpecialization()
877 auto &TrackedFuncs = Solver.getArgumentTrackedFunctions(); in runFunctionSpecialization()
898 Solver.solve(); in runFunctionSpecialization()
902 if (Solver.resolvedUndefsIn(*F)) in runFunctionSpecialization()
908 if (!Solver.isBlockExecutable(&BB)) in runFunctionSpecialization()
937 constantArgPropagation(FuncDecls, M, Solver); in runFunctionSpecialization()