Lines Matching refs:SCEVAddRecExpr
160 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(this); in print()
545 const SCEVAddRecExpr *LA = cast<SCEVAddRecExpr>(LHS); in compare()
546 const SCEVAddRecExpr *RA = cast<SCEVAddRecExpr>(RHS); in compare()
782 void visitAddRecExpr(const SCEVAddRecExpr *Numerator) { in visitAddRecExpr()
1046 const SCEV *SCEVAddRecExpr::evaluateAtIteration(const SCEV *It, in evaluateAtIteration()
1131 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in getTruncateExpr()
1240 static const SCEV *getPreStartForExtend(const SCEVAddRecExpr *AR, Type *Ty, in getPreStartForExtend()
1272 const SCEVAddRecExpr *PreAR = dyn_cast<SCEVAddRecExpr>( in getPreStartForExtend()
1295 const_cast<SCEVAddRecExpr *>(PreAR)->setNoWrapFlags(WrapType); in getPreStartForExtend()
1314 static const SCEV *getExtendAddRecStart(const SCEVAddRecExpr *AR, Type *Ty, in getExtendAddRecStart()
1386 static_cast<SCEVAddRecExpr *>(UniqueSCEVs.FindNodeOrInsertPos(ID, IP)); in proveNoWrapByVaryingStart()
1446 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) in getZeroExtendExpr()
1493 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNUW); in getZeroExtendExpr()
1508 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNW); in getZeroExtendExpr()
1528 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNUW); in getZeroExtendExpr()
1543 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNW); in getZeroExtendExpr()
1553 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNUW); in getZeroExtendExpr()
1659 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) in getSignExtendExpr()
1706 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNSW); in getSignExtendExpr()
1727 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNW); in getSignExtendExpr()
1749 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNSW); in getSignExtendExpr()
1773 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNSW); in getSignExtendExpr()
1824 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) { in getAnyExtendExpr()
2249 for (; Idx < Ops.size() && isa<SCEVAddRecExpr>(Ops[Idx]); ++Idx) { in getAddExpr()
2253 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]); in getAddExpr()
2293 OtherIdx < Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]); in getAddExpr()
2295 if (AddRecLoop == cast<SCEVAddRecExpr>(Ops[OtherIdx])->getLoop()) { in getAddExpr()
2299 for (; OtherIdx != Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]); in getAddExpr()
2301 if (const auto *OtherAddRec = dyn_cast<SCEVAddRecExpr>(Ops[OtherIdx])) in getAddExpr()
2460 } else if (const auto *AddRec = dyn_cast<SCEVAddRecExpr>(Ops[1])) { in getMulExpr()
2505 for (; Idx < Ops.size() && isa<SCEVAddRecExpr>(Ops[Idx]); ++Idx) { in getMulExpr()
2509 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]); in getMulExpr()
2563 OtherIdx != Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]); in getMulExpr()
2565 const SCEVAddRecExpr *OtherAddRec = in getMulExpr()
2566 dyn_cast<SCEVAddRecExpr>(Ops[OtherIdx]); in getMulExpr()
2603 AddRec = dyn_cast<SCEVAddRecExpr>(NewAddRec); in getMulExpr()
2662 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS)) in getUDivExpr()
2831 if (const SCEVAddRecExpr *StepChrec = dyn_cast<SCEVAddRecExpr>(Step)) in getAddRecExpr()
2871 if (const SCEVAddRecExpr *NestedAR = dyn_cast<SCEVAddRecExpr>(Operands[0])) { in getAddRecExpr()
2922 SCEVAddRecExpr *S = in getAddRecExpr()
2923 static_cast<SCEVAddRecExpr *>(UniqueSCEVs.FindNodeOrInsertPos(ID, IP)); in getAddRecExpr()
2927 S = new (SCEVAllocator) SCEVAddRecExpr(ID.Intern(SCEVAllocator), in getAddRecExpr()
3635 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr()
3669 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr()
3746 (isa<SCEVAddRecExpr>(Accum) && in createAddRecFromPHI()
3747 cast<SCEVAddRecExpr>(Accum)->getLoop() == L)) { in createAddRecFromPHI()
3859 const auto *ARLoop = cast<SCEVAddRecExpr>(S)->getLoop(); in IsAvailableOnEntry()
4146 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) { in GetMinTrailingZeros()
4282 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S)) { in getRange()
4456 if (auto *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in getNoWrapFlagsFromUB()
4630 if (const SCEVAddRecExpr *NewAR = dyn_cast<SCEVAddRecExpr>(S)) { in createSCEV()
4631 const SCEVAddRecExpr *OldAR = cast<SCEVAddRecExpr>(LHS); in createSCEV()
4632 const_cast<SCEVAddRecExpr *>(NewAR)->setNoWrapFlags( in createSCEV()
5481 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(LHS)) in computeExitLimitFromICmp()
5549 EvaluateConstantChrecAtConstant(const SCEVAddRecExpr *AddRec, ConstantInt *C, in EvaluateConstantChrecAtConstant()
5608 const SCEVAddRecExpr *IdxExpr = dyn_cast<SCEVAddRecExpr>(Idx); in computeLoadConstantCompareExitLimit()
6355 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(V)) { in computeSCEVAtScope()
6375 AddRec = dyn_cast<SCEVAddRecExpr>(FoldedRec); in computeSCEVAtScope()
6482 SolveQuadraticEquation(const SCEVAddRecExpr *AddRec, ScalarEvolution &SE) { in SolveQuadraticEquation()
6564 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(V); in HowFarToZero()
6827 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(RHS)) { in SimplifyICmpOperands()
7102 const SCEVAddRecExpr *LAR = dyn_cast<SCEVAddRecExpr>(LHS); in isKnownPredicate()
7103 const SCEVAddRecExpr *RAR = dyn_cast<SCEVAddRecExpr>(RHS); in isKnownPredicate()
7132 bool ScalarEvolution::isMonotonicPredicate(const SCEVAddRecExpr *LHS, in isMonotonicPredicate()
7153 bool ScalarEvolution::isMonotonicPredicateImpl(const SCEVAddRecExpr *LHS, in isMonotonicPredicateImpl()
7222 const SCEVAddRecExpr *ArLHS = dyn_cast<SCEVAddRecExpr>(LHS); in isLoopInvariantPredicate()
7781 if (isa<SCEVAddRecExpr>(Less) && isa<SCEVAddRecExpr>(More)) { in computeConstantDifference()
7782 const auto *LAR = cast<SCEVAddRecExpr>(Less); in computeConstantDifference()
7783 const auto *MAR = cast<SCEVAddRecExpr>(More); in computeConstantDifference()
7834 const auto *AddRecLHS = dyn_cast<SCEVAddRecExpr>(LHS); in isImpliedCondOperandsViaNoOverflow()
7838 const auto *AddRecFoundLHS = dyn_cast<SCEVAddRecExpr>(FoundLHS); in isImpliedCondOperandsViaNoOverflow()
7977 const SCEVAddRecExpr *LAR = dyn_cast<SCEVAddRecExpr>(LHS); in IsKnownPredicateViaAddRecStart()
7980 const SCEVAddRecExpr *RAR = dyn_cast<SCEVAddRecExpr>(RHS); in IsKnownPredicateViaAddRecStart()
8207 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS); in HowManyLessThans()
8287 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS); in HowManyGreaterThans()
8366 const SCEV *SCEVAddRecExpr::getNumIterationsInRange(ConstantRange Range, in getNumIterationsInRange()
8378 if (const auto *ShiftedAddRec = dyn_cast<SCEVAddRecExpr>(Shifted)) in getNumIterationsInRange()
8440 auto Roots = SolveQuadraticEquation(cast<SCEVAddRecExpr>(NewAddRec), SE); in getNumIterationsInRange()
8526 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in follow()
8564 if (isa<SCEVAddRecExpr>(S)) { in follow()
8863 if (auto *AR = dyn_cast<SCEVAddRecExpr>(Expr)) in computeAccessFunctions()
8888 if (isa<SCEVAddRecExpr>(R)) { in computeAccessFunctions()
9225 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S); in computeLoopDisposition()
9332 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S); in computeBlockDisposition()