Home
last modified time | relevance | path

Searched refs:BranchInst (Results 1 – 25 of 209) sorted by relevance

123456789

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DFlattenCFG.cpp149 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 DLoopRotationUtils.cpp215 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 DLoopUnrollAndJam.cpp297 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 DMatrixUtils.cpp36 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 DBasicBlockUtils.cpp203 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 DSimplifyCFG.cpp286 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 DGuardUtils.cpp39 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 DControlFlowUtils.cpp37 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 DDomConditionCache.h27 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 DSIAnnotateControlFlow.cpp67 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 DAMDGPUUnifyDivergentExitNodes.cpp167 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 DLowerExpectIntrinsic.cpp196 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 DJumpThreading.cpp149 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 DIndVarSimplify.cpp243 !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 DLoopBoundSplit.cpp31 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 DStructurizeCFG.cpp80 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 DLoopInterchange.cpp661 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 DLowerConstantIntrinsics.cpp67 BranchInst *BI = dyn_cast_or_null<BranchInst>(VH); in replaceConditionalBranchesOnConstant()
88 Instruction *NewBI = BranchInst::Create(Target, Source); in replaceConditionalBranchesOnConstant()
H A DLoopFlatten.cpp134 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 DGuardUtils.h17 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 DLoopIdiomVectorize.cpp448 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 DLoopNestAnalysis.cpp57 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 DNVPTXImageOptimizer.cpp150 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 DExpandMemCmp.cpp392 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 DHardwareLoops.cpp222 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()

123456789