Lines Matching defs:BucketChain

271     bool prepareBasesForCommoningChains(Bucket &BucketChain);
301 /// Prepare for one chain \p BucketChain, find the best base element and
302 /// update all other elements in \p BucketChain accordingly.
305 /// \p BucketChain.
307 bool prepareBaseForDispFormChain(Bucket &BucketChain, PrepForm Form);
309 /// Prepare for one chain \p BucketChain, find the best base element and
310 /// update all other elements in \p BucketChain accordingly.
312 /// \p BucketChain.
314 bool prepareBaseForUpdateFormChain(Bucket &BucketChain);
316 /// Rewrite load/store instructions in \p BucketChain according to
318 bool rewriteLoadStores(Loop *L, Bucket &BucketChain,
899 bool PPCLoopInstrFormPrep::prepareBaseForDispFormChain(Bucket &BucketChain,
909 for (unsigned j = 0, je = BucketChain.Elements.size(); j != je; ++j) {
910 if (!BucketChain.Elements[j].Offset)
913 unsigned Remainder = cast<SCEVConstant>(BucketChain.Elements[j].Offset)
948 // If the first value is most profitable, no needed to adjust BucketChain
955 BucketChain.Elements[RemainderOffsetInfo[MaxCountRemainder].first].Offset;
956 BucketChain.BaseSCEV = SE->getAddExpr(BucketChain.BaseSCEV, Offset);
957 for (auto &E : BucketChain.Elements) {
964 std::swap(BucketChain.Elements[RemainderOffsetInfo[MaxCountRemainder].first],
965 BucketChain.Elements[0]);
975 bool PPCLoopInstrFormPrep::prepareBaseForUpdateFormChain(Bucket &BucketChain) {
985 for (int j = 0, je = BucketChain.Elements.size(); j != je; ++j) {
986 if (auto *II = dyn_cast<IntrinsicInst>(BucketChain.Elements[j].Instr))
996 if (!BucketChain.Elements[j].Offset ||
997 cast<SCEVConstant>(BucketChain.Elements[j].Offset)->isZero())
1000 const SCEV *Offset = BucketChain.Elements[j].Offset;
1001 BucketChain.BaseSCEV = SE->getAddExpr(BucketChain.BaseSCEV, Offset);
1002 for (auto &E : BucketChain.Elements) {
1009 std::swap(BucketChain.Elements[j], BucketChain.Elements[0]);
1016 Loop *L, Bucket &BucketChain, SmallSet<BasicBlock *, 16> &BBChanged,
1021 cast<SCEVAddRecExpr>(BucketChain.BaseSCEV);
1045 rewriteForBase(L, BasePtrSCEV, BucketChain.Elements.begin()->Instr,
1056 for (const BucketElement &BE : llvm::drop_begin(BucketChain.Elements)) {