Lines Matching refs:BV

26 void RangeSet::IntersectInRange(BasicValueFactory &BV, Factory &F,
49 F.add(newRanges, Range(BV.getValue(Lower), BV.getValue(Upper)));
52 newRanges = F.add(newRanges, Range(BV.getValue(Lower), i->To()));
55 newRanges = F.add(newRanges, Range(i->From(), BV.getValue(Upper)));
156 RangeSet RangeSet::Intersect(BasicValueFactory &BV, Factory &F,
165 IntersectInRange(BV, F, Lower, Upper, newRanges, i, e);
170 IntersectInRange(BV, F, BV.getMinValue(Upper), Upper, newRanges, i, e);
171 IntersectInRange(BV, F, Lower, BV.getMaxValue(Lower), newRanges, i, e);
179 RangeSet RangeSet::Intersect(BasicValueFactory &BV, Factory &F,
184 RangeSet newPiece = Intersect(BV, F, i->From(), i->To());
196 RangeSet RangeSet::Negate(BasicValueFactory &BV, Factory &F) const {
202 BV.getMaxValue(from) :
203 BV.getValue(- from));
213 const llvm::APSInt &newFrom = BV.getValue(- to);
217 newRanges = F.add(newRanges, Range(BV.getMinValue(from),
218 BV.getMinValue(from)));
394 BasicValueFactory &BV = getBasicVals();
395 APSIntType IntType = BV.getAPSIntType(Sym->getType());
399 if (Ranges->Intersect(BV, F, Zero, Zero).isEmpty())
434 BasicValueFactory &BV,
438 APSIntType IntType = BV.getAPSIntType(Sym->getType());
439 return Domain.Intersect(BV, F, ++IntType.getZeroValue(),
452 BasicValueFactory &BV,
459 const llvm::APSInt &Zero = BV.getAPSIntType(T).getZeroValue();
464 return Input.Intersect(BV, F, RHS, BV.getMaxValue(T));
468 return assumeNonZero(BV, F, SIE, Input);
474 return Input.Intersect(BV, F, BV.getMinValue(T), RHS);
485 BasicValueFactory &BV = getBasicVals();
492 return V->Intersect(BV, F, R->Negate(BV, F));
496 return R->Negate(BV, F);
502 RangeSet Result(F, BV.getMinValue(T), BV.getMaxValue(T));
506 return assumeNonZero(BV, F, Sym, Result);
510 return applyBitwiseConstraints(BV, F, Result, SIE);