Lines Matching refs:LoopICmp
248 struct LoopICmp { struct
252 LoopICmp(ICmpInst::Predicate Pred, const SCEVAddRecExpr *IV, in LoopICmp() argument
255 LoopICmp() = default;
272 LoopICmp LatchCheck;
275 std::optional<LoopICmp> parseLoopICmp(ICmpInst *ICI);
276 std::optional<LoopICmp> parseLoopLatchICmp();
303 widenICmpRangeCheckIncrementingLoop(LoopICmp LatchCheck, LoopICmp RangeCheck,
307 widenICmpRangeCheckDecrementingLoop(LoopICmp LatchCheck, LoopICmp RangeCheck,
349 std::optional<LoopICmp> LoopPredication::parseLoopICmp(ICmpInst *ICI) { in parseLoopICmp()
372 return LoopICmp(Pred, AR, RHSS); in parseLoopICmp()
414 const LoopICmp LatchCheck, in isSafeToTruncateWideIVType()
447 static std::optional<LoopICmp> generateLoopLatchCheck(const DataLayout &DL, in generateLoopLatchCheck()
449 const LoopICmp LatchCheck, in generateLoopLatchCheck()
463 LoopICmp NewLatchCheck; in generateLoopLatchCheck()
541 LoopICmp LatchCheck, LoopICmp RangeCheck, SCEVExpander &Expander, in widenICmpRangeCheckIncrementingLoop()
591 LoopICmp LatchCheck, LoopICmp RangeCheck, SCEVExpander &Expander, in widenICmpRangeCheckDecrementingLoop()
640 LoopICmp& RC) { in normalizePredicate()
696 LoopICmp CurrLatchCheck = *CurrLatchCheckOpt; in widenICmpRangeCheck()
808 std::optional<LoopICmp> LoopPredication::parseLoopLatchICmp() { in parseLoopLatchICmp()