Lines Matching refs:Bucket
195 struct Bucket { struct
196 Bucket(const SCEV *B, Instruction *I) in Bucket() argument
270 bool chainCommoning(Loop *L, SmallVector<Bucket, 16> &Buckets);
273 bool prepareBasesForCommoningChains(Bucket &BucketChain);
277 rewriteLoadStoresForCommoningChains(Loop *L, Bucket &Bucket,
282 SmallVector<Bucket, 16> collectCandidates(
292 SmallVector<Bucket, 16> &Buckets,
297 bool updateFormPrep(Loop *L, SmallVector<Bucket, 16> &Buckets);
301 bool dispFormPrep(Loop *L, SmallVector<Bucket, 16> &Buckets, PrepForm Form);
309 bool prepareBaseForDispFormChain(Bucket &BucketChain, PrepForm Form);
316 bool prepareBaseForUpdateFormChain(Bucket &BucketChain);
320 bool rewriteLoadStores(Loop *L, Bucket &BucketChain,
429 bool PPCLoopInstrFormPrep::prepareBasesForCommoningChains(Bucket &CBucket) { in prepareBasesForCommoningChains()
529 SmallVector<Bucket, 16> &Buckets) { in chainCommoning() argument
537 for (auto &Bucket : Buckets) { in chainCommoning() local
538 if (prepareBasesForCommoningChains(Bucket)) in chainCommoning()
539 MadeChange |= rewriteLoadStoresForCommoningChains(L, Bucket, BBChanged); in chainCommoning()
549 Loop *L, Bucket &Bucket, SmallSet<BasicBlock *, 16> &BBChanged) { in rewriteLoadStoresForCommoningChains() argument
552 assert(Bucket.Elements.size() == in rewriteLoadStoresForCommoningChains()
553 Bucket.ChainBases.size() * Bucket.ChainSize && in rewriteLoadStoresForCommoningChains()
563 for (unsigned ChainIdx = 0; ChainIdx < Bucket.ChainBases.size(); ++ChainIdx) { in rewriteLoadStoresForCommoningChains()
564 unsigned BaseElemIdx = Bucket.ChainSize * ChainIdx; in rewriteLoadStoresForCommoningChains()
566 ChainIdx ? SE->getAddExpr(Bucket.BaseSCEV, in rewriteLoadStoresForCommoningChains()
567 Bucket.Elements[BaseElemIdx].Offset) in rewriteLoadStoresForCommoningChains()
568 : Bucket.BaseSCEV; in rewriteLoadStoresForCommoningChains()
579 L, BasePtrSCEV, Bucket.Elements[BaseElemIdx].Instr, in rewriteLoadStoresForCommoningChains()
590 for (unsigned Idx = BaseElemIdx + 1; Idx < BaseElemIdx + Bucket.ChainSize; in rewriteLoadStoresForCommoningChains()
592 BucketElement &I = Bucket.Elements[Idx]; in rewriteLoadStoresForCommoningChains()
599 BaseElemIdx ? SE->getMinusSCEV(Bucket.Elements[Idx].Offset, in rewriteLoadStoresForCommoningChains()
600 Bucket.Elements[BaseElemIdx].Offset) in rewriteLoadStoresForCommoningChains()
601 : Bucket.Elements[Idx].Offset; in rewriteLoadStoresForCommoningChains()
612 Instruction *NewPtr = rewriteForBucketElement(Base, Bucket.Elements[Idx], in rewriteLoadStoresForCommoningChains()
836 Instruction *MemI, const SCEV *LSCEV, SmallVector<Bucket, 16> &Buckets, in addOneCandidate() argument
861 Buckets.push_back(Bucket(LSCEV, MemI)); in addOneCandidate()
865 SmallVector<Bucket, 16> PPCLoopInstrFormPrep::collectCandidates( in collectCandidates()
870 SmallVector<Bucket, 16> Buckets; in collectCandidates()
901 bool PPCLoopInstrFormPrep::prepareBaseForDispFormChain(Bucket &BucketChain, in prepareBaseForDispFormChain()
977 bool PPCLoopInstrFormPrep::prepareBaseForUpdateFormChain(Bucket &BucketChain) { in prepareBaseForUpdateFormChain()
1018 Loop *L, Bucket &BucketChain, SmallSet<BasicBlock *, 16> &BBChanged, in rewriteLoadStores()
1097 SmallVector<Bucket, 16> &Buckets) { in updateFormPrep() argument
1102 for (auto &Bucket : Buckets) in updateFormPrep() local
1105 if (prepareBaseForUpdateFormChain(Bucket)) in updateFormPrep()
1106 MadeChange |= rewriteLoadStores(L, Bucket, BBChanged, UpdateForm); in updateFormPrep()
1115 SmallVector<Bucket, 16> &Buckets, in dispFormPrep() argument
1123 for (auto &Bucket : Buckets) { in dispFormPrep() local
1124 if (Bucket.Elements.size() < DispFormPrepMinThreshold) in dispFormPrep()
1126 if (prepareBaseForDispFormChain(Bucket, Form)) in dispFormPrep()
1127 MadeChange |= rewriteLoadStores(L, Bucket, BBChanged, Form); in dispFormPrep()
1446 SmallVector<Bucket, 16> UpdateFormBuckets = collectCandidates( in runOnLoop()
1463 SmallVector<Bucket, 16> DSFormBuckets = collectCandidates( in runOnLoop()
1473 SmallVector<Bucket, 16> DQFormBuckets = collectCandidates( in runOnLoop()
1489 SmallVector<Bucket, 16> Buckets = in runOnLoop()