Lines Matching refs:SCEV
19 static bool isSafeDecreasingBound(const SCEV *Start, const SCEV *BoundSCEV, in isSafeDecreasingBound()
20 const SCEV *Step, ICmpInst::Predicate Pred, in isSafeDecreasingBound()
53 const SCEV *StepPlusOne = SE.getAddExpr(Step, SE.getOne(Step->getType())); in isSafeDecreasingBound()
57 const SCEV *Limit = SE.getMinusSCEV(SE.getConstant(Min), StepPlusOne); in isSafeDecreasingBound()
59 const SCEV *MinusOne = in isSafeDecreasingBound()
68 static bool isSafeIncreasingBound(const SCEV *Start, const SCEV *BoundSCEV, in isSafeIncreasingBound()
69 const SCEV *Step, ICmpInst::Predicate Pred, in isSafeIncreasingBound()
100 const SCEV *StepMinusOne = SE.getMinusSCEV(Step, SE.getOne(Step->getType())); in isSafeIncreasingBound()
104 const SCEV *Limit = SE.getMinusSCEV(SE.getConstant(Max), StepMinusOne); in isSafeIncreasingBound()
115 static const SCEV *getNarrowestLatchMaxTakenCountEstimate(ScalarEvolution &SE, in getNarrowestLatchMaxTakenCountEstimate()
117 const SCEV *FromBlock = in getNarrowestLatchMaxTakenCountEstimate()
167 const SCEV *MaxBETakenCount = getNarrowestLatchMaxTakenCountEstimate(SE, L); in parseLoopStructure()
178 const SCEV *LeftSCEV = SE.getSCEV(LeftValue); in parseLoopStructure()
182 const SCEV *RightSCEV = SE.getSCEV(RightValue); in parseLoopStructure()
197 if (AR->getNoWrapFlags(SCEV::FlagNSW)) in parseLoopStructure()
207 const SCEV *ExtendedStart = SE.getSignExtendExpr(AR->getStart(), WideTy); in parseLoopStructure()
208 const SCEV *ExtendedStep = in parseLoopStructure()
219 return AR->getNoWrapFlags(SCEV::FlagNSW) != SCEV::FlagAnyWrap; in parseLoopStructure()
234 const SCEV *StepRec = IndVarBase->getStepRecurrence(SE); in parseLoopStructure()
249 const SCEV *StartNext = IndVarBase->getStart(); in parseLoopStructure()
250 const SCEV *Addend = SE.getNegativeSCEV(IndVarBase->getStepRecurrence(SE)); in parseLoopStructure()
251 const SCEV *IndVarStart = SE.getAddExpr(StartNext, Addend); in parseLoopStructure()
252 const SCEV *Step = SE.getSCEV(StepCI); in parseLoopStructure()
254 const SCEV *FixedRightSCEV = nullptr; in parseLoopStructure()
284 if (IndVarBase->getNoWrapFlags(SCEV::FlagNUW) && in parseLoopStructure()
348 if (IndVarBase->getNoWrapFlags(SCEV::FlagNUW) && in parseLoopStructure()
754 const SCEV *ExitPreLoopAtSCEV = nullptr; in run()
781 const SCEV *ExitMainLoopAtSCEV = nullptr; in run()