Lines Matching defs:LoopICmp
247 struct LoopICmp {
251 LoopICmp(ICmpInst::Predicate Pred, const SCEVAddRecExpr *IV,
254 LoopICmp() = default;
256 dbgs() << "LoopICmp Pred = " << Pred << ", IV = " << *IV
271 LoopICmp LatchCheck;
274 std::optional<LoopICmp> parseLoopICmp(ICmpInst *ICI);
275 std::optional<LoopICmp> parseLoopLatchICmp();
302 widenICmpRangeCheckIncrementingLoop(LoopICmp LatchCheck, LoopICmp RangeCheck,
306 widenICmpRangeCheckDecrementingLoop(LoopICmp LatchCheck, LoopICmp RangeCheck,
348 std::optional<LoopICmp> LoopPredication::parseLoopICmp(ICmpInst *ICI) {
371 return LoopICmp(Pred, AR, RHSS);
413 const LoopICmp LatchCheck,
444 // Return an LoopICmp describing a latch check equivlent to LatchCheck but with
446 static std::optional<LoopICmp> generateLoopLatchCheck(const DataLayout &DL,
448 const LoopICmp LatchCheck,
462 LoopICmp NewLatchCheck;
540 LoopICmp LatchCheck, LoopICmp RangeCheck, SCEVExpander &Expander,
590 LoopICmp LatchCheck, LoopICmp RangeCheck, SCEVExpander &Expander,
639 LoopICmp& RC) {
695 LoopICmp CurrLatchCheck = *CurrLatchCheckOpt;
807 std::optional<LoopICmp> LoopPredication::parseLoopLatchICmp() {