Lines Matching defs:SCEVAddRecExpr
59 class SCEVAddRecExpr;
378 /// SCEVAddRecExpr.
380 getImpliedFlags(const SCEVAddRecExpr *AR, ScalarEvolution &SE);
383 const SCEVAddRecExpr *AR;
388 const SCEVAddRecExpr *AR,
395 const SCEVAddRecExpr *getExpr() const;
1110 bool isKnownOnEveryIteration(CmpPredicate Pred, const SCEVAddRecExpr *LHS,
1187 getMonotonicPredicateType(const SCEVAddRecExpr *LHS,
1282 getWrapPredicate(const SCEVAddRecExpr *AR,
1290 const SCEVAddRecExpr *convertSCEVToAddRecWithPredicates(
1307 void setNoWrapFlags(SCEVAddRecExpr *AddRec, SCEV::NoWrapFlags Flags);
1745 /// Determines the range for the affine SCEVAddRecExpr {\p Start,+,\p Step}.
1750 /// Determines the range for the affine non-self-wrapping SCEVAddRecExpr {\p
1752 ConstantRange getRangeForAffineNoSelfWrappingAR(const SCEVAddRecExpr *AddRec,
1757 /// Try to compute a range for the affine SCEVAddRecExpr {\p Start,+,\p
2147 SCEV::NoWrapFlags proveNoWrapViaConstantRanges(const SCEVAddRecExpr *AR);
2151 SCEV::NoWrapFlags proveNoSignedWrapViaInduction(const SCEVAddRecExpr *AR);
2155 SCEV::NoWrapFlags proveNoUnsignedWrapViaInduction(const SCEVAddRecExpr *AR);
2158 getMonotonicPredicateTypeImpl(const SCEVAddRecExpr *LHS,
2296 DenseMap<const Loop *, SmallVector<const SCEVAddRecExpr *, 4>> LoopUsers;
2306 SmallPtrSet<const SCEVAddRecExpr *, 16> UnsignedWrapViaInductionTried;
2310 SmallPtrSet<const SCEVAddRecExpr *, 16> SignedWrapViaInductionTried;
2412 const SCEVAddRecExpr *getAsAddRec(Value *V);
2433 bool areAddRecsEqualWithPreds(const SCEVAddRecExpr *AR1,
2434 const SCEVAddRecExpr *AR2) const;