Home | History | Annotate | Download | only in Scalar

Lines Matching defs:Ranges

138 /// two ranges into [0, 3) which is memset'able.
204 /// A sorted list of the memset ranges.
205 SmallVector<MemsetRange, 8> Ranges;
212 const_iterator begin() const { return Ranges.begin(); }
213 const_iterator end() const { return Ranges.end(); }
214 bool empty() const { return Ranges.empty(); }
245 /// existing ranges as appropriate.
250 range_iterator I = std::lower_bound(Ranges.begin(), Ranges.end(), Start,
256 if (I == Ranges.end() || End < I->Start) {
257 MemsetRange &R = *Ranges.insert(I, MemsetRange());
292 while (++NextI != Ranges.end() && End >= NextI->Start) {
297 Ranges.erase(NextI);
378 // Join these together into ranges, so we can decide whether contiguous blocks
380 MemsetRanges Ranges(DL);
407 Ranges.addStore(Offset, NextStore);
420 Ranges.addMemSet(Offset, MSI);
424 // If we have no ranges, then we just had a single store with nothing that
426 if (Ranges.empty())
432 Ranges.addInst(0, StartInst);
439 // Now that we have full information about ranges, loop over the ranges and
442 for (const MemsetRange &Range : Ranges) {