Lines Matching refs:Candidate

102   struct Candidate {  struct in __anon627523ed0111::StraightLineStrengthReduce
110 Candidate() = default;
111 Candidate(Kind CT, const SCEV *B, ConstantInt *Idx, Value *S, in Candidate() argument
144 Candidate *Basis = nullptr; argument
171 bool isBasisFor(const Candidate &Basis, const Candidate &C);
174 bool isFoldable(const Candidate &C, TargetTransformInfo *TTI,
179 bool isSimplestForm(const Candidate &C);
211 void allocateCandidatesAndFindBasis(Candidate::Kind CT, const SCEV *B,
216 void rewriteCandidateWithBasis(const Candidate &C, const Candidate &Basis);
228 static Value *emitBump(const Candidate &Basis, const Candidate &C,
236 std::list<Candidate> Candidates;
260 bool StraightLineStrengthReduce::isBasisFor(const Candidate &Basis, in isBasisFor()
261 const Candidate &C) { in isBasisFor()
291 bool StraightLineStrengthReduce::isFoldable(const Candidate &C, in isFoldable()
294 if (C.CandidateKind == Candidate::Add) in isFoldable()
296 if (C.CandidateKind == Candidate::GEP) in isFoldable()
312 bool StraightLineStrengthReduce::isSimplestForm(const Candidate &C) { in isSimplestForm()
313 if (C.CandidateKind == Candidate::Add) { in isSimplestForm()
317 if (C.CandidateKind == Candidate::Mul) { in isSimplestForm()
321 if (C.CandidateKind == Candidate::GEP) { in isSimplestForm()
337 Candidate::Kind CT, const SCEV *B, ConstantInt *Idx, Value *S, in allocateCandidatesAndFindBasis()
339 Candidate C(CT, B, Idx, S, I); in allocateCandidatesAndFindBasis()
406 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
411 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
415 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), One, RHS, in allocateCandidatesAndFindBasisForAdd()
439 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
445 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
449 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(LHS), Zero, RHS, in allocateCandidatesAndFindBasisForMul()
480 allocateCandidatesAndFindBasis(Candidate::GEP, B, ScaledIdx, S, I); in allocateCandidatesAndFindBasisForGEP()
571 Value *StraightLineStrengthReduce::emitBump(const Candidate &Basis, in emitBump()
572 const Candidate &C, in emitBump()
581 if (Basis.CandidateKind == Candidate::GEP) { in emitBump()
623 const Candidate &C, const Candidate &Basis) { in rewriteCandidateWithBasis()
642 case Candidate::Add: in rewriteCandidateWithBasis()
643 case Candidate::Mul: { in rewriteCandidateWithBasis()
666 case Candidate::GEP: in rewriteCandidateWithBasis()
719 const Candidate &C = Candidates.back(); in runOnFunction()