Lines Matching defs:SCEVPredicate

5473 std::optional<std::pair<const SCEV *, SmallVector<const SCEVPredicate *, 3>>>
5475 SmallVector<const SCEVPredicate *, 3> Predicates;
5610 const SCEVPredicate *AddRecPred = getWrapPredicate(AR, AddedFlags);
5662 const SCEVPredicate *Pred = getEqualPredicate(Expr, ExtendedExpr);
5677 std::pair<const SCEV *, SmallVector<const SCEVPredicate *, 3>> PredRewrite =
5684 std::optional<std::pair<const SCEV *, SmallVector<const SCEVPredicate *, 3>>>
5694 std::pair<const SCEV *, SmallVector<const SCEVPredicate *, 3>> Rewrite =
5706 std::optional<std::pair<const SCEV *, SmallVector<const SCEVPredicate *, 3>>>
5711 SmallVector<const SCEVPredicate *, 3> Predicates;
8288 SmallVector<const SCEVPredicate *, 4> &Preds) {
8306 const Loop *L, SmallVector<const SCEVPredicate *, 4> &Preds) {
8578 SmallVector<const SCEVPredicate *, 4> *Preds) const {
8661 SmallVector<const SCEVPredicate *, 4> *Predicates) {
8707 ArrayRef<const SmallPtrSetImpl<const SCEVPredicate *> *> PredSetList)
8743 const SmallPtrSetImpl<const SCEVPredicate *> &PredSet)
10439 SmallPtrSet<const SCEVPredicate *, 4> Predicates;
12777 SmallPtrSet<const SCEVPredicate *, 4> Predicates;
13259 SmallPtrSet<const SCEVPredicate *, 4> Predicates;
13668 SmallVector<const SCEVPredicate *, 4> Preds;
14554 const SCEVPredicate *ScalarEvolution::getEqualPredicate(const SCEV *LHS,
14559 const SCEVPredicate *
14566 ID.AddInteger(SCEVPredicate::P_Compare);
14579 const SCEVPredicate *ScalarEvolution::getWrapPredicate(
14584 ID.AddInteger(SCEVPredicate::P_Wrap);
14610 SmallPtrSetImpl<const SCEVPredicate *> *NewPreds,
14611 const SCEVPredicate *Pred) {
14667 SmallPtrSetImpl<const SCEVPredicate *> *NewPreds,
14668 const SCEVPredicate *Pred)
14671 bool addOverflowAssumption(const SCEVPredicate *P) {
14696 std::pair<const SCEV *, SmallVector<const SCEVPredicate *, 3>>>
14712 SmallPtrSetImpl<const SCEVPredicate *> *NewPreds;
14713 const SCEVPredicate *Pred;
14721 const SCEVPredicate &Preds) {
14727 SmallPtrSetImpl<const SCEVPredicate *> &Preds) {
14728 SmallPtrSet<const SCEVPredicate *, 4> TransformPreds;
14744 SCEVPredicate::SCEVPredicate(const FoldingSetNodeIDRef ID,
14751 : SCEVPredicate(ID, P_Compare), Pred(Pred), LHS(LHS), RHS(RHS) {
14756 bool SCEVComparePredicate::implies(const SCEVPredicate *N) const {
14782 : SCEVPredicate(ID, P_Wrap), AR(AR), Flags(Flags) {}
14786 bool SCEVWrapPredicate::implies(const SCEVPredicate *N) const {
14833 SCEVUnionPredicate::SCEVUnionPredicate(ArrayRef<const SCEVPredicate *> Preds)
14834 : SCEVPredicate(FoldingSetNodeIDRef(nullptr, 0), P_Union) {
14841 [](const SCEVPredicate *I) { return I->isAlwaysTrue(); });
14844 bool SCEVUnionPredicate::implies(const SCEVPredicate *N) const {
14847 [this](const SCEVPredicate *I) { return this->implies(I); });
14850 [N](const SCEVPredicate *I) { return I->implies(N); });
14858 void SCEVUnionPredicate::add(const SCEVPredicate *N) {
14873 SmallVector<const SCEVPredicate*, 4> Empty;
14908 SmallVector<const SCEVPredicate *, 4> Preds;
14918 SmallVector<const SCEVPredicate *, 4> Preds;
14927 void PredicatedScalarEvolution::addPredicate(const SCEVPredicate &Pred) {
14932 SmallVector<const SCEVPredicate*, 4> NewPreds(OldPreds.begin(), OldPreds.end());
14938 const SCEVPredicate &PredicatedScalarEvolution::getPredicate() const {
14986 SmallPtrSet<const SCEVPredicate *, 4> NewPreds;