Lines Matching refs:Candidate
83 struct Candidate : public ilist_node<Candidate> { struct in __anond0fe4eaf0111::StraightLineStrengthReduce
91 Candidate() in Candidate() function
94 Candidate(Kind CT, const SCEV *B, ConstantInt *Idx, Value *S, in Candidate() function
122 Candidate *Basis; argument
150 bool isBasisFor(const Candidate &Basis, const Candidate &C);
152 bool isFoldable(const Candidate &C, TargetTransformInfo *TTI,
156 bool isSimplestForm(const Candidate &C);
181 void allocateCandidatesAndFindBasis(Candidate::Kind CT, const SCEV *B,
185 void rewriteCandidateWithBasis(const Candidate &C, const Candidate &Basis);
195 static Value *emitBump(const Candidate &Basis, const Candidate &C,
203 ilist<Candidate> Candidates;
224 bool StraightLineStrengthReduce::isBasisFor(const Candidate &Basis, in isBasisFor()
225 const Candidate &C) { in isBasisFor()
284 bool StraightLineStrengthReduce::isFoldable(const Candidate &C, in isFoldable()
287 if (C.CandidateKind == Candidate::Add) in isFoldable()
289 if (C.CandidateKind == Candidate::GEP) in isFoldable()
305 bool StraightLineStrengthReduce::isSimplestForm(const Candidate &C) { in isSimplestForm()
306 if (C.CandidateKind == Candidate::Add) { in isSimplestForm()
310 if (C.CandidateKind == Candidate::Mul) { in isSimplestForm()
314 if (C.CandidateKind == Candidate::GEP) { in isSimplestForm()
330 Candidate::Kind CT, const SCEV *B, ConstantInt *Idx, Value *S, in allocateCandidatesAndFindBasis()
332 Candidate C(CT, B, Idx, S, I); in allocateCandidatesAndFindBasis()
399 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
404 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
408 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), One, RHS, in allocateCandidatesAndFindBasisForAdd()
432 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
438 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
442 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(LHS), Zero, RHS, in allocateCandidatesAndFindBasisForMul()
473 allocateCandidatesAndFindBasis(Candidate::GEP, B, ScaledIdx, S, I); in allocateCandidatesAndFindBasisForGEP()
556 Value *StraightLineStrengthReduce::emitBump(const Candidate &Basis, in emitBump()
557 const Candidate &C, in emitBump()
566 if (Basis.CandidateKind == Candidate::GEP) { in emitBump()
608 const Candidate &C, const Candidate &Basis) { in rewriteCandidateWithBasis()
627 case Candidate::Add: in rewriteCandidateWithBasis()
628 case Candidate::Mul: in rewriteCandidateWithBasis()
650 case Candidate::GEP: in rewriteCandidateWithBasis()
705 const Candidate &C = Candidates.back(); in runOnFunction()