reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/Scalar/LoopRerollPass.cpp
  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");