Lines Matching defs:BI
31 BranchInst *BI = nullptr;
160 const BranchInst *BI) {
164 if (!match(BI, m_Br(m_ICmp(m_Value(LHS), m_Value(RHS)),
218 Cond.BI = ExitingBI;
222 static bool isProfitableToTransform(const Loop &L, const BranchInst *BI) {
229 BasicBlock *Succ0 = BI->getSuccessor(0);
230 BasicBlock *Succ1 = BI->getSuccessor(1);
250 auto *BI = dyn_cast<BranchInst>(BB->getTerminator());
251 if (!BI)
255 if (!isProcessableCondBI(SE, BI))
259 if (L.isLoopInvariant(BI->getCondition()))
263 ICmpInst *ICmp = cast<ICmpInst>(BI->getCondition());
280 SplitCandidateCond.BI = BI;
281 return BI;
299 if (!isProfitableToTransform(L, SplitCandidateCond.BI))
416 // Replace SplitCandidateCond.BI's condition of pre-loop by True.
418 SplitCandidateCond.BI->setCondition(ConstantInt::getTrue(Context));
420 // Replace cloned SplitCandidateCond.BI's condition in post-loop by False.
422 cast<BranchInst>(VMap[SplitCandidateCond.BI]);
426 if (L.getExitBlock() == ExitingCond.BI->getSuccessor(0))
427 ExitingCond.BI->setSuccessor(0, PostLoopPreHeader);
429 ExitingCond.BI->setSuccessor(1, PostLoopPreHeader);