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,
392 Expander.expandCodeFor(LHS, Ty, findInsertPt(Expander, Guard, {LHS}));
394 Expander.expandCodeFor(RHS, Ty, findInsertPt(Expander, Guard, {RHS}));
490 Instruction *LoopPredication::findInsertPt(const SCEVExpander &Expander,
498 !Expander.isSafeToExpandAt(Op, Preheader->getTerminator()))
541 LoopICmp LatchCheck, LoopICmp RangeCheck, SCEVExpander &Expander,
564 if (!Expander.isSafeToExpandAt(LatchStart, Guard) ||
565 !Expander.isSafeToExpandAt(LatchLimit, Guard)) {
582 expandCheck(Expander, Guard, LimitCheckPred, LatchLimit, RHS);
583 auto *FirstIterationCheck = expandCheck(Expander, Guard, RangeCheck.Pred,
591 LoopICmp LatchCheck, LoopICmp RangeCheck, SCEVExpander &Expander,
608 if (!Expander.isSafeToExpandAt(LatchStart, Guard) ||
609 !Expander.isSafeToExpandAt(LatchLimit, Guard)) {
629 auto *FirstIterationCheck = expandCheck(Expander, Guard,
632 auto *LimitCheck = expandCheck(Expander, Guard, LimitCheckPred, LatchLimit,
654 LoopPredication::widenICmpRangeCheck(ICmpInst *ICI, SCEVExpander &Expander,
709 Expander, Guard);
713 Expander, Guard);
719 SCEVExpander &Expander, Instruction *Guard) {
722 if (auto NewRangeCheck = widenICmpRangeCheck(ICI, Expander, Guard)) {
729 SCEVExpander &Expander) {
737 widenChecks(Checks, WidenedChecks, Expander, Guard);
759 BranchInst *BI, SCEVExpander &Expander) {
772 widenChecks(Checks, WidenedChecks, Expander, BI);
1237 SCEVExpander Expander(*SE, *DL, "loop-predication");
1240 Changed |= widenGuardConditions(Guard, Expander);
1242 Changed |= widenWidenableBranchGuardConditions(Guard, Expander);
1243 Changed |= predicateLoopExits(L, Expander);