Lines Matching refs:Candidate

133   struct Candidate {  struct in __anon79ba6f780111::StraightLineStrengthReduce
141 Candidate() = default;
142 Candidate(Kind CT, const SCEV *B, ConstantInt *Idx, Value *S, in Candidate() function
175 Candidate *Basis = nullptr; argument
183 bool isBasisFor(const Candidate &Basis, const Candidate &C);
186 bool isFoldable(const Candidate &C, TargetTransformInfo *TTI,
191 bool isSimplestForm(const Candidate &C);
223 void allocateCandidatesAndFindBasis(Candidate::Kind CT, const SCEV *B,
228 void rewriteCandidateWithBasis(const Candidate &C, const Candidate &Basis);
240 static Value *emitBump(const Candidate &Basis, const Candidate &C,
248 std::list<Candidate> Candidates;
272 bool StraightLineStrengthReduce::isBasisFor(const Candidate &Basis, in isBasisFor()
273 const Candidate &C) { in isBasisFor()
301 bool StraightLineStrengthReduce::isFoldable(const Candidate &C, in isFoldable()
304 if (C.CandidateKind == Candidate::Add) in isFoldable()
306 if (C.CandidateKind == Candidate::GEP) in isFoldable()
322 bool StraightLineStrengthReduce::isSimplestForm(const Candidate &C) { in isSimplestForm()
323 if (C.CandidateKind == Candidate::Add) { in isSimplestForm()
327 if (C.CandidateKind == Candidate::Mul) { in isSimplestForm()
331 if (C.CandidateKind == Candidate::GEP) { in isSimplestForm()
347 Candidate::Kind CT, const SCEV *B, ConstantInt *Idx, Value *S, in allocateCandidatesAndFindBasis()
349 Candidate C(CT, B, Idx, S, I); in allocateCandidatesAndFindBasis()
416 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
421 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
425 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), One, RHS, in allocateCandidatesAndFindBasisForAdd()
449 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
455 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
459 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(LHS), Zero, RHS, in allocateCandidatesAndFindBasisForMul()
490 allocateCandidatesAndFindBasis(Candidate::GEP, B, ScaledIdx, S, I); in allocateCandidatesAndFindBasisForGEP()
581 Value *StraightLineStrengthReduce::emitBump(const Candidate &Basis, in emitBump()
582 const Candidate &C, in emitBump()
591 if (Basis.CandidateKind == Candidate::GEP) { in emitBump()
633 const Candidate &C, const Candidate &Basis) { in rewriteCandidateWithBasis()
652 case Candidate::Add: in rewriteCandidateWithBasis()
653 case Candidate::Mul: { in rewriteCandidateWithBasis()
676 case Candidate::GEP: in rewriteCandidateWithBasis()
729 const Candidate &C = Candidates.back(); in runOnFunction()