Lines Matching refs:Buckets
179 // Collect buckets of comparable addresses used by loads and stores.
180 SmallVector<Bucket, 16> Buckets;
222 for (auto &B : Buckets) {
232 if (Buckets.size() == MaxVars)
234 Buckets.push_back(Bucket(LSCEV, MemI));
239 if (Buckets.empty())
255 DEBUG(dbgs() << "PIP: Found " << Buckets.size() << " buckets\n");
258 for (unsigned i = 0, e = Buckets.size(); i != e; ++i) {
271 for (int j = 0, je = Buckets[i].Elements.size(); j != je; ++j) {
272 if (auto *II = dyn_cast<IntrinsicInst>(Buckets[i].Elements[j].Instr))
282 if (!Buckets[i].Elements[j].Offset ||
283 Buckets[i].Elements[j].Offset->isZero())
286 const SCEV *Offset = Buckets[i].Elements[j].Offset;
287 Buckets[i].BaseSCEV = SE->getAddExpr(Buckets[i].BaseSCEV, Offset);
288 for (auto &E : Buckets[i].Elements) {
295 std::swap(Buckets[i].Elements[j], Buckets[i].Elements[0]);
300 cast<SCEVAddRecExpr>(Buckets[i].BaseSCEV);
310 Instruction *MemI = Buckets[i].Elements.begin()->Instr;
380 for (auto I = std::next(Buckets[i].Elements.begin()),
381 IE = Buckets[i].Elements.end(); I != IE; ++I) {