Lines Matching refs:IV

241   const SCEVAddRecExpr *IV;  member
243 LoopICmp(ICmpInst::Predicate Pred, const SCEVAddRecExpr *IV, in LoopICmp()
245 : Pred(Pred), IV(IV), Limit(Limit) {} in LoopICmp()
248 dbgs() << "LoopICmp Pred = " << Pred << ", IV = " << *IV in dump()
449 assert(DL.getTypeSizeInBits(LatchCheck.IV->getType()).getFixedSize() > in isSafeToTruncateWideIVType()
456 auto *Start = dyn_cast<SCEVConstant>(LatchCheck.IV->getStart()); in isSafeToTruncateWideIVType()
464 if (!SE.getMonotonicPredicateType(LatchCheck.IV, LatchCheck.Pred)) in isSafeToTruncateWideIVType()
483 auto *LatchType = LatchCheck.IV->getType(); in generateLoopLatchCheck()
496 NewLatchCheck.IV = dyn_cast<SCEVAddRecExpr>( in generateLoopLatchCheck()
497 SE.getTruncateExpr(LatchCheck.IV, RangeCheckType)); in generateLoopLatchCheck()
498 if (!NewLatchCheck.IV) in generateLoopLatchCheck()
504 LLVM_DEBUG(dbgs() << "LatchCheck.IV: " << *NewLatchCheck.IV << "\n"); in generateLoopLatchCheck()
574 auto *Ty = RangeCheck.IV->getType(); in widenICmpRangeCheckIncrementingLoop()
581 const SCEV *GuardStart = RangeCheck.IV->getStart(); in widenICmpRangeCheckIncrementingLoop()
583 const SCEV *LatchStart = LatchCheck.IV->getStart(); in widenICmpRangeCheckIncrementingLoop()
623 auto *Ty = RangeCheck.IV->getType(); in widenICmpRangeCheckDecrementingLoop()
624 const SCEV *GuardStart = RangeCheck.IV->getStart(); in widenICmpRangeCheckDecrementingLoop()
626 const SCEV *LatchStart = LatchCheck.IV->getStart(); in widenICmpRangeCheckDecrementingLoop()
645 auto *PostDecLatchCheckIV = LatchCheck.IV->getPostIncExpr(*SE); in widenICmpRangeCheckDecrementingLoop()
646 if (RangeCheck.IV != PostDecLatchCheckIV) { in widenICmpRangeCheckDecrementingLoop()
649 << " and RangeCheckIV: " << *RangeCheck.IV << "\n"); in widenICmpRangeCheckDecrementingLoop()
673 RC.IV->getStepRecurrence(*SE)->isOne() && in normalizePredicate()
674 SE->isKnownPredicate(ICmpInst::ICMP_ULE, RC.IV->getStart(), RC.Limit)) in normalizePredicate()
705 auto *RangeCheckIV = RangeCheck->IV; in widenICmpRangeCheck()
730 CurrLatchCheck.IV->getStepRecurrence(*SE)->getType() && in widenICmpRangeCheck()
732 if (Step != CurrLatchCheck.IV->getStepRecurrence(*SE)) { in widenICmpRangeCheck()
889 if (!Result->IV->isAffine()) { in parseLoopLatchICmp()
894 auto *Step = Result->IV->getStepRecurrence(*SE); in parseLoopLatchICmp()