Home | History | Annotate | Download | only in Core

Lines Matching defs:Ranges

70 /// RangeSet contains a set of ranges. If the set is empty, then
75 PrimRangeSet ranges; // no need to make const, since it is an
82 RangeSet(PrimRangeSet RS) : ranges(RS) {}
84 iterator begin() const { return ranges.begin(); }
85 iterator end() const { return ranges.end(); }
87 bool isEmpty() const { return ranges.isEmpty(); }
91 : ranges(F.add(F.getEmptySet(), Range(from, to))) {}
95 void Profile(llvm::FoldingSetNodeID &ID) const { ranges.Profile(ID); }
101 return ranges.isSingleton() ? ranges.begin()->getConcreteValue() : nullptr;
146 return ranges.begin()->From();
236 // intersection with the two ranges [Min, Upper] and [Lower, Max],
275 return ranges == other.ranges;
344 const RangeSet *Ranges = State->get<ConstraintRange>(Sym);
347 if (!Ranges)
351 if (const llvm::APSInt *Value = Ranges->getConcreteValue())
359 if (Ranges->Intersect(BV, F, Zero, Zero).isEmpty())
410 // The syntax for ranges below is mathematical, using [x, y] for closed ranges
411 // and (x, y) for open ranges. These ranges are modular, corresponding with
576 ConstraintRangeTy Ranges = St->get<ConstraintRange>();
578 if (Ranges.isEmpty()) {
579 Out << nl << sep << "Ranges are empty." << nl;
583 Out << nl << sep << "Ranges of symbol values:";
584 for (ConstraintRangeTy::iterator I=Ranges.begin(), E=Ranges.end(); I!=E; ++I){