Lines Matching full:expander

287   Instruction *findInsertPt(const SCEVExpander &Expander, Instruction *User,
295 Value *expandCheck(SCEVExpander &Expander, Instruction *Guard,
300 SCEVExpander &Expander,
304 SCEVExpander &Expander,
308 SCEVExpander &Expander,
312 SCEVExpander &Expander, Instruction *Guard);
313 bool widenGuardConditions(IntrinsicInst *II, SCEVExpander &Expander);
314 bool widenWidenableBranchGuardConditions(BranchInst *Guard, SCEVExpander &Expander);
375 Value *LoopPredication::expandCheck(SCEVExpander &Expander, in expandCheck() argument
392 Expander.expandCodeFor(LHS, Ty, findInsertPt(Expander, Guard, {LHS})); in expandCheck()
394 Expander.expandCodeFor(RHS, Ty, findInsertPt(Expander, Guard, {RHS})); in expandCheck()
490 Instruction *LoopPredication::findInsertPt(const SCEVExpander &Expander, in findInsertPt() argument
498 !Expander.isSafeToExpandAt(Op, Preheader->getTerminator())) in findInsertPt()
541 LoopICmp LatchCheck, LoopICmp RangeCheck, SCEVExpander &Expander, in widenICmpRangeCheckIncrementingLoop() argument
564 if (!Expander.isSafeToExpandAt(LatchStart, Guard) || in widenICmpRangeCheckIncrementingLoop()
565 !Expander.isSafeToExpandAt(LatchLimit, Guard)) { in widenICmpRangeCheckIncrementingLoop()
582 expandCheck(Expander, Guard, LimitCheckPred, LatchLimit, RHS); in widenICmpRangeCheckIncrementingLoop()
583 auto *FirstIterationCheck = expandCheck(Expander, Guard, RangeCheck.Pred, in widenICmpRangeCheckIncrementingLoop()
591 LoopICmp LatchCheck, LoopICmp RangeCheck, SCEVExpander &Expander, in widenICmpRangeCheckDecrementingLoop() argument
608 if (!Expander.isSafeToExpandAt(LatchStart, Guard) || in widenICmpRangeCheckDecrementingLoop()
609 !Expander.isSafeToExpandAt(LatchLimit, Guard)) { in widenICmpRangeCheckDecrementingLoop()
629 auto *FirstIterationCheck = expandCheck(Expander, Guard, in widenICmpRangeCheckDecrementingLoop()
632 auto *LimitCheck = expandCheck(Expander, Guard, LimitCheckPred, LatchLimit, in widenICmpRangeCheckDecrementingLoop()
654 LoopPredication::widenICmpRangeCheck(ICmpInst *ICI, SCEVExpander &Expander, in widenICmpRangeCheck() argument
709 Expander, Guard); in widenICmpRangeCheck()
713 Expander, Guard); in widenICmpRangeCheck()
719 SCEVExpander &Expander, Instruction *Guard) { in widenChecks() argument
722 if (auto NewRangeCheck = widenICmpRangeCheck(ICI, Expander, Guard)) { in widenChecks()
729 SCEVExpander &Expander) { in widenGuardConditions() argument
737 widenChecks(Checks, WidenedChecks, Expander, Guard); in widenGuardConditions()
759 BranchInst *BI, SCEVExpander &Expander) { in widenWidenableBranchGuardConditions() argument
772 widenChecks(Checks, WidenedChecks, Expander, BI); in widenWidenableBranchGuardConditions()
1237 SCEVExpander Expander(*SE, *DL, "loop-predication"); in runOnLoop() local
1240 Changed |= widenGuardConditions(Guard, Expander); in runOnLoop()
1242 Changed |= widenWidenableBranchGuardConditions(Guard, Expander); in runOnLoop()
1243 Changed |= predicateLoopExits(L, Expander); in runOnLoop()