reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
891 const auto *ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst)); 897 const SCEV *StepSCEV = SE->getMinusSCEV(SE->getSCEV(DRS.Roots[0]), ADR); 897 const SCEV *StepSCEV = SE->getMinusSCEV(SE->getSCEV(DRS.Roots[0]), ADR); 898 const SCEV *ScaleSCEV = SE->getConstant(StepSCEV->getType(), N); 899 if (ADR->getStepRecurrence(*SE) != SE->getMulExpr(StepSCEV, ScaleSCEV)) 899 if (ADR->getStepRecurrence(*SE) != SE->getMulExpr(StepSCEV, ScaleSCEV)) 904 const SCEV *NewStepSCEV = SE->getMinusSCEV(SE->getSCEV(DRS.Roots[i]), 904 const SCEV *NewStepSCEV = SE->getMinusSCEV(SE->getSCEV(DRS.Roots[i]), 905 SE->getSCEV(DRS.Roots[i-1])); 916 const auto *IVU_ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(IVU)); 1429 cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst)); 1431 IncrExprs.push_back(SE->getMinusSCEV(SE->getSCEV(DRS.Roots[0]), IVSCEV)); 1431 IncrExprs.push_back(SE->getMinusSCEV(SE->getSCEV(DRS.Roots[0]), IVSCEV)); 1455 SCEVExpander Expander(*SE, DL, "reroll"); 1456 auto Zero = SE->getZero(BackedgeTakenCount->getType()); 1457 auto One = SE->getOne(BackedgeTakenCount->getType()); 1458 auto NewIVSCEV = SE->getAddRecExpr(Zero, One, L, SCEV::FlagAnyWrap); 1463 auto TripCount = SE->getAddExpr(BackedgeTakenCount, One); 1464 auto ScaledTripCount = SE->getMulExpr( 1465 TripCount, SE->getConstant(BackedgeTakenCount->getType(), Scale)); 1466 auto ScaledBECount = SE->getMinusSCEV(ScaledTripCount, One); 1489 SE->getAddRecExpr(Start, IncrExpr, L, SCEV::FlagAnyWrap); 1493 SCEVExpander Expander(*SE, DL, "reroll");