Lines Matching refs:BranchInst
267 bool simplifyBranch(BranchInst *Branch, IRBuilder<> &Builder);
268 bool simplifyUncondBranch(BranchInst *BI, IRBuilder<> &Builder);
269 bool simplifyCondBranch(BranchInst *BI, IRBuilder<> &Builder);
278 bool SpeculativelyExecuteBB(BranchInst *BI, BasicBlock *ThenBB);
282 bool SimplifyBranchOnICmpChain(BranchInst *BI, IRBuilder<> &Builder,
441 BranchInst *BI = dyn_cast<BranchInst>(PBB->getTerminator()); in dominatesMergePoint()
761 } else if (BranchInst *BI = dyn_cast<BranchInst>(TI)) { in EraseTerminatorAndDCECond()
782 } else if (BranchInst *BI = dyn_cast<BranchInst>(TI)) in isValueEqualityComparison()
812 BranchInst *BI = cast<BranchInst>(TI); in GetValueEqualityComparisonCases()
879 assert(isa<BranchInst>(I) || isa<SelectInst>(I)); in setBranchWeights()
928 if (isa<BranchInst>(TI)) { in SimplifyEqualityComparisonWithOnlyPredecessor()
1077 if (BranchInst *BI = dyn_cast<BranchInst>(TI)) { in GetBranchWeights()
1359 BranchInst::Create(InfLoopBlock, InfLoopBlock); in PerformValueComparisonIntoPredecessorFolding()
1782 auto *BI = dyn_cast<BranchInst>(TI); in hoistSuccIdenticalTerminatorToSwitchOrIf()
2282 auto *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in SinkCommonCodeFromPredecessors()
2734 BranchInst::Create(MergedInvoke->getParent(), II->getParent()); in MergeCompatibleInvokesImpl()
3000 bool SimplifyCFGOpt::SpeculativelyExecuteBB(BranchInst *BI, in SpeculativelyExecuteBB()
3292 auto *BI = dyn_cast<BranchInst>(From->getTerminator()); in getKnownValueOnEdge()
3305 FoldCondBranchOnValueKnownInPredecessorImpl(BranchInst *BI, DomTreeUpdater *DTU, in FoldCondBranchOnValueKnownInPredecessorImpl()
3438 BranchInst *EdgeBI = cast<BranchInst>(EdgeBB->getTerminator()); in FoldCondBranchOnValueKnownInPredecessorImpl()
3462 static bool FoldCondBranchOnValueKnownInPredecessor(BranchInst *BI, in FoldCondBranchOnValueKnownInPredecessor()
3490 BranchInst *DomBI = GetIfCondition(BB, IfTrue, IfFalse); in FoldTwoEntryPHINode()
3502 return cast<BranchInst>(IfBlock->getTerminator())->isUnconditional(); in FoldTwoEntryPHINode()
3692 static bool extractPredSuccWeights(BranchInst *PBI, BranchInst *BI, in extractPredSuccWeights()
3716 shouldFoldCondBranchesToCommonDestination(BranchInst *BI, BranchInst *PBI, in shouldFoldCondBranchesToCommonDestination()
3755 static bool performBranchToCommonDestFolding(BranchInst *BI, BranchInst *PBI, in performBranchToCommonDestFolding()
3878 bool llvm::FoldBranchToCommonDest(BranchInst *BI, DomTreeUpdater *DTU, in FoldBranchToCommonDest()
3907 BranchInst *PBI = dyn_cast<BranchInst>(PredBlock->getTerminator()); in FoldBranchToCommonDest()
3960 if (isa<DbgInfoIntrinsic>(I) || isa<BranchInst>(I)) in FoldBranchToCommonDest()
3997 auto *PBI = cast<BranchInst>(PredBlock->getTerminator()); in FoldBranchToCommonDest()
4177 Value *PCond = cast<BranchInst>(PFB->getSinglePredecessor()->getTerminator()) in mergeConditionalStoreToAddress()
4179 Value *QCond = cast<BranchInst>(QFB->getSinglePredecessor()->getTerminator()) in mergeConditionalStoreToAddress()
4220 static bool mergeConditionalStores(BranchInst *PBI, BranchInst *QBI, in mergeConditionalStores()
4332 static bool tryWidenCondBranchToCondBranch(BranchInst *PBI, BranchInst *BI, in tryWidenCondBranchToCondBranch()
4389 static bool SimplifyCondBranchToCondBranch(BranchInst *PBI, BranchInst *BI, in SimplifyCondBranchToCondBranch()
4504 BranchInst::Create(InfLoopBlock, InfLoopBlock); in SimplifyCondBranchToCondBranch()
4659 BranchInst *NewBI = Builder.CreateCondBr(Cond, TrueBB, FalseBB); in SimplifyTerminatorOnSelect()
4878 bool SimplifyCFGOpt::SimplifyBranchOnICmpChain(BranchInst *BI, in SimplifyBranchOnICmpChain()
5276 BranchInst::Create(UnwindDest, RI->getParent()); in mergeCleanupPad()
5350 if (auto *BI = dyn_cast<BranchInst>(TI)) { in simplifyUnreachable()
5591 BranchInst *NewBI = Builder.CreateCondBr(Cmp, ContiguousDest, OtherDest); in TurnSwitchRangeIntoICmp()
5757 BranchInst *Branch = dyn_cast<BranchInst>(BB->getTerminator()); in FindPHIForConditionForwarding()
6579 User *PhiUser, BasicBlock *PhiBlock, BranchInst *RangeCheckBranch, in reuseTableCompare()
6804 BranchInst *RangeCheckBranch = nullptr; in SwitchToLookupTable()
7206 BranchInst::Create(IBI->getDestination(0), IBI->getIterator()); in simplifyIndirectBr()
7239 static bool TryToMergeLandingPad(LandingPadInst *LPad, BranchInst *BI, in TryToMergeLandingPad()
7257 BranchInst *BI2 = dyn_cast<BranchInst>(I); in TryToMergeLandingPad()
7300 bool SimplifyCFGOpt::simplifyBranch(BranchInst *Branch, IRBuilder<> &Builder) { in simplifyBranch()
7305 bool SimplifyCFGOpt::simplifyUncondBranch(BranchInst *BI, in simplifyUncondBranch()
7388 static bool mergeNestedCondBranch(BranchInst *BI, DomTreeUpdater *DTU) { in mergeNestedCondBranch()
7392 auto IsSimpleSuccessor = [BB](BasicBlock *Succ, BranchInst *&SuccBI) { in mergeNestedCondBranch()
7397 SuccBI = dyn_cast<BranchInst>(Succ->getTerminator()); in mergeNestedCondBranch()
7405 BranchInst *BB1BI, *BB2BI; in mergeNestedCondBranch()
7457 bool SimplifyCFGOpt::simplifyCondBranch(BranchInst *BI, IRBuilder<> &Builder) { in simplifyCondBranch()
7551 if (BranchInst *PBI = dyn_cast<BranchInst>(Pred->getTerminator())) in simplifyCondBranch()
7559 if (BranchInst *PBI = dyn_cast<BranchInst>(PrevBB->getTerminator())) in simplifyCondBranch()
7717 if (BranchInst *BI = dyn_cast<BranchInst>(T)) { in removeUndefIntroducingPredecessor()
7831 Changed |= simplifyBranch(cast<BranchInst>(Terminator), Builder); in simplifyOnce()