Lines Matching refs:BI
470 if (auto *BI = dyn_cast<BranchInst>(TermInst)) { in rewriteFirstIterationLoopExitValues() local
473 Cond = BI->getCondition(); in rewriteFirstIterationLoopExitValues()
704 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in isLoopExitTestBasedOn() local
705 ICmpInst *ICmp = dyn_cast<ICmpInst>(BI->getCondition()); in isLoopExitTestBasedOn()
723 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in needsLFTR() local
724 if (L->isLoopInvariant(BI->getCondition())) in needsLFTR()
728 ICmpInst *Cond = dyn_cast<ICmpInst>(BI->getCondition()); in needsLFTR()
1007 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in genLoopLimit() local
1008 return Rewriter.expandCodeFor(IVLimit, IndVar->getType(), BI); in genLoopLimit()
1050 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in genLoopLimit() local
1051 return Rewriter.expandCodeFor(IVLimit, LimitTy, BI); in genLoopLimit()
1118 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in linearFunctionTestReplace() local
1120 if (L->contains(BI->getSuccessor(0))) in linearFunctionTestReplace()
1125 IRBuilder<> Builder(BI); in linearFunctionTestReplace()
1129 if (auto *Cond = dyn_cast<Instruction>(BI->getCondition())) in linearFunctionTestReplace()
1182 << " was: " << *BI->getCondition() << "\n"); in linearFunctionTestReplace()
1185 Value *OrigCond = BI->getCondition(); in linearFunctionTestReplace()
1191 BI->setCondition(Cond); in linearFunctionTestReplace()
1291 static void replaceExitCond(BranchInst *BI, Value *NewCond, in replaceExitCond() argument
1293 auto *OldCond = BI->getCondition(); in replaceExitCond()
1294 BI->setCondition(NewCond); in replaceExitCond()
1301 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in foldExit() local
1303 auto *OldCond = BI->getCondition(); in foldExit()
1306 replaceExitCond(BI, NewCond, DeadInsts); in foldExit()
1349 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in replaceWithInvariantCond() local
1350 Rewriter.setInsertPoint(BI); in replaceWithInvariantCond()
1356 IRBuilder<> Builder(BI); in replaceWithInvariantCond()
1358 BI->getCondition()->getName()); in replaceWithInvariantCond()
1359 replaceExitCond(BI, NewCond, DeadInsts); in replaceWithInvariantCond()
1363 const Loop *L, BranchInst *BI, BasicBlock *ExitingBB, in optimizeLoopExitWithUnknownExitCount() argument
1370 if (!match(BI, m_Br(m_ICmp(Pred, m_Value(LHS), m_Value(RHS)), in optimizeLoopExitWithUnknownExitCount()
1388 if (SE->isKnownPredicateAt(Pred, LHSS, RHSS, BI)) { in optimizeLoopExitWithUnknownExitCount()
1404 if (SE->isKnownPredicateAt(ICmpInst::ICMP_ULE, MaxIter, MaxAllowedIter, BI)) in optimizeLoopExitWithUnknownExitCount()
1415 L, BI, MaxIter); in optimizeLoopExitWithUnknownExitCount()
1420 if (SE->isKnownPredicateAt(LIP->Pred, LIP->LHS, LIP->RHS, BI)) in optimizeLoopExitWithUnknownExitCount()
1443 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in canonicalizeExitCondition() local
1444 if (!BI) in canonicalizeExitCondition()
1446 assert(BI->isConditional() && "exit branch must be conditional"); in canonicalizeExitCondition()
1448 auto *ICmp = dyn_cast<ICmpInst>(BI->getCondition()); in canonicalizeExitCondition()
1489 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in canonicalizeExitCondition() local
1490 if (!BI) in canonicalizeExitCondition()
1492 assert(BI->isConditional() && "exit branch must be conditional"); in canonicalizeExitCondition()
1494 auto *ICmp = dyn_cast<ICmpInst>(BI->getCondition()); in canonicalizeExitCondition()
1577 BranchInst *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in optimizeLoopExits() local
1578 if (!BI) in optimizeLoopExits()
1585 if (auto *CI = dyn_cast<ConstantInt>(BI->getCondition())) { in optimizeLoopExits()
1589 if (!L->contains(BI->getSuccessor(CI->isNullValue()))) in optimizeLoopExits()
1634 auto *BI = cast<BranchInst>(ExitingBB->getTerminator()); in optimizeLoopExits() local
1637 L, BI, ExitingBB, MaxExitCount, Inverted, SkipLastIter, SE, in optimizeLoopExits()
1755 BranchInst *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits() local
1756 if (!BI) in predicateLoopExits()
1760 if (isa<Constant>(BI->getCondition())) in predicateLoopExits()
1767 BI->getSuccessor(L->contains(BI->getSuccessor(0)) ? 1 : 0); in predicateLoopExits()
1855 auto *BI = cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits() local
1858 NewCond = L->contains(BI->getSuccessor(0)) ? in predicateLoopExits()
1870 auto Pred = L->contains(BI->getSuccessor(0)) ? in predicateLoopExits()
1874 Value *OldCond = BI->getCondition(); in predicateLoopExits()
1875 BI->setCondition(NewCond); in predicateLoopExits()