Lines Matching refs:SCEVAddRecExpr
423 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in DoInitialMatch()
491 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg); in isCanonical()
499 return isa<const SCEVAddRecExpr>(S) && in isCanonical()
500 (cast<SCEVAddRecExpr>(S)->getLoop() == &L); in isCanonical()
534 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg); in canonicalize()
537 return isa<const SCEVAddRecExpr>(S) && in canonicalize()
538 (cast<SCEVAddRecExpr>(S)->getLoop() == &L); in canonicalize()
651 static bool isAddRecSExtable(const SCEVAddRecExpr *AR, ScalarEvolution &SE) { in isAddRecSExtable()
654 return isa<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in isAddRecSExtable()
714 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS)) { in getExactSDiv()
796 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in ExtractImmediate()
822 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in ExtractSymbol()
936 static bool isExistingPhi(const SCEVAddRecExpr *AR, ScalarEvolution &SE) { in isExistingPhi()
1010 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in isHighCostExpansion()
1250 if (const auto *S = dyn_cast<SCEVAddRecExpr>(Reg)) in getSetupCost()
1268 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Reg)) { in RateRegister()
2152 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(PH)); in OptimizeShadowIV()
2337 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(IV); in OptimizeMax()
2703 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in CollectInterestingTypesAndFactors()
2762 if (const SCEVAddRecExpr *AR = in findIVOperand()
2763 dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Oper))) { in findIVOperand()
2831 return getExprBase(cast<SCEVAddRecExpr>(S)->getStart()); in getExprBase()
3003 if (!isa<SCEVAddRecExpr>(LastIncExpr)) in ChainInstruction()
3553 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in CollectSubexprs()
3562 if (Remainder && (AR->getLoop() == L || !isa<SCEVAddRecExpr>(Remainder))) { in CollectSubexprs()
3600 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S); in mayUsePostIncMode()
3861 if (auto *GAR = dyn_cast<SCEVAddRecExpr>(G)) { in GenerateConstantOffsetsImpl()
4045 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Base.BaseRegs[i]); in GenerateScales()
4871 if (isa<SCEVAddRecExpr>(BaseReg)) in NarrowSearchSpaceByDeletingCostlyFormulas()
4879 if (isa<SCEVAddRecExpr>(ScaledReg)) in NarrowSearchSpaceByDeletingCostlyFormulas()
5978 } else if (isa<SCEVAddRecExpr>(S)) { in pushSCEV()
6060 bool SCEVToValueExpr(const llvm::SCEVAddRecExpr &SAR, ScalarEvolution &SE) { in SCEVToValueExpr()
6063 if (isa<SCEVAddRecExpr>(SAR.getStart())) in SCEVToValueExpr()
6088 bool SCEVToIterCountExpr(const llvm::SCEVAddRecExpr &SAR, in SCEVToIterCountExpr()
6091 if (isa<SCEVAddRecExpr>(SAR.getStart())) { in SCEVToIterCountExpr()
6134 if (!isa<SCEVAddRecExpr>(CachedDVI.SCEV)) in RewriteDVIUsingIterCount()
6140 const auto *Rec = cast<SCEVAddRecExpr>(CachedDVI.SCEV); in RewriteDVIUsingIterCount()
6168 if (const SCEVAddRecExpr *IVAddRec = in DbgRewriteSalvageableDVIs()
6169 dyn_cast<SCEVAddRecExpr>(SCEVInductionVar)) { in DbgRewriteSalvageableDVIs()
6257 if (const llvm::SCEVAddRecExpr *Rec = dyn_cast<SCEVAddRecExpr>(PhiSCEV)) in GetInductionVariable()