Lines Matching refs:SCEVAddRecExpr

164     const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(this);  in print()
547 const SCEVAddRecExpr *LA = cast<SCEVAddRecExpr>(LHS); in compare()
548 const SCEVAddRecExpr *RA = cast<SCEVAddRecExpr>(RHS); in compare()
784 void visitAddRecExpr(const SCEVAddRecExpr *Numerator) { in visitAddRecExpr()
1047 const SCEV *SCEVAddRecExpr::evaluateAtIteration(const SCEV *It, in evaluateAtIteration()
1132 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in getTruncateExpr()
1241 static const SCEV *getPreStartForExtend(const SCEVAddRecExpr *AR, Type *Ty, in getPreStartForExtend()
1273 const SCEVAddRecExpr *PreAR = dyn_cast<SCEVAddRecExpr>( in getPreStartForExtend()
1296 const_cast<SCEVAddRecExpr *>(PreAR)->setNoWrapFlags(WrapType); in getPreStartForExtend()
1315 static const SCEV *getExtendAddRecStart(const SCEVAddRecExpr *AR, Type *Ty, in getExtendAddRecStart()
1387 static_cast<SCEVAddRecExpr *>(UniqueSCEVs.FindNodeOrInsertPos(ID, IP)); in proveNoWrapByVaryingStart()
1447 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) in getZeroExtendExpr()
1456 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(NewFlags); in getZeroExtendExpr()
1499 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNUW); in getZeroExtendExpr()
1514 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNW); in getZeroExtendExpr()
1546 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNUW); in getZeroExtendExpr()
1562 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNW); in getZeroExtendExpr()
1572 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNUW); in getZeroExtendExpr()
1674 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) in getSignExtendExpr()
1683 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(NewFlags); in getSignExtendExpr()
1726 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNSW); in getSignExtendExpr()
1747 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNW); in getSignExtendExpr()
1781 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNSW); in getSignExtendExpr()
1806 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNSW); in getSignExtendExpr()
1862 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) { in getAnyExtendExpr()
2284 for (; Idx < Ops.size() && isa<SCEVAddRecExpr>(Ops[Idx]); ++Idx) { in getAddExpr()
2288 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]); in getAddExpr()
2331 OtherIdx < Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]); in getAddExpr()
2333 if (AddRecLoop == cast<SCEVAddRecExpr>(Ops[OtherIdx])->getLoop()) { in getAddExpr()
2337 for (; OtherIdx != Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]); in getAddExpr()
2339 if (const auto *OtherAddRec = dyn_cast<SCEVAddRecExpr>(Ops[OtherIdx])) in getAddExpr()
2497 } else if (const auto *AddRec = dyn_cast<SCEVAddRecExpr>(Ops[1])) { in getMulExpr()
2542 for (; Idx < Ops.size() && isa<SCEVAddRecExpr>(Ops[Idx]); ++Idx) { in getMulExpr()
2546 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]); in getMulExpr()
2600 OtherIdx != Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]); in getMulExpr()
2602 const SCEVAddRecExpr *OtherAddRec = in getMulExpr()
2603 dyn_cast<SCEVAddRecExpr>(Ops[OtherIdx]); in getMulExpr()
2640 AddRec = dyn_cast<SCEVAddRecExpr>(NewAddRec); in getMulExpr()
2699 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS)) in getUDivExpr()
2868 if (const SCEVAddRecExpr *StepChrec = dyn_cast<SCEVAddRecExpr>(Step)) in getAddRecExpr()
2908 if (const SCEVAddRecExpr *NestedAR = dyn_cast<SCEVAddRecExpr>(Operands[0])) { in getAddRecExpr()
2959 SCEVAddRecExpr *S = in getAddRecExpr()
2960 static_cast<SCEVAddRecExpr *>(UniqueSCEVs.FindNodeOrInsertPos(ID, IP)); in getAddRecExpr()
2964 S = new (SCEVAllocator) SCEVAddRecExpr(ID.Intern(SCEVAllocator), in getAddRecExpr()
3706 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr()
3740 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr()
3755 ScalarEvolution::proveNoWrapViaConstantRanges(const SCEVAddRecExpr *AR) { in proveNoWrapViaConstantRanges()
3978 (isa<SCEVAddRecExpr>(Accum) && in createAddRecFromPHI()
3979 cast<SCEVAddRecExpr>(Accum)->getLoop() == L)) { in createAddRecFromPHI()
4098 const auto *ARLoop = cast<SCEVAddRecExpr>(S)->getLoop(); in IsAvailableOnEntry()
4380 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) { in GetMinTrailingZeros()
4514 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S)) { in getRange()
4826 if (auto *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in isSCEVExprNeverPoison()
5089 if (const SCEVAddRecExpr *NewAR = dyn_cast<SCEVAddRecExpr>(S)) { in createSCEV()
5090 const SCEVAddRecExpr *OldAR = cast<SCEVAddRecExpr>(LHS); in createSCEV()
5091 const_cast<SCEVAddRecExpr *>(NewAR)->setNoWrapFlags( in createSCEV()
5975 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(LHS)) in computeExitLimitFromICmp()
6055 EvaluateConstantChrecAtConstant(const SCEVAddRecExpr *AddRec, ConstantInt *C, in EvaluateConstantChrecAtConstant()
6113 const SCEVAddRecExpr *IdxExpr = dyn_cast<SCEVAddRecExpr>(Idx); in computeLoadConstantCompareExitLimit()
6849 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(V)) { in computeSCEVAtScope()
6869 AddRec = dyn_cast<SCEVAddRecExpr>(FoldedRec); in computeSCEVAtScope()
6973 SolveQuadraticEquation(const SCEVAddRecExpr *AddRec, ScalarEvolution &SE) { in SolveQuadraticEquation()
7051 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(V); in howFarToZero()
7309 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(RHS)) { in SimplifyICmpOperands()
7584 const SCEVAddRecExpr *LAR = dyn_cast<SCEVAddRecExpr>(LHS); in isKnownPredicate()
7585 const SCEVAddRecExpr *RAR = dyn_cast<SCEVAddRecExpr>(RHS); in isKnownPredicate()
7614 bool ScalarEvolution::isMonotonicPredicate(const SCEVAddRecExpr *LHS, in isMonotonicPredicate()
7635 bool ScalarEvolution::isMonotonicPredicateImpl(const SCEVAddRecExpr *LHS, in isMonotonicPredicateImpl()
7704 const SCEVAddRecExpr *ArLHS = dyn_cast<SCEVAddRecExpr>(LHS); in isLoopInvariantPredicate()
8242 if (isa<SCEVAddRecExpr>(Less) && isa<SCEVAddRecExpr>(More)) { in computeConstantDifference()
8243 const auto *LAR = cast<SCEVAddRecExpr>(Less); in computeConstantDifference()
8244 const auto *MAR = cast<SCEVAddRecExpr>(More); in computeConstantDifference()
8295 const auto *AddRecLHS = dyn_cast<SCEVAddRecExpr>(LHS); in isImpliedCondOperandsViaNoOverflow()
8299 const auto *AddRecFoundLHS = dyn_cast<SCEVAddRecExpr>(FoundLHS); in isImpliedCondOperandsViaNoOverflow()
8435 const SCEVAddRecExpr *LAR = dyn_cast<SCEVAddRecExpr>(LHS); in IsKnownPredicateViaAddRecStart()
8438 const SCEVAddRecExpr *RAR = dyn_cast<SCEVAddRecExpr>(RHS); in IsKnownPredicateViaAddRecStart()
8646 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS); in howManyLessThans()
8721 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS); in howManyGreaterThans()
8789 const SCEV *SCEVAddRecExpr::getNumIterationsInRange(const ConstantRange &Range, in getNumIterationsInRange()
8801 if (const auto *ShiftedAddRec = dyn_cast<SCEVAddRecExpr>(Shifted)) in getNumIterationsInRange()
8864 SolveQuadraticEquation(cast<SCEVAddRecExpr>(NewAddRec), SE)) { in getNumIterationsInRange()
8948 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in follow()
8986 if (isa<SCEVAddRecExpr>(S)) { in follow()
9280 if (auto *AR = dyn_cast<SCEVAddRecExpr>(Expr)) in computeAccessFunctions()
9305 if (isa<SCEVAddRecExpr>(R)) { in computeAccessFunctions()
9718 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S); in computeLoopDisposition()
9825 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S); in computeBlockDisposition()
10085 const SCEVAddRecExpr *AR, in getWrapPredicate()
10130 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Operand); in visitZeroExtendExpr()
10146 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Operand); in visitSignExtendExpr()
10161 bool addOverflowAssumption(const SCEVAddRecExpr *AR, in addOverflowAssumption()
10185 const SCEVAddRecExpr *
10190 auto *AddRec = dyn_cast<SCEVAddRecExpr>(S); in convertSCEVToAddRecWithPredicates()
10229 const SCEVAddRecExpr *AR, in SCEVWrapPredicate()
10261 SCEVWrapPredicate::getImpliedFlags(const SCEVAddRecExpr *AR, in getImpliedFlags()
10393 const auto *AR = cast<SCEVAddRecExpr>(Expr); in setNoOverflow()
10409 const auto *AR = cast<SCEVAddRecExpr>(Expr); in hasNoOverflow()
10422 const SCEVAddRecExpr *PredicatedScalarEvolution::getAsAddRec(Value *V) { in getAsAddRec()