Lines Matching refs:Basis

175     Candidate *Basis = nullptr;  member
183 bool isBasisFor(const Candidate &Basis, const Candidate &C);
228 void rewriteCandidateWithBasis(const Candidate &C, const Candidate &Basis);
237 static Value *emitBump(const Candidate &Basis, const Candidate &C,
268 bool StraightLineStrengthReduce::isBasisFor(const Candidate &Basis, in isBasisFor() argument
270 return (Basis.Ins != C.Ins && // skip the same instruction in isBasisFor()
273 Basis.Ins->getType() == C.Ins->getType() && in isBasisFor()
275 DT->dominates(Basis.Ins->getParent(), C.Ins->getParent()) && in isBasisFor()
277 Basis.Base == C.Base && Basis.Stride == C.Stride && in isBasisFor()
278 Basis.CandidateKind == C.CandidateKind); in isBasisFor()
364 for (auto Basis = Candidates.rbegin(); in allocateCandidatesAndFindBasis() local
365 Basis != Candidates.rend() && NumIterations < MaxNumIterations; in allocateCandidatesAndFindBasis()
366 ++Basis, ++NumIterations) { in allocateCandidatesAndFindBasis()
367 if (isBasisFor(*Basis, C)) { in allocateCandidatesAndFindBasis()
368 C.Basis = &(*Basis); in allocateCandidatesAndFindBasis()
575 Value *StraightLineStrengthReduce::emitBump(const Candidate &Basis, in emitBump() argument
579 APInt Idx = C.Index->getValue(), BasisIdx = Basis.Index->getValue(); in emitBump()
594 IntegerType::get(Basis.Ins->getContext(), IndexOffset.getBitWidth()); in emitBump()
612 const Candidate &C, const Candidate &Basis) { in rewriteCandidateWithBasis() argument
613 assert(C.CandidateKind == Basis.CandidateKind && C.Base == Basis.Base && in rewriteCandidateWithBasis()
614 C.Stride == Basis.Stride); in rewriteCandidateWithBasis()
617 assert(Basis.Ins->getParent() != nullptr && "the basis is unlinked"); in rewriteCandidateWithBasis()
627 Value *Bump = emitBump(Basis, C, Builder, DL); in rewriteCandidateWithBasis()
636 Reduced = Builder.CreateSub(Basis.Ins, NegBump); in rewriteCandidateWithBasis()
650 Reduced = Builder.CreateAdd(Basis.Ins, Bump); in rewriteCandidateWithBasis()
657 Reduced = Builder.CreatePtrAdd(Basis.Ins, Bump, "", InBounds); in rewriteCandidateWithBasis()
692 if (C.Basis != nullptr) { in runOnFunction()
693 rewriteCandidateWithBasis(C, *C.Basis); in runOnFunction()