Lines Matching defs:ranges
59 * number of tests to check if two ranges intersect, if a range
61 * AddrRange also support interleaved ranges, to stripe across cache
70 * ranges to a contiguous range.
204 * ranges.
206 * @param ranges Interleaved ranges to be merged
208 AddrRange(const std::vector<AddrRange>& ranges)
211 if (!ranges.empty()) {
213 _start = ranges.front()._start;
214 _end = ranges.front()._end;
215 masks = ranges.front().masks;
216 intlvMatch = ranges.front().intlvMatch;
218 // either merge if got all ranges or keep this equal to the single
220 if (ranges.size() > 1) {
222 if (ranges.size() != (ULL(1) << masks.size()))
223 fatal("Got %d ranges spanning %d interleaving bits\n",
224 ranges.size(), masks.size());
227 for (const auto& r : ranges) {
229 fatal("Can only merge ranges with the same start, end "
333 * @return true if the two ranges would merge
347 * @return true if the intersection of the two ranges is not empty
353 // applicable even if we have interleaved ranges
365 // restrict the check to ranges that belong to the
499 * tree of non-overlapping address ranges.
531 * Convenience typedef for a collection of address ranges