Lines Matching refs:Bucket
194 struct Bucket { struct
195 Bucket(const SCEV *B, Instruction *I) in Bucket() argument
269 bool chainCommoning(Loop *L, SmallVector<Bucket, 16> &Buckets);
272 bool prepareBasesForCommoningChains(Bucket &BucketChain);
276 rewriteLoadStoresForCommoningChains(Loop *L, Bucket &Bucket,
281 SmallVector<Bucket, 16> collectCandidates(
291 SmallVector<Bucket, 16> &Buckets,
296 bool updateFormPrep(Loop *L, SmallVector<Bucket, 16> &Buckets);
300 bool dispFormPrep(Loop *L, SmallVector<Bucket, 16> &Buckets, PrepForm Form);
308 bool prepareBaseForDispFormChain(Bucket &BucketChain, PrepForm Form);
315 bool prepareBaseForUpdateFormChain(Bucket &BucketChain);
319 bool rewriteLoadStores(Loop *L, Bucket &BucketChain,
428 bool PPCLoopInstrFormPrep::prepareBasesForCommoningChains(Bucket &CBucket) { in prepareBasesForCommoningChains()
528 SmallVector<Bucket, 16> &Buckets) { in chainCommoning() argument
536 for (auto &Bucket : Buckets) { in chainCommoning() local
537 if (prepareBasesForCommoningChains(Bucket)) in chainCommoning()
538 MadeChange |= rewriteLoadStoresForCommoningChains(L, Bucket, BBChanged); in chainCommoning()
548 Loop *L, Bucket &Bucket, SmallSet<BasicBlock *, 16> &BBChanged) { in rewriteLoadStoresForCommoningChains() argument
551 assert(Bucket.Elements.size() == in rewriteLoadStoresForCommoningChains()
552 Bucket.ChainBases.size() * Bucket.ChainSize && in rewriteLoadStoresForCommoningChains()
562 for (unsigned ChainIdx = 0; ChainIdx < Bucket.ChainBases.size(); ++ChainIdx) { in rewriteLoadStoresForCommoningChains()
563 unsigned BaseElemIdx = Bucket.ChainSize * ChainIdx; in rewriteLoadStoresForCommoningChains()
565 ChainIdx ? SE->getAddExpr(Bucket.BaseSCEV, in rewriteLoadStoresForCommoningChains()
566 Bucket.Elements[BaseElemIdx].Offset) in rewriteLoadStoresForCommoningChains()
567 : Bucket.BaseSCEV; in rewriteLoadStoresForCommoningChains()
578 L, BasePtrSCEV, Bucket.Elements[BaseElemIdx].Instr, in rewriteLoadStoresForCommoningChains()
589 for (unsigned Idx = BaseElemIdx + 1; Idx < BaseElemIdx + Bucket.ChainSize; in rewriteLoadStoresForCommoningChains()
591 BucketElement &I = Bucket.Elements[Idx]; in rewriteLoadStoresForCommoningChains()
598 BaseElemIdx ? SE->getMinusSCEV(Bucket.Elements[Idx].Offset, in rewriteLoadStoresForCommoningChains()
599 Bucket.Elements[BaseElemIdx].Offset) in rewriteLoadStoresForCommoningChains()
600 : Bucket.Elements[Idx].Offset; in rewriteLoadStoresForCommoningChains()
611 Instruction *NewPtr = rewriteForBucketElement(Base, Bucket.Elements[Idx], in rewriteLoadStoresForCommoningChains()
830 Instruction *MemI, const SCEV *LSCEV, SmallVector<Bucket, 16> &Buckets, in addOneCandidate() argument
855 Buckets.push_back(Bucket(LSCEV, MemI)); in addOneCandidate()
859 SmallVector<Bucket, 16> PPCLoopInstrFormPrep::collectCandidates( in collectCandidates()
864 SmallVector<Bucket, 16> Buckets; in collectCandidates()
895 bool PPCLoopInstrFormPrep::prepareBaseForDispFormChain(Bucket &BucketChain, in prepareBaseForDispFormChain()
971 bool PPCLoopInstrFormPrep::prepareBaseForUpdateFormChain(Bucket &BucketChain) { in prepareBaseForUpdateFormChain()
1012 Loop *L, Bucket &BucketChain, SmallSet<BasicBlock *, 16> &BBChanged, in rewriteLoadStores()
1092 SmallVector<Bucket, 16> &Buckets) { in updateFormPrep() argument
1097 for (auto &Bucket : Buckets) in updateFormPrep() local
1100 if (prepareBaseForUpdateFormChain(Bucket)) in updateFormPrep()
1101 MadeChange |= rewriteLoadStores(L, Bucket, BBChanged, UpdateForm); in updateFormPrep()
1110 SmallVector<Bucket, 16> &Buckets, in dispFormPrep() argument
1118 for (auto &Bucket : Buckets) { in dispFormPrep() local
1119 if (Bucket.Elements.size() < DispFormPrepMinThreshold) in dispFormPrep()
1121 if (prepareBaseForDispFormChain(Bucket, Form)) in dispFormPrep()
1122 MadeChange |= rewriteLoadStores(L, Bucket, BBChanged, Form); in dispFormPrep()
1439 SmallVector<Bucket, 16> UpdateFormBuckets = collectCandidates( in runOnLoop()
1456 SmallVector<Bucket, 16> DSFormBuckets = collectCandidates( in runOnLoop()
1466 SmallVector<Bucket, 16> DQFormBuckets = collectCandidates( in runOnLoop()
1482 SmallVector<Bucket, 16> Buckets = in runOnLoop()