Home
last modified time | relevance | path

Searched refs:getTerminator (Results 1 – 25 of 260) sorted by relevance

1234567891011

/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()
232 Instruction *TBB = LastCondBlock->getTerminator(); in FlattenParallelAndOr()
235 BranchInst *PBI1 = dyn_cast<BranchInst>(PS1->getTerminator()); in FlattenParallelAndOr()
236 BranchInst *PBI2 = dyn_cast<BranchInst>(PS2->getTerminator()); in FlattenParallelAndOr()
241 (PS1->getTerminator()->getSuccessor(0) != PS2)) { in FlattenParallelAndOr()
244 (PS2->getTerminator()->getSuccessor(0) != PS1)) 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()
[all …]
H A DLoopUnrollRuntime.cpp167 Instruction *InsertPt = PrologExit->getTerminator(); in ConnectProlog()
184 if (hasBranchWeightMD(*Latch->getTerminator())) { in ConnectProlog()
304 Instruction *InsertPt = NewExit->getTerminator(); in ConnectEpilog()
314 if (hasBranchWeightMD(*Latch->getTerminator())) { in ConnectEpilog()
368 InsertTop->getTerminator()->setSuccessor(0, NewBB); in CloneLoopBlocks()
384 VMap.erase((*BB)->getTerminator()); in CloneLoopBlocks()
389 BranchInst *LatchBR = cast<BranchInst>(NewBB->getTerminator()); in CloneLoopBlocks()
602 BranchInst *LatchBR = cast<BranchInst>(Latch->getTerminator()); in UnrollRuntimeLoopRemainder()
672 BranchInst *PreHeaderBR = cast<BranchInst>(PreHeader->getTerminator()); in UnrollRuntimeLoopRemainder()
708 NewPreHeader = SplitBlock(PreHeader, PreHeader->getTerminator(), DT, LI); in UnrollRuntimeLoopRemainder()
[all …]
H A DBasicBlockUtils.cpp90 isa<UnreachableInst>(BB->getTerminator()) && in detachDeadBlocks()
196 Instruction *PTI = PredBB->getTerminator(); in MergeBlockIntoPredecessor()
212 BranchInst *BB_JmpI = dyn_cast<BranchInst>(BB->getTerminator()); in MergeBlockIntoPredecessor()
275 Instruction *STI = BB->getTerminator(); in MergeBlockIntoPredecessor()
308 MSSAU->getMemorySSA()->getMemoryAccess(PredBB->getTerminator()))) in MergeBlockIntoPredecessor()
748 if (isa<UnreachableInst>(BB->getTerminator()) || in IsBlockFollowedByDeoptOrUnreachable()
766 Instruction *LatchTerm = BB->getTerminator(); in SplitEdge()
794 assert(BB->getTerminator()->getNumSuccessors() == 1 && in SplitEdge()
796 return SplitBlock(BB, BB->getTerminator(), DT, LI, MSSAU, BBName); in SplitEdge()
873 return isa<IndirectBrInst>(Pred->getTerminator()); in ehAwareSplitEdge()
[all …]
H A DBreakCriticalEdges.cpp158 return isa<IndirectBrInst>(Pred->getTerminator()); in SplitKnownCriticalEdge()
319 Instruction *PredTerm = PredBB->getTerminator(); in findIBRPredecessor()
347 if (isa<IndirectBrInst>(BB.getTerminator())) in SplitIndirectBrCriticalEdges()
376 EdgeProbabilities.reserve(Target->getTerminator()->getNumSuccessors()); in SplitIndirectBrCriticalEdges()
377 for (unsigned I = 0, E = Target->getTerminator()->getNumSuccessors(); in SplitIndirectBrCriticalEdges()
405 Src->getTerminator()->replaceUsesOfWith(Target, DirectSucc); in SplitIndirectBrCriticalEdges()
427 assert(&*End == Target->getTerminator() && in SplitIndirectBrCriticalEdges()
H A DLoopSimplify.cpp130 if (isa<IndirectBrInst>(P->getTerminator())) in InsertPreheaderForLoop()
259 if (isa<IndirectBrInst>(PN->getIncomingBlock(i)->getTerminator())) in separateNestedLoop()
378 if (isa<IndirectBrInst>(P->getTerminator())) in insertUniqueBackedgeBlock()
453 Instruction *TI = BB->getTerminator(); in insertUniqueBackedgeBlock()
459 BEBlock->getTerminator()->setMetadata(LLVMContext::MD_loop, LoopMD); in insertUniqueBackedgeBlock()
508 Instruction *TI = P->getTerminator(); in simplifyOneLoop()
524 if (BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator())) in simplifyOneLoop()
635 BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in simplifyOneLoop()
650 Preheader ? Preheader->getTerminator() : nullptr, MSSAU, SE)) { in simplifyOneLoop()
883 if (isa<IndirectBrInst>(Pred->getTerminator())) {
[all …]
H A DUnifyFunctionExitNodes.cpp28 if (isa<UnreachableInst>(I.getTerminator())) in UnifyFunctionExitNodesLegacyPass()
50 if (isa<ReturnInst>(I.getTerminator())) in unifyUnreachableBlocks()
79 PN->addIncoming(BB->getTerminator()->getOperand(0), BB); in unifyReturnBlocks()
H A DLoopVersioning.cpp67 MemRuntimeCheck = addRuntimeChecks(RuntimeCheckBB->getTerminator(), in versionLoop()
73 Exp.expandCodeForPredicate(&Preds, RuntimeCheckBB->getTerminator()); in versionLoop()
79 Builder.SetInsertPoint(RuntimeCheckBB->getTerminator()); in versionLoop()
95 SplitBlock(RuntimeCheckBB, RuntimeCheckBB->getTerminator(), DT, LI, in versionLoop()
109 Instruction *OrigTerm = RuntimeCheckBB->getTerminator(); in versionLoop()
H A DLoopPeel.cpp289 return !isa<UnreachableInst>(BB->getTerminator()); in peelToTurnInvariantLoadsDerefencebale()
328 return LoadUsers.contains(Exiting->getTerminator()); in peelToTurnInvariantLoadsDerefencebale()
498 auto *BI = dyn_cast<BranchInst>(BB->getTerminator()); in countToEliminateCompares()
521 BranchInst *LatchBR = dyn_cast<BranchInst>(Latch->getTerminator()); in violatesLegacyMultiExitLoopCheck()
702 Instruction *Term = ExitingBlock->getTerminator(); in initBranchWeights()
811 InsertTop->getTerminator()->setSuccessor(0, cast<BasicBlock>(VMap[Header])); in cloneLoopBlocks()
819 auto *LatchTerm = cast<Instruction>(NewLatch->getTerminator()); in cloneLoopBlocks()
1002 SplitBlock(InsertTop, InsertTop->getTerminator(), &DT, LI); in peelLoop()
1004 SplitBlock(InsertBot, InsertBot->getTerminator(), &DT, LI); in peelLoop()
1011 cast<Instruction>(cast<BasicBlock>(Latch)->getTerminator()); in peelLoop()
[all …]
H A DLoopUnrollAndJam.cpp89 Instruction *TI = BB->getTerminator(); in partitionLoopBlocks()
297 BranchInst *BI = dyn_cast<BranchInst>(LatchBlock->getTerminator()); in UnrollAndJamLoop()
302 SubLoop->getLoopLatch()->getTerminator()->getSuccessor(0)); in UnrollAndJamLoop()
332 Header, LatchBlock, ForeBlocksLast[0]->getTerminator(), AftBlocks); in UnrollAndJamLoop()
487 cast<BranchInst>(ForeBlocksLast.back()->getTerminator()); in UnrollAndJamLoop()
505 cast<BranchInst>(ForeBlocksLast[It - 1]->getTerminator()); in UnrollAndJamLoop()
512 cast<BranchInst>(SubLoopBlocksLast.back()->getTerminator()); in UnrollAndJamLoop()
524 cast<BranchInst>(SubLoopBlocksLast[It - 1]->getTerminator()); in UnrollAndJamLoop()
536 BranchInst *AftTerm = cast<BranchInst>(AftBlocksLast.back()->getTerminator()); in UnrollAndJamLoop()
552 cast<BranchInst>(AftBlocksLast[It - 1]->getTerminator()); in UnrollAndJamLoop()
H A DLoopRotationUtils.cpp215 BranchInst *BI = dyn_cast<BranchInst>(Header->getTerminator()); in profitableToRotateLoopExitingLatch()
241 BranchInst *BI = dyn_cast<BranchInst>(Latch->getTerminator()); in canRotateDeoptimizingLatchExit()
426 BranchInst *BI = dyn_cast<BranchInst>(OrigHeader->getTerminator()); in rotateLoop()
548 Instruction *LoopEntryBranch = OrigPreheader->getTerminator(); in rotateLoop()
579 filterDbgVars(OrigPreheader->getTerminator()->getDbgRecordRange())) in rotateLoop()
844 BranchInst *PHBI = cast<BranchInst>(OrigPreheader->getTerminator()); in rotateLoop()
875 isa<IndirectBrInst>(ExitPred->getTerminator())) in rotateLoop()
1020 BranchInst *Jmp = dyn_cast<BranchInst>(Latch->getTerminator()); in simplifyLoopLatch()
1028 BranchInst *BI = dyn_cast<BranchInst>(LastExit->getTerminator()); in simplifyLoopLatch()
/freebsd/contrib/llvm-project/llvm/tools/llvm-stress/
H A Dllvm-stress.cpp345 Value *V = new LoadInst(Ty, Ptr, "L", BB->getTerminator()); in Act()
365 new StoreInst(Val, Ptr, BB->getTerminator()); in Act()
387 Instruction* Term = BB->getTerminator(); in Act()
485 "E", BB->getTerminator()); in Act()
517 BB->getTerminator()); in Act()
533 "I", BB->getTerminator()); in Act()
559 new BitCastInst(V, DestTy, "PC", BB->getTerminator())); in Act()
568 new BitCastInst(V, DestTy, "BC", BB->getTerminator())); in Act()
575 new TruncInst(V, DestTy, "Tr", BB->getTerminator())); in Act()
580 new ZExtInst(V, DestTy, "ZE", BB->getTerminator())); in Act()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUUnifyDivergentExitNodes.cpp128 if (!UA.isUniform(Top->getTerminator())) in isUniformlyReached()
167 PN->addIncoming(BB->getTerminator()->getOperand(0), BB); in unifyReturnBlockSet()
170 BB->getTerminator()->eraseFromParent(); in unifyReturnBlockSet()
195 !isa<BranchInst>(PDT.getRoot()->getTerminator()))) in run()
219 if (isa<ReturnInst>(BB->getTerminator())) { in run()
222 } else if (isa<UnreachableInst>(BB->getTerminator())) { in run()
225 } else if (BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator())) { in run()
261 BB->getTerminator()->eraseFromParent(); in run()
282 BB->getTerminator()->eraseFromParent(); in run()
296 UnreachableBlock->getTerminator()->eraseFromParent(); in run()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DJumpThreading.cpp150 BranchInst *CondBr = dyn_cast<BranchInst>(BB->getTerminator()); in updatePredecessorProfileMetadata()
173 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata()
209 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata()
350 << "' with terminator: " << *BB.getTerminator() in runImpl()
361 auto *BI = dyn_cast<BranchInst>(BB.getTerminator()); in runImpl()
454 if (BB->getTerminator() == StopAt) { in getJumpThreadDuplicationCost()
920 Instruction *BBTerm = BB->getTerminator(); in getBestDestForJumpOnUndef()
976 Instruction *Terminator = BB->getTerminator(); in processBlock()
1018 Instruction *BBTerm = BB->getTerminator(); in processBlock()
1044 << "' folding terminator: " << *BB->getTerminator() in processBlock()
[all …]
H A DCallSiteSplitting.cpp131 auto *BI = dyn_cast<BranchInst>(From->getTerminator()); in recordCondition()
143 Conditions.push_back({Cmp, From->getTerminator()->getSuccessor(0) == To in recordCondition()
196 if (Preds.size() != 2 || isa<IndirectBrInst>(Preds[0]->getTerminator()) || in canSplitCallSite()
197 isa<IndirectBrInst>(Preds[1]->getTerminator())) in canSplitCallSite()
251 Instruction *TI = SplitBB->getTerminator(); in copyMustTailReturn()
332 cast<CallBase>(&*std::prev(SplitBlock->getTerminator()->getIterator())); in splitCallSite()
366 BB->getTerminator()->eraseFromParent(); in splitCallSite()
509 auto IE = BB.getTerminator()->getIterator(); in doCallSiteSplitting()
514 while (II != IE && &*II != BB.getTerminator()) { in doCallSiteSplitting()
H A DIndVarSimplify.cpp464 auto *TermInst = IncomingBB->getTerminator(); in rewriteFirstIterationLoopExitValues()
703 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in isLoopExitTestBasedOn()
722 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in needsLFTR()
841 Value *Cond = cast<BranchInst>(ExitingBB->getTerminator())->getCondition(); in FindLoopCounter()
885 !mustExecuteUBIfPoisonOnPathTo(Phi, ExitingBB->getTerminator(), DT)) in FindLoopCounter()
942 ExitingBB->getTerminator()); in genLoopLimit()
974 mustExecuteUBIfPoisonOnPathTo(IncVar, ExitingBB->getTerminator(), DT); in linearFunctionTestReplace()
1008 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in linearFunctionTestReplace()
1103 BasicBlock::iterator I(Preheader->getTerminator()); in sinkUnusedInvariants()
1193 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in createFoldedExitCond()
[all …]
H A DLoopInterchange.cpp558 dyn_cast<BranchInst>(OuterLoopHeader->getTerminator()); in tightlyNested()
633 dyn_cast<BranchInst>(InnerLoopLatch->getTerminator()); in isLoopStructureUnderstood()
777 !isa<BranchInst>(InnerLoopLatch->getTerminator()) || in currentLimitations()
778 !isa<BranchInst>(OuterLoop->getLoopLatch()->getTerminator())) { in currentLimitations()
1313 InnerLoop->getLoopLatch()->getTerminator(), DT, LI); in transform()
1348 cast<BranchInst>(InnerLoop->getLoopLatch()->getTerminator()) in transform()
1360 if (InnerLoopHeader->getFirstNonPHI() != InnerLoopHeader->getTerminator()) { in transform()
1377 I.moveBeforePreserving(OuterLoopHeader->getTerminator()); in transform()
1395 FromBB->getTerminator()->getIterator()); in moveBBContents()
1408 moveBBContents(BB2, BB1->getTerminator()); in swapBBContents()
[all …]
H A DLoopIdiomRecognize.cpp1025 IRBuilder<> Builder(Preheader->getTerminator()); in processLoopStridedStore()
1049 Expander.expandCodeFor(Start, DestInt8PtrTy, Preheader->getTerminator()); in processLoopStridedStore()
1078 Expander.expandCodeFor(NumBytesS, IntIdxTy, Preheader->getTerminator()); in processLoopStridedStore()
1259 IRBuilder<> Builder(Preheader->getTerminator()); in processLoopStoreOfLoopLoad()
1290 StrStart, Builder.getPtrTy(StrAS), Preheader->getTerminator()); in processLoopStoreOfLoopLoad()
1343 Preheader->getTerminator()); in processLoopStoreOfLoopLoad()
1377 Expander.expandCodeFor(NumBytesS, IntIdxTy, Preheader->getTerminator()); in processLoopStoreOfLoopLoad()
1608 dyn_cast<BranchInst>(LoopEntry->getTerminator()), LoopEntry, in detectShiftUntilLessThanIdiom()
1710 dyn_cast<BranchInst>(LoopEntry->getTerminator()), LoopEntry)) in detectPopcountIdiom()
1785 auto *PreCondBr = dyn_cast<BranchInst>(PreCondBB->getTerminator()); in detectPopcountIdiom()
[all …]
H A DLoopFuse.cpp827 WorkList.emplace_back(Pred->getTerminator()); in peelFusionCandidate()
957 *FC0->GuardBranch->getParent()->getTerminator(), DT, &PDT, in fuseCandidates()
1192 if (&I == FC1Preheader->getTerminator()) in collectMovablePreheaderInsts()
1477 FC0.Preheader->getTerminator()->getIterator()); in movePreheaderInsts()
1522 BranchInst *FCLatchBranch = dyn_cast<BranchInst>(FC.Latch->getTerminator()); in simplifyLatchBranch()
1633 FC0.ExitingBlock->getTerminator()->replaceUsesOfWith(FC1.Preheader, in performFusion()
1644 FC0.ExitingBlock->getTerminator()->replaceUsesOfWith(FC0.ExitBlock, in performFusion()
1648 FC0.ExitBlock->getTerminator()->eraseFromParent(); in performFusion()
1656 FC1.Preheader->getTerminator()->eraseFromParent(); in performFusion()
1694 FC0.Latch->getTerminator()->replaceUsesOfWith(FC0.Header, FC1.Header); in performFusion()
[all …]
H A DDivRemPairs.cpp291 if (PredBB && !isa<CatchSwitchInst>(PredBB->getTerminator()) && in optimizeDivRem()
292 isGuaranteedToTransferExecutionToSuccessor(PredBB->getTerminator()) && in optimizeDivRem()
299 DivInst->moveBefore(PredBB->getTerminator()); in optimizeDivRem()
302 RemInst->moveBefore(PredBB->getTerminator()); in optimizeDivRem()
H A DLoopPredication.cpp487 return Preheader->getTerminator(); in generateLoopLatchCheck()
498 !Expander.isSafeToExpandAt(Op, Preheader->getTerminator())) in generateLoopLatchCheck()
500 return Preheader->getTerminator(); in generateLoopLatchCheck()
817 auto *BI = dyn_cast<BranchInst>(LoopLatch->getTerminator()); in widenGuardConditions()
893 auto *LatchTerm = LatchBlock->getTerminator(); in parseLoopLatchICmp()
918 auto *Term = ExitingBlock->getTerminator(); in parseLoopLatchICmp()
994 if (auto *BI = dyn_cast<BranchInst>(Pred->getTerminator())) in isLoopProfitableToPredicate()
1080 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in FindWidenableTerminatorAboveLoop()
1125 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits()
1232 isGuardAsWidenableBranch(BB->getTerminator())) in predicateLoopExits()
[all...]
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86LowerAMXIntrinsics.cpp119 PHINode::Create(I16Ty, 2, Name + ".iv", Header->getTerminator()->getIterator()); in createLoop()
128 BranchInst *PreheaderBr = cast<BranchInst>(Preheader->getTerminator()); in createLoop()
182 B.SetInsertPoint(ColBody->getTerminator()); in createTileLoadStoreLoops()
193 B.SetInsertPoint(RowLoopHeader->getTerminator()); in createTileLoadStoreLoops()
201 B.SetInsertPoint(ColLoopHeader->getTerminator()); in createTileLoadStoreLoops()
210 B.SetInsertPoint(ColBody->getTerminator()); in createTileLoadStoreLoops()
226 B.SetInsertPoint(ColBody->getTerminator()); in createTileLoadStoreLoops()
287 B.SetInsertPoint(ColBody->getTerminator()); in createTileDPLoops()
320 B.SetInsertPoint(RowLoopHeader->getTerminator()); in createTileDPLoops()
337 B.SetInsertPoint(ColLoopHeader->getTerminator()); in createTileDPLoops()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DHardwareLoops.cpp407 if (!isa<BranchInst>(Pred->getTerminator())) in CanGenerateTest()
410 auto *BI = cast<BranchInst>(Pred->getTerminator()); in CanGenerateTest()
469 cast<BranchInst>(BB->getTerminator())->isUnconditional()) { in InitLoopCount()
473 if (!SCEVE.isSafeToExpandAt(ExitCount, Predecessor->getTerminator())) in InitLoopCount()
479 if (!SCEVE.isSafeToExpandAt(ExitCount, BB->getTerminator())) { in InitLoopCount()
486 BB->getTerminator()); in InitLoopCount()
505 IRBuilder<> Builder(BeginBB->getTerminator()); in InsertIterationSetup()
520 assert((isa<BranchInst>(BeginBB->getTerminator()) && in InsertIterationSetup()
521 cast<BranchInst>(BeginBB->getTerminator())->isConditional()) && in InsertIterationSetup()
526 auto *LoopGuard = cast<BranchInst>(BeginBB->getTerminator()); in InsertIterationSetup()
H A DMachineLoopInfo.cpp133 if (DebugLoc DL = PHeadBB->getTerminator()->getDebugLoc()) in getStartLoc()
140 return HeadBB->getTerminator()->getDebugLoc(); in getStartLoc()
190 if (const auto *TI = BB->getTerminator()) in getLoopID()
202 const auto *TI = BB->getTerminator(); in getLoopID()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DHotColdSplitting.cpp108 const Instruction *I = BB.getTerminator(); in blockEndsInUnreachable()
116 BranchInst *CondBr = dyn_cast<BranchInst>(BB->getTerminator()); in analyzeProfMetadata()
140 if (BB.isEHPad() || isa<ResumeInst>(BB.getTerminator())) in unlikelyExecuted()
155 dyn_cast_or_null<CallInst>(BB.getTerminator()->getPrevNode())) in unlikelyExecuted()
175 auto Term = BB.getTerminator(); in mayExtractBlock()
292 if (&I != BB->getTerminator()) in getOutliningBenefit()
318 NoBlocksReturn &= isa<UnreachableInst>(BB->getTerminator()); in getOutliningPenalty()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DBranchProbabilityInfo.cpp380 const Instruction *TI = BB->getTerminator(); in calcMetadataWeights()
516 const BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator()); in calcPointerHeuristics()
566 const BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator()); in computeUnlikelySuccessors()
780 if (isa<UnreachableInst>(BB->getTerminator()) || in getInitialEstimatedBlockWeight()
877 assert(BB->getTerminator()->getNumSuccessors() > 1 && in calcEstimatedHeuristics()
965 const BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator()); in calcZeroHeuristics()
1031 const BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator()); in calcFloatingPointHeuristics()
1134 assert(Src->getTerminator()->getNumSuccessors() == Probs.size()); in setEdgeProbability()
1162 unsigned NumSuccessors = Src->getTerminator()->getNumSuccessors(); in copyEdgeProbabilities()
1163 assert(NumSuccessors == Dst->getTerminator()->getNumSuccessors()); in copyEdgeProbabilities()
[all …]

1234567891011