Lines Matching defs:solver
36 static LogicalResult staticallyNonNegative(DataFlowSolver &solver, Value v) {
37 auto *result = solver.lookupState<IntegerValueRangeLattice>(v);
47 static LogicalResult staticallyNonNegative(DataFlowSolver &solver,
49 auto nonNegativePred = [&solver](Value v) -> bool {
50 return succeeded(staticallyNonNegative(solver, v));
59 static LogicalResult isCmpIConvertable(DataFlowSolver &solver, CmpIOp op) {
66 return success(llvm::all_of(op.getOperands(), [&solver](Value v) -> bool {
67 return succeeded(staticallyNonNegative(solver, v));
109 : OpRewritePattern<Signed>(context), solver(s) {}
113 staticallyNonNegative(this->solver, static_cast<Operation *>(op))))
122 DataFlowSolver &solver;
127 : OpRewritePattern<CmpIOp>(context), solver(s) {}
130 if (failed(isCmpIConvertable(this->solver, op)))
139 DataFlowSolver &solver;
149 DataFlowSolver solver;
150 solver.load<DeadCodeAnalysis>();
151 solver.load<IntegerRangeAnalysis>();
152 if (failed(solver.initializeAndRun(op)))
155 DataFlowListener listener(solver);
158 populateUnsignedWhenEquivalentPatterns(patterns, solver);
166 RewritePatternSet &patterns, DataFlowSolver &solver) {
174 patterns.getContext(), solver);