Lines Matching refs:Guard

286   Value *expandCheck(SCEVExpander &Expander, Instruction *Guard,
291 Instruction *Guard);
295 Instruction *Guard);
299 Instruction *Guard);
301 SCEVExpander &Expander, Instruction *Guard);
303 bool widenWidenableBranchGuardConditions(BranchInst *Guard, SCEVExpander &Expander);
407 Instruction *Guard, in expandCheck() argument
414 IRBuilder<> Builder(Guard); in expandCheck()
423 Expander.expandCodeFor(LHS, Ty, findInsertPt(Expander, Guard, {LHS})); in expandCheck()
425 Expander.expandCodeFor(RHS, Ty, findInsertPt(Expander, Guard, {RHS})); in expandCheck()
426 IRBuilder<> Builder(findInsertPt(Guard, {LHSV, RHSV})); in expandCheck()
573 SCEVExpander &Expander, Instruction *Guard) { in widenICmpRangeCheckIncrementingLoop() argument
595 if (!Expander.isSafeToExpandAt(LatchStart, Guard) || in widenICmpRangeCheckIncrementingLoop()
596 !Expander.isSafeToExpandAt(LatchLimit, Guard)) { in widenICmpRangeCheckIncrementingLoop()
613 expandCheck(Expander, Guard, LimitCheckPred, LatchLimit, RHS); in widenICmpRangeCheckIncrementingLoop()
614 auto *FirstIterationCheck = expandCheck(Expander, Guard, RangeCheck.Pred, in widenICmpRangeCheckIncrementingLoop()
616 IRBuilder<> Builder(findInsertPt(Guard, {FirstIterationCheck, LimitCheck})); in widenICmpRangeCheckIncrementingLoop()
622 SCEVExpander &Expander, Instruction *Guard) { in widenICmpRangeCheckDecrementingLoop() argument
638 if (!Expander.isSafeToExpandAt(LatchStart, Guard) || in widenICmpRangeCheckDecrementingLoop()
639 !Expander.isSafeToExpandAt(LatchLimit, Guard)) { in widenICmpRangeCheckDecrementingLoop()
659 auto *FirstIterationCheck = expandCheck(Expander, Guard, in widenICmpRangeCheckDecrementingLoop()
662 auto *LimitCheck = expandCheck(Expander, Guard, LimitCheckPred, LatchLimit, in widenICmpRangeCheckDecrementingLoop()
664 IRBuilder<> Builder(findInsertPt(Guard, {FirstIterationCheck, LimitCheck})); in widenICmpRangeCheckDecrementingLoop()
685 Instruction *Guard) { in widenICmpRangeCheck() argument
739 Expander, Guard); in widenICmpRangeCheck()
743 Expander, Guard); in widenICmpRangeCheck()
750 Instruction *Guard) { in collectChecks() argument
782 Guard)) { in collectChecks()
801 bool LoopPredication::widenGuardConditions(IntrinsicInst *Guard, in widenGuardConditions() argument
804 LLVM_DEBUG(Guard->dump()); in widenGuardConditions()
808 unsigned NumWidened = collectChecks(Checks, Guard->getOperand(0), Expander, in widenGuardConditions()
809 Guard); in widenGuardConditions()
816 IRBuilder<> Builder(findInsertPt(Guard, Checks)); in widenGuardConditions()
818 auto *OldCond = Guard->getOperand(0); in widenGuardConditions()
819 Guard->setOperand(0, AllChecks); in widenGuardConditions()
1307 for (auto *Guard : Guards) in runOnLoop() local
1308 Changed |= widenGuardConditions(Guard, Expander); in runOnLoop()
1309 for (auto *Guard : GuardsAsWidenableBranches) in runOnLoop() local
1310 Changed |= widenWidenableBranchGuardConditions(Guard, Expander); in runOnLoop()