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

References

lib/Transforms/Scalar/LoopPredication.cpp
  244     dbgs() << "LoopICmp Pred = " << Pred << ", IV = " << *IV
  431   assert(DL.getTypeSizeInBits(LatchCheck.IV->getType()) >
  438   auto *Start = dyn_cast<SCEVConstant>(LatchCheck.IV->getStart());
  447   if (!SE.isMonotonicPredicate(LatchCheck.IV, LatchCheck.Pred, Increasing))
  465   auto *LatchType = LatchCheck.IV->getType();
  477   NewLatchCheck.IV = dyn_cast<SCEVAddRecExpr>(
  478       SE.getTruncateExpr(LatchCheck.IV, RangeCheckType));
  479   if (!NewLatchCheck.IV)
  485   LLVM_DEBUG(dbgs() << "LatchCheck.IV: " << *NewLatchCheck.IV << "\n");
  554   auto *Ty = RangeCheck.IV->getType();
  561   const SCEV *GuardStart = RangeCheck.IV->getStart();
  563   const SCEV *LatchStart = LatchCheck.IV->getStart();
  603   auto *Ty = RangeCheck.IV->getType();
  604   const SCEV *GuardStart = RangeCheck.IV->getStart();
  606   const SCEV *LatchStart = LatchCheck.IV->getStart();
  625   auto *PostDecLatchCheckIV = LatchCheck.IV->getPostIncExpr(*SE);
  626   if (RangeCheck.IV != PostDecLatchCheckIV) {
  629                       << "  and RangeCheckIV: " << *RangeCheck.IV << "\n");
  653       RC.IV->getStepRecurrence(*SE)->isOne() &&
  654       SE->isKnownPredicate(ICmpInst::ICMP_ULE, RC.IV->getStart(), RC.Limit))
  685   auto *RangeCheckIV = RangeCheck->IV;
  710              CurrLatchCheck.IV->getStepRecurrence(*SE)->getType() &&
  712   if (Step != CurrLatchCheck.IV->getStepRecurrence(*SE)) {
  869   if (!Result->IV->isAffine()) {
  874   auto *Step = Result->IV->getStepRecurrence(*SE);