| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | FlattenCFG.cpp | 149 BranchInst *PBI = dyn_cast<BranchInst>(Pred->getTerminator()); in FlattenParallelAndOr() 221 BranchInst *BPS = dyn_cast<BranchInst>(PS->getTerminator()); in FlattenParallelAndOr() 235 BranchInst *PBI1 = dyn_cast<BranchInst>(PS1->getTerminator()); in FlattenParallelAndOr() 236 BranchInst *PBI2 = dyn_cast<BranchInst>(PS2->getTerminator()); in FlattenParallelAndOr() 252 auto *BI = cast<BranchInst>(CurrBlock->getTerminator()); in FlattenParallelAndOr() 279 BranchInst *PBI = cast<BranchInst>(FirstCondBlock->getTerminator()); in FlattenParallelAndOr() 289 PBI = cast<BranchInst>(FirstCondBlock->getTerminator()); in FlattenParallelAndOr() 415 BranchInst *DomBI2 = GetIfCondition(BB, IfTrue2, IfFalse2); in MergeIfRegion() 427 BranchInst *DomBI1 = GetIfCondition(SecondEntryBlock, IfTrue1, IfFalse1); in MergeIfRegion() 488 BranchInst *PBI = cast<BranchInst>(FirstEntryBlock->getTerminator()); in MergeIfRegion()
|
| H A D | LoopRotationUtils.cpp | 215 BranchInst *BI = dyn_cast<BranchInst>(Header->getTerminator()); in profitableToRotateLoopExitingLatch() 241 BranchInst *BI = dyn_cast<BranchInst>(Latch->getTerminator()); in canRotateDeoptimizingLatchExit() 276 static void updateBranchWeights(BranchInst &PreHeaderBI, BranchInst &LoopBI, in updateBranchWeights() 426 BranchInst *BI = dyn_cast<BranchInst>(OrigHeader->getTerminator()); in rotateLoop() 823 BranchInst *PHBI = cast<BranchInst>(OrigPreheader->getTerminator()); in rotateLoop() 869 BranchInst *NewBI = BranchInst::Create(NewHeader, PHBI->getIterator()); in rotateLoop() 996 BranchInst *Jmp = dyn_cast<BranchInst>(Latch->getTerminator()); in simplifyLoopLatch() 1004 BranchInst *BI = dyn_cast<BranchInst>(LastExit->getTerminator()); in simplifyLoopLatch()
|
| H A D | LoopUnrollAndJam.cpp | 297 BranchInst *BI = dyn_cast<BranchInst>(LatchBlock->getTerminator()); in UnrollAndJamLoop() 489 BranchInst *ForeTerm = in UnrollAndJamLoop() 490 cast<BranchInst>(ForeBlocksLast.back()->getTerminator()); in UnrollAndJamLoop() 507 BranchInst *ForeTerm = in UnrollAndJamLoop() 508 cast<BranchInst>(ForeBlocksLast[It - 1]->getTerminator()); in UnrollAndJamLoop() 514 BranchInst *SubTerm = in UnrollAndJamLoop() 515 cast<BranchInst>(SubLoopBlocksLast.back()->getTerminator()); in UnrollAndJamLoop() 526 BranchInst *SubTerm = in UnrollAndJamLoop() 527 cast<BranchInst>(SubLoopBlocksLast[It - 1]->getTerminator()); in UnrollAndJamLoop() 528 BranchInst::Create(SubLoopBlocksFirst[It], SubTerm->getIterator()); in UnrollAndJamLoop() [all …]
|
| H A D | MatrixUtils.cpp | 36 BranchInst::Create(Body, Header); in CreateLoop() 37 BranchInst::Create(Latch, Body); in CreateLoop() 45 BranchInst::Create(Header, Exit, Cond, Latch); in CreateLoop() 48 BranchInst *PreheaderBr = cast<BranchInst>(Preheader->getTerminator()); in CreateLoop()
|
| H A D | BasicBlockUtils.cpp | 203 BranchInst *PredBB_BI; in MergeBlockIntoPredecessor() 207 if (!(PredBB_BI = dyn_cast<BranchInst>(PTI))) in MergeBlockIntoPredecessor() 209 BranchInst *BB_JmpI = dyn_cast<BranchInst>(BB->getTerminator()); in MergeBlockIntoPredecessor() 747 auto *Terminator = BranchInst::Create(Succ, NewBB); in ehAwareSplitEdge() 1120 ArrayRef<BasicBlock *> Preds, BranchInst *BI, in UpdatePHINodes() 1213 BranchInst *BI = BranchInst::Create(BB, NewBB); in SplitBlockPredecessorsImpl() 1311 BranchInst *BI1 = BranchInst::Create(OrigBB, NewBB1); in SplitLandingPadPredecessorsImpl() 1352 BranchInst *BI2 = BranchInst::Create(OrigBB, NewBB2); in SplitLandingPadPredecessorsImpl() 1547 (void)BranchInst::Create(Tail, BB); in SplitBlockAndInsertIfThenElse() 1560 BranchInst *HeadNewTerm = in SplitBlockAndInsertIfThenElse() [all …]
|
| H A D | SimplifyCFG.cpp | 286 bool simplifyBranch(BranchInst *Branch, IRBuilder<> &Builder); 287 bool simplifyUncondBranch(BranchInst *BI, IRBuilder<> &Builder); 288 bool simplifyCondBranch(BranchInst *BI, IRBuilder<> &Builder); 297 bool speculativelyExecuteBB(BranchInst *BI, BasicBlock *ThenBB); 301 bool simplifyBranchOnICmpChain(BranchInst *BI, IRBuilder<> &Builder, 456 BranchInst *BI = dyn_cast<BranchInst>(PBB->getTerminator()); in dominatesMergePoint() 786 } else if (BranchInst *BI = dyn_cast<BranchInst>(TI)) { in eraseTerminatorAndDCECond() 807 } else if (BranchInst *BI = dyn_cast<BranchInst>(TI)) in isValueEqualityComparison() 837 BranchInst *BI = cast<BranchInst>(TI); in getValueEqualityComparisonCases() 904 assert(isa<BranchInst>(I) || isa<SelectInst>(I)); in setBranchWeights() [all …]
|
| H A D | GuardUtils.cpp | 39 auto *CheckBI = cast<BranchInst>(CheckBB->getTerminator()); in makeGuardControlFlowExplicit() 82 void llvm::widenWidenableBranch(BranchInst *WidenableBR, Value *NewCond) { in widenWidenableBranch() 108 void llvm::setWidenableBranchCond(BranchInst *WidenableBR, Value *NewCond) { in setWidenableBranchCond()
|
| H A D | ControlFlowUtils.cpp | 37 assert(isa<BranchInst>(BB->getTerminator()) && in redirectToHub() 39 auto *Branch = cast<BranchInst>(BB->getTerminator()); in redirectToHub() 56 BranchInst::Create(FirstGuardBlock, BB); in redirectToHub() 76 BranchInst::Create(Out, GuardBlocks[I + 1], GuardPredicates[Out], in setupBranchForGuard() 80 BranchInst::Create(Out, Outgoing[I + 1], GuardPredicates[Out], in setupBranchForGuard()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | DomConditionCache.h | 27 class BranchInst; variable 32 using AffectedValuesMap = DenseMap<Value *, SmallVector<BranchInst *, 1>>; 37 void registerBranch(BranchInst *BI); 43 ArrayRef<BranchInst *> conditionsFor(const Value *V) const { in conditionsFor() 46 return ArrayRef<BranchInst *>(); in conditionsFor()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | SIAnnotateControlFlow.cpp | 67 bool isUniform(BranchInst *T); 81 bool openIf(BranchInst *Term); 83 bool insertElse(BranchInst *Term); 87 BranchInst *Term); 89 bool handleLoop(BranchInst *Term); 129 bool SIAnnotateControlFlow::isUniform(BranchInst *T) { in isUniform() 185 bool SIAnnotateControlFlow::openIf(BranchInst *Term) { in openIf() 200 bool SIAnnotateControlFlow::insertElse(BranchInst *Term) { in insertElse() 217 Value *Cond, PHINode *Broken, llvm::Loop *L, BranchInst *Term) { in handleLoopCondition() 258 bool SIAnnotateControlFlow::handleLoop(BranchInst *Term) { in handleLoop() [all …]
|
| H A D | AMDGPUUnifyDivergentExitNodes.cpp | 167 BranchInst::Create(NewRetBlock, BB); in unifyReturnBlockSet() 191 !isa<BranchInst>(PDT.getRoot()->getTerminator()))) in run() 224 } else if (BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator())) { in run() 240 BranchInst::Create(LoopHeaderBB, DummyReturnBB, BoolTrue, BB); in run() 261 BranchInst::Create(TransitionBB, DummyReturnBB, BoolTrue, BB); in run() 282 BranchInst::Create(UnreachableBlock, BB); in run()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LowerExpectIntrinsic.cpp | 196 auto GetDomConditional = [&](unsigned i) -> BranchInst * { in handlePhiDef() 198 BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator()); in handlePhiDef() 204 BI = dyn_cast<BranchInst>(BB->getTerminator()); in handlePhiDef() 229 BranchInst *BI = GetDomConditional(i); in handlePhiDef() 357 static bool handleBranchExpect(BranchInst &BI) { in handleBranchExpect() 361 return handleBrSelExpect<BranchInst>(BI); in handleBranchExpect() 369 if (BranchInst *BI = dyn_cast<BranchInst>(BB.getTerminator())) { in lowerExpectIntrinsic()
|
| H A D | JumpThreading.cpp | 149 BranchInst *CondBr = dyn_cast<BranchInst>(BB->getTerminator()); in updatePredecessorProfileMetadata() 172 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata() 208 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata() 354 auto *BI = dyn_cast<BranchInst>(BB.getTerminator()); in runImpl() 974 if (BranchInst *BI = dyn_cast<BranchInst>(Terminator)) { in processBlock() 1026 Instruction *NewBI = BranchInst::Create(BBTerm->getSuccessor(BestSucc), BBTerm->getIterator()); in processBlock() 1115 if (PN->getParent() == BB && isa<BranchInst>(BB->getTerminator())) in processBlock() 1127 if (PN && PN->getParent() == BB && isa<BranchInst>(BB->getTerminator())) in processBlock() 1132 CondInst->getParent() == BB && isa<BranchInst>(BB->getTerminator())) in processBlock() 1144 auto *BI = dyn_cast<BranchInst>(BB->getTerminator()); in processImpliedCondition() [all …]
|
| H A D | IndVarSimplify.cpp | 243 !isa<BranchInst>(Compare->user_back())) in handleFloatingPointIV() 246 BranchInst *TheBr = cast<BranchInst>(Compare->user_back()); in handleFloatingPointIV() 463 if (auto *BI = dyn_cast<BranchInst>(TermInst)) { in rewriteFirstIterationLoopExitValues() 698 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in isLoopExitTestBasedOn() 717 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in needsLFTR() 832 Value *Cond = cast<BranchInst>(ExitingBB->getTerminator())->getCondition(); in FindLoopCounter() 999 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in linearFunctionTestReplace() 1157 static void replaceExitCond(BranchInst *BI, Value *NewCond, in replaceExitCond() 1169 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in createFoldedExitCond() 1178 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in foldExit() [all …]
|
| H A D | LoopBoundSplit.cpp | 31 BranchInst *BI = nullptr; 160 const BranchInst *BI) { in isProcessableCondBI() 205 BranchInst *ExitingBI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in canSplitLoopBound() 222 static bool isProfitableToTransform(const Loop &L, const BranchInst *BI) { in isProfitableToTransform() 242 static BranchInst *findSplitCandidate(const Loop &L, ScalarEvolution &SE, in findSplitCandidate() 250 auto *BI = dyn_cast<BranchInst>(BB->getTerminator()); in findSplitCandidate() 421 BranchInst *ClonedSplitCandidateBI = in splitLoopBound() 422 cast<BranchInst>(VMap[SplitCandidateCond.BI]); in splitLoopBound()
|
| H A D | StructurizeCFG.cpp | 80 using BranchVector = SmallVector<BranchInst *, 8>; 99 static MaybeCondBranchWeights tryParse(const BranchInst &Br) { in tryParse() 109 static void setMetadata(BranchInst &Br, in setMetadata() 310 PredInfo buildCondition(BranchInst *Term, unsigned Idx, bool Invert); 483 BranchInst *Term = cast<BranchInst>(BB->getTerminator()); in analyzeLoops() 492 PredInfo StructurizeCFG::buildCondition(BranchInst *Term, unsigned Idx, in buildCondition() 525 BranchInst *Term = cast<BranchInst>(P->getTerminator()); in gatherPredicates() 602 for (BranchInst *Term : Conds) { in insertConditions() 966 BranchInst *Br = BranchInst::Create(NewExit, BB); in changeExit() 1075 BranchInst *Br = BranchInst::Create(Entry, Next, BoolPoison, Flow); in wireFlow() [all …]
|
| H A D | LoopInterchange.cpp | 661 BranchInst *OuterLoopHeaderBI = in tightlyNested() 662 dyn_cast<BranchInst>(OuterLoopHeader->getTerminator()); in tightlyNested() 736 BranchInst *InnerLoopLatchBI = in isLoopStructureUnderstood() 737 dyn_cast<BranchInst>(InnerLoopLatch->getTerminator()); in isLoopStructureUnderstood() 942 !isa<BranchInst>(InnerLoopLatch->getTerminator()) || in currentLimitations() 943 !isa<BranchInst>(OuterLoop->getLoopLatch()->getTerminator())) { in currentLimitations() 1567 cast<BranchInst>(InnerLoop->getLoopLatch()->getTerminator()) in transform() 1644 static void updateSuccessor(BranchInst *BI, BasicBlock *OldBB, in updateSuccessor() 1794 BranchInst *OuterLoopLatchBI = in adjustLoopBranches() 1795 dyn_cast<BranchInst>(OuterLoopLatch->getTerminator()); in adjustLoopBranches() [all …]
|
| H A D | LowerConstantIntrinsics.cpp | 67 BranchInst *BI = dyn_cast_or_null<BranchInst>(VH); in replaceConditionalBranchesOnConstant() 88 Instruction *NewBI = BranchInst::Create(Target, Source); in replaceConditionalBranchesOnConstant()
|
| H A D | LoopFlatten.cpp | 134 BranchInst *InnerBranch = nullptr; // are safe to ignore. 136 BranchInst *OuterBranch = nullptr; // The instruction that needs to be 324 BranchInst *&BackBranch, ScalarEvolution *SE, bool IsWidened) { in verifyTripCount() 391 BranchInst *&BackBranch, ScalarEvolution *SE, bool IsWidened) { in findLoopComponents() 440 BackBranch = cast<BranchInst>(Latch->getTerminator()); in findLoopComponents() 582 BranchInst *Br = dyn_cast<BranchInst>(&I); in checkOuterLoopInsts() 787 Instruction *BI = BranchInst::Create(InnerExitBlock, InnerExitingBlock); in DoFlattenLoopPair() 975 BranchInst *Br = cast<BranchInst>(CheckBlock->getTerminator()); in FlattenLoopPair()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | GuardUtils.h | 17 class BranchInst; variable 35 void widenWidenableBranch(BranchInst *WidenableBR, Value *NewCond); 40 void setWidenableBranchCond(BranchInst *WidenableBR, Value *Cond);
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopIdiomVectorize.cpp | 448 BranchInst *JumpToVectorLoop = BranchInst::Create(VectorLoopStartBlock); in createMaskedFindMismatch() 478 BranchInst *VectorEarlyExit = BranchInst::Create( in createMaskedFindMismatch() 501 BranchInst *VectorLoopBranchBack = in createMaskedFindMismatch() 502 BranchInst::Create(VectorLoopStartBlock, EndBlock, PredHasActiveLanes); in createMaskedFindMismatch() 539 auto *JumpToVectorLoop = BranchInst::Create(VectorLoopStartBlock); in createPredicatedFindMismatch() 589 auto *VectorEarlyExit = BranchInst::Create(VectorLoopMismatchBlock, in createPredicatedFindMismatch() 608 BranchInst::Create(VectorLoopStartBlock, EndBlock, ExitCond); in createPredicatedFindMismatch() 640 BranchInst *PHBranch = cast<BranchInst>(Preheader->getTerminator()); in expandFindMismatch() 729 BranchInst *MinItCheckBr = in expandFindMismatch() 730 BranchInst::Create(MemCheckBlock, LoopPreHeaderBlock, LimitCheck); in expandFindMismatch() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | LoopNestAnalysis.cpp | 57 const BranchInst *BI = dyn_cast<BranchInst>(Latch->getTerminator()); in getOuterLoopLatchCmp() 72 BranchInst *InnerGuard = InnerLoop.getLoopGuardBranch(); in getInnerLoopGuardCmp() 90 isSafeToSpeculativelyExecute(&I) || isa<PHINode>(I) || isa<BranchInst>(I); in checkSafeInstruction() 367 const BranchInst *BI = dyn_cast<BranchInst>(SingleSucc.getTerminator()); in checkLoopsStructure()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/ |
| H A D | NVPTXImageOptimizer.cpp | 150 if (BranchInst *BI = dyn_cast<BranchInst>(U)) { in replaceWith() 159 BranchInst::Create(Dest, BI->getIterator()); in replaceWith()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | ExpandMemCmp.cpp | 392 BranchInst *CmpBr = in emitLoadCompareByteBlock() 393 BranchInst::Create(EndBlock, LoadCmpBlocks[BlockIndex + 1], Cmp); in emitLoadCompareByteBlock() 401 BranchInst *CmpBr = BranchInst::Create(EndBlock); in emitLoadCompareByteBlock() 490 BranchInst *CmpBr = BranchInst::Create(ResBlock.BB, NextBB, Cmp); in emitLoadCompareBlockMultipleLoads() 554 BranchInst *CmpBr = BranchInst::Create(NextBB, ResBlock.BB, Cmp); in emitLoadCompareBlock() 580 BranchInst *NewBr = BranchInst::Create(EndBlock); in emitMemCmpResultBlock() 597 BranchInst *NewBr = BranchInst::Create(EndBlock); in emitMemCmpResultBlock()
|
| H A D | HardwareLoops.cpp | 222 BranchInst *ExitBranch = nullptr; 406 if (!isa<BranchInst>(Pred->getTerminator())) in CanGenerateTest() 409 auto *BI = cast<BranchInst>(Pred->getTerminator()); in CanGenerateTest() 468 cast<BranchInst>(BB->getTerminator())->isUnconditional()) { in InitLoopCount() 518 assert((isa<BranchInst>(BeginBB->getTerminator()) && in InsertIterationSetup() 519 cast<BranchInst>(BeginBB->getTerminator())->isConditional()) && in InsertIterationSetup() 524 auto *LoopGuard = cast<BranchInst>(BeginBB->getTerminator()); in InsertIterationSetup()
|