Lines Matching refs:BI

361       auto *BI = dyn_cast<BranchInst>(BB.getTerminator());  in runImpl()  local
362 if (BI && BI->isUnconditional()) { in runImpl()
363 BasicBlock *Succ = BI->getSuccessor(0); in runImpl()
977 if (BranchInst *BI = dyn_cast<BranchInst>(Terminator)) { in processBlock() local
979 if (BI->isUnconditional()) return false; in processBlock()
980 Condition = BI->getCondition(); in processBlock()
1147 auto *BI = dyn_cast<BranchInst>(BB->getTerminator()); in processImpliedCondition() local
1148 if (!BI || !BI->isConditional()) in processImpliedCondition()
1151 Value *Cond = BI->getCondition(); in processImpliedCondition()
1189 BasicBlock *KeepSucc = BI->getSuccessor(*Implication ? 0 : 1); in processImpliedCondition()
1190 BasicBlock *RemoveSucc = BI->getSuccessor(*Implication ? 1 : 0); in processImpliedCondition()
1192 BranchInst *UncondBI = BranchInst::Create(KeepSucc, BI->getIterator()); in processImpliedCondition()
1193 UncondBI->setDebugLoc(BI->getDebugLoc()); in processImpliedCondition()
1195 BI->eraseFromParent(); in processImpliedCondition()
1589 else if (BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator())) { in processThreadableEdges() local
1591 DestBB = BI->getSuccessor(cast<ConstantInt>(Val)->isZero()); in processThreadableEdges()
2004 BasicBlock::iterator BI, in cloneInstructions() argument
2054 BasicBlock *RangeBB = BI->getParent(); in cloneInstructions()
2059 for (; PHINode *PN = dyn_cast<PHINode>(BI); ++BI) { in cloneInstructions()
2071 identifyNoAliasScopesToClone(BI, BE, NoAliasScopes); in cloneInstructions()
2083 for (; BI != BE; ++BI) { in cloneInstructions()
2084 Instruction *New = BI->clone(); in cloneInstructions()
2085 New->setName(BI->getName()); in cloneInstructions()
2087 ValueMapping[&*BI] = New; in cloneInstructions()
2090 CloneAndRemapDbgInfo(New, &*BI); in cloneInstructions()
2675 BasicBlock::iterator BI = BB->begin(); in duplicateCondBranchOnPHIIntoPred() local
2676 for (; PHINode *PN = dyn_cast<PHINode>(BI); ++BI) in duplicateCondBranchOnPHIIntoPred()
2680 for (; BI != BB->end(); ++BI) { in duplicateCondBranchOnPHIIntoPred()
2681 Instruction *New = BI->clone(); in duplicateCondBranchOnPHIIntoPred()
2701 ValueMapping[&*BI] = IV; in duplicateCondBranchOnPHIIntoPred()
2707 OldPredBranch->cloneDebugInfoFrom(&*BI, std::nullopt, true); in duplicateCondBranchOnPHIIntoPred()
2710 ValueMapping[&*BI] = New; in duplicateCondBranchOnPHIIntoPred()
2714 New->setName(BI->getName()); in duplicateCondBranchOnPHIIntoPred()
2716 New->cloneDebugInfoFrom(&*BI); in duplicateCondBranchOnPHIIntoPred()
2772 auto *BI = BranchInst::Create(NewBB, BB, SI->getCondition(), Pred); in unfoldSelectInstr() local
2773 BI->applyMergedLocation(PredTerm->getDebugLoc(), SI->getDebugLoc()); in unfoldSelectInstr()
2774 BI->copyMetadata(*SI, {LLVMContext::MD_prof}); in unfoldSelectInstr()
2810 for (BasicBlock::iterator BI = BB->begin(); in unfoldSelectInstr() local
2811 PHINode *Phi = dyn_cast<PHINode>(BI); ++BI) in unfoldSelectInstr()
2924 for (BasicBlock::iterator BI = BB->begin(); in tryToUnfoldSelectInCurrBB() local
2925 PHINode *PN = dyn_cast<PHINode>(BI); ++BI) { in tryToUnfoldSelectInCurrBB()
3039 if (auto *BI = dyn_cast<BranchInst>(Parent->getTerminator())) in processGuards() local
3041 if (isGuard(&I) && threadGuard(BB, cast<IntrinsicInst>(&I), BI)) in processGuards()
3051 BranchInst *BI) { in threadGuard() argument
3052 assert(BI->getNumSuccessors() == 2 && "Wrong number of successors?"); in threadGuard()
3053 assert(BI->isConditional() && "Unconditional branch has 2 successors?"); in threadGuard()
3055 Value *BranchCond = BI->getCondition(); in threadGuard()
3056 BasicBlock *TrueDest = BI->getSuccessor(0); in threadGuard()
3057 BasicBlock *FalseDest = BI->getSuccessor(1); in threadGuard()
3103 for (auto BI = BB->begin(); &*BI != AfterGuard; ++BI) in threadGuard() local
3104 if (!isa<PHINode>(&*BI)) in threadGuard()
3105 ToRemove.push_back(&*BI); in threadGuard()