Lines Matching refs:BI
31 BranchInst *BI = nullptr; member
160 const BranchInst *BI) { in isProcessableCondBI() argument
165 if (!match(BI, m_Br(m_ICmp(Pred, m_Value(LHS), m_Value(RHS)), in isProcessableCondBI()
219 Cond.BI = ExitingBI; in canSplitLoopBound()
223 static bool isProfitableToTransform(const Loop &L, const BranchInst *BI) { in isProfitableToTransform() argument
230 BasicBlock *Succ0 = BI->getSuccessor(0); in isProfitableToTransform()
231 BasicBlock *Succ1 = BI->getSuccessor(1); in isProfitableToTransform()
251 auto *BI = dyn_cast<BranchInst>(BB->getTerminator()); in findSplitCandidate() local
252 if (!BI) in findSplitCandidate()
256 if (!isProcessableCondBI(SE, BI)) in findSplitCandidate()
260 if (L.isLoopInvariant(BI->getCondition())) in findSplitCandidate()
264 ICmpInst *ICmp = cast<ICmpInst>(BI->getCondition()); in findSplitCandidate()
281 SplitCandidateCond.BI = BI; in findSplitCandidate()
282 return BI; in findSplitCandidate()
300 if (!isProfitableToTransform(L, SplitCandidateCond.BI)) in splitLoopBound()
419 SplitCandidateCond.BI->setCondition(ConstantInt::getTrue(Context)); in splitLoopBound()
423 cast<BranchInst>(VMap[SplitCandidateCond.BI]); in splitLoopBound()
427 if (L.getExitBlock() == ExitingCond.BI->getSuccessor(0)) in splitLoopBound()
428 ExitingCond.BI->setSuccessor(0, PostLoopPreHeader); in splitLoopBound()
430 ExitingCond.BI->setSuccessor(1, PostLoopPreHeader); in splitLoopBound()