Home
last modified time | relevance | path

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

1234567891011

/openbsd-src/gnu/llvm/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.cpp156 Instruction *InsertPt = PrologExit->getTerminator(); in ConnectProlog()
286 Instruction *InsertPt = NewExit->getTerminator(); in ConnectEpilog()
343 InsertTop->getTerminator()->setSuccessor(0, NewBB); in CloneLoopBlocks()
359 VMap.erase((*BB)->getTerminator()); in CloneLoopBlocks()
364 BranchInst *LatchBR = cast<BranchInst>(NewBB->getTerminator()); in CloneLoopBlocks()
474 cast<BranchInst>(OrigLoop->getLoopLatch()->getTerminator()); in updateLatchBranchWeightsForRemainderLoop()
484 auto *RemainderLatchBR = cast<BranchInst>(Latch->getTerminator()); in updateLatchBranchWeightsForRemainderLoop()
583 BranchInst *LatchBR = cast<BranchInst>(Latch->getTerminator()); in UnrollRuntimeLoopRemainder()
653 BranchInst *PreHeaderBR = cast<BranchInst>(PreHeader->getTerminator()); in UnrollRuntimeLoopRemainder()
689 NewPreHeader = SplitBlock(PreHeader, PreHeader->getTerminator(), DT, LI); in UnrollRuntimeLoopRemainder()
[all …]
H A DBasicBlockUtils.cpp89 isa<UnreachableInst>(BB->getTerminator()) && in detachDeadBlocks()
195 Instruction *PTI = PredBB->getTerminator(); in MergeBlockIntoPredecessor()
211 BranchInst *BB_JmpI = dyn_cast<BranchInst>(BB->getTerminator()); in MergeBlockIntoPredecessor()
274 Instruction *STI = BB->getTerminator(); in MergeBlockIntoPredecessor()
307 MSSAU->getMemorySSA()->getMemoryAccess(PredBB->getTerminator()))) in MergeBlockIntoPredecessor()
603 isa<UnreachableInst>(BB->getTerminator())) in IsBlockFollowedByDeoptOrUnreachable()
620 Instruction *LatchTerm = BB->getTerminator(); in SplitEdge()
648 assert(BB->getTerminator()->getNumSuccessors() == 1 && in SplitEdge()
650 return SplitBlock(BB, BB->getTerminator(), DT, LI, MSSAU, BBName); in SplitEdge()
727 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 auto *IBI = dyn_cast<IndirectBrInst>(BB.getTerminator()); in SplitIndirectBrCriticalEdges()
379 EdgeProbabilities.reserve(Target->getTerminator()->getNumSuccessors()); in SplitIndirectBrCriticalEdges()
380 for (unsigned I = 0, E = Target->getTerminator()->getNumSuccessors(); in SplitIndirectBrCriticalEdges()
408 Src->getTerminator()->replaceUsesOfWith(Target, DirectSucc); in SplitIndirectBrCriticalEdges()
430 assert(&*End == Target->getTerminator() && in SplitIndirectBrCriticalEdges()
H A DUnifyFunctionExitNodes.cpp52 if (isa<UnreachableInst>(I.getTerminator())) in unifyUnreachableBlocks()
74 if (isa<ReturnInst>(I.getTerminator())) in unifyReturnBlocks()
103 PN->addIncoming(BB->getTerminator()->getOperand(0), BB); in unifyReturnBlocks()
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()
454 Instruction *TI = BB->getTerminator(); in insertUniqueBackedgeBlock()
460 BEBlock->getTerminator()->setMetadata(LoopMDKind, LoopMD); in insertUniqueBackedgeBlock()
509 Instruction *TI = P->getTerminator(); in simplifyOneLoop()
525 if (BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator())) in simplifyOneLoop()
637 BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in simplifyOneLoop()
652 Preheader ? Preheader->getTerminator() : nullptr, MSSAU, SE)) { in simplifyOneLoop()
884 if (isa<IndirectBrInst>(Pred->getTerminator())) {
[all …]
H A DLoopPeel.cpp289 return !isa<UnreachableInst>(BB->getTerminator()); in peelToTurnInvariantLoadsDerefencebale()
328 return LoadUsers.contains(Exiting->getTerminator()); in peelToTurnInvariantLoadsDerefencebale()
349 auto *BI = dyn_cast<BranchInst>(BB->getTerminator()); in countToEliminateCompares()
455 BranchInst *LatchBR = dyn_cast<BranchInst>(Latch->getTerminator()); in violatesLegacyMultiExitLoopCheck()
633 Instruction *Term = ExitingBlock->getTerminator(); in initBranchWeights()
750 InsertTop->getTerminator()->setSuccessor(0, cast<BasicBlock>(VMap[Header])); in cloneLoopBlocks()
758 auto *LatchTerm = cast<Instruction>(NewLatch->getTerminator()); in cloneLoopBlocks()
941 SplitBlock(InsertTop, InsertTop->getTerminator(), &DT, LI); in peelLoop()
943 SplitBlock(InsertBot, InsertBot->getTerminator(), &DT, LI); in peelLoop()
950 cast<Instruction>(cast<BasicBlock>(Latch)->getTerminator()); in peelLoop()
[all …]
H A DLoopRotationUtils.cpp186 BranchInst *BI = dyn_cast<BranchInst>(Header->getTerminator()); in profitableToRotateLoopExitingLatch()
212 BranchInst *BI = dyn_cast<BranchInst>(Latch->getTerminator()); in canRotateDeoptimizingLatchExit()
270 BranchInst *BI = dyn_cast<BranchInst>(OrigHeader->getTerminator()); in rotateLoop()
391 Instruction *LoopEntryBranch = OrigPreheader->getTerminator(); in rotateLoop()
605 BranchInst *PHBI = cast<BranchInst>(OrigPreheader->getTerminator()); in rotateLoop()
631 isa<IndirectBrInst>(ExitPred->getTerminator())) in rotateLoop()
776 BranchInst *Jmp = dyn_cast<BranchInst>(Latch->getTerminator()); in simplifyLoopLatch()
784 BranchInst *BI = dyn_cast<BranchInst>(LastExit->getTerminator()); in simplifyLoopLatch()
H A DLoopUnrollAndJam.cpp90 Instruction *TI = BB->getTerminator(); in partitionLoopBlocks()
298 BranchInst *BI = dyn_cast<BranchInst>(LatchBlock->getTerminator()); in UnrollAndJamLoop()
303 SubLoop->getLoopLatch()->getTerminator()->getSuccessor(0)); in UnrollAndJamLoop()
333 Header, LatchBlock, ForeBlocksLast[0]->getTerminator(), AftBlocks); in UnrollAndJamLoop()
488 cast<BranchInst>(ForeBlocksLast.back()->getTerminator()); in UnrollAndJamLoop()
506 cast<BranchInst>(ForeBlocksLast[It - 1]->getTerminator()); in UnrollAndJamLoop()
513 cast<BranchInst>(SubLoopBlocksLast.back()->getTerminator()); in UnrollAndJamLoop()
525 cast<BranchInst>(SubLoopBlocksLast[It - 1]->getTerminator()); in UnrollAndJamLoop()
537 BranchInst *AftTerm = cast<BranchInst>(AftBlocksLast.back()->getTerminator()); in UnrollAndJamLoop()
553 cast<BranchInst>(AftBlocksLast[It - 1]->getTerminator()); in UnrollAndJamLoop()
H A DLoopVersioning.cpp66 MemRuntimeCheck = addRuntimeChecks(RuntimeCheckBB->getTerminator(), in versionLoop()
72 Exp.expandCodeForPredicate(&Preds, RuntimeCheckBB->getTerminator()); in versionLoop()
78 Builder.SetInsertPoint(RuntimeCheckBB->getTerminator()); in versionLoop()
94 SplitBlock(RuntimeCheckBB, RuntimeCheckBB->getTerminator(), DT, LI, in versionLoop()
108 Instruction *OrigTerm = RuntimeCheckBB->getTerminator(); in versionLoop()
/openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/
H A DAMDGPUUnifyDivergentExitNodes.cpp124 if (!DA.isUniform(Top->getTerminator())) in isUniformlyReached()
163 PN->addIncoming(BB->getTerminator()->getOperand(0), BB); in unifyReturnBlockSet()
166 BB->getTerminator()->eraseFromParent(); in unifyReturnBlockSet()
192 !isa<BranchInst>(PDT.getRoot()->getTerminator()))) in runOnFunction()
219 if (isa<ReturnInst>(BB->getTerminator())) { in runOnFunction()
222 } else if (isa<UnreachableInst>(BB->getTerminator())) { in runOnFunction()
225 } else if (BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator())) { in runOnFunction()
261 BB->getTerminator()->eraseFromParent(); in runOnFunction()
282 BB->getTerminator()->eraseFromParent(); in runOnFunction()
296 UnreachableBlock->getTerminator()->eraseFromParent(); in runOnFunction()
/openbsd-src/gnu/llvm/llvm/tools/llvm-stress/
H A Dllvm-stress.cpp347 Value *V = new LoadInst(Ty, Ptr, "L", BB->getTerminator()); in Act()
369 new StoreInst(Val, Ptr, BB->getTerminator()); in Act()
391 Instruction* Term = BB->getTerminator(); in Act()
489 "E", BB->getTerminator()); in Act()
521 BB->getTerminator()); in Act()
537 "I", BB->getTerminator()); in Act()
563 new BitCastInst(V, DestTy, "PC", BB->getTerminator())); in Act()
572 new BitCastInst(V, DestTy, "BC", BB->getTerminator())); in Act()
579 new TruncInst(V, DestTy, "Tr", BB->getTerminator())); in Act()
584 new ZExtInst(V, DestTy, "ZE", BB->getTerminator())); in Act()
[all …]
/openbsd-src/gnu/llvm/llvm/examples/IRTransforms/
H A DSimplifyCFG.cpp143 BranchInst *BI = dyn_cast<BranchInst>(BB.getTerminator()); in eliminateCondBranches_v1()
179 BranchInst *BI = dyn_cast<BranchInst>(BB.getTerminator()); in eliminateCondBranches_v2()
229 if (!match(BB.getTerminator(), in eliminateCondBranches_v3()
245 BranchInst *NewBranch = BranchInst::Create(TakenSucc, BB.getTerminator()); in eliminateCondBranches_v3()
246 BB.getTerminator()->eraseFromParent(); in eliminateCondBranches_v3()
288 I.moveBefore(Pred->getTerminator()); in mergeIntoSinglePredecessor_v1()
292 Pred->getTerminator()->eraseFromParent(); in mergeIntoSinglePredecessor_v1()
339 I.moveBefore(Pred->getTerminator()); in mergeIntoSinglePredecessor_v2()
343 Pred->getTerminator()->eraseFromParent(); in mergeIntoSinglePredecessor_v2()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DJumpThreading.cpp219 BranchInst *CondBr = dyn_cast<BranchInst>(BB->getTerminator()); in updatePredecessorProfileMetadata()
242 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata()
278 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata()
447 << "' with terminator: " << *BB.getTerminator() in runImpl()
458 auto *BI = dyn_cast<BranchInst>(BB.getTerminator()); in runImpl()
547 if (BB->getTerminator() == StopAt) { in getJumpThreadDuplicationCost()
1017 Instruction *BBTerm = BB->getTerminator(); in getBestDestForJumpOnUndef()
1073 Instruction *Terminator = BB->getTerminator(); in processBlock()
1115 Instruction *BBTerm = BB->getTerminator(); in processBlock()
1140 << "' folding terminator: " << *BB->getTerminator() in processBlock()
[all …]
H A DCallSiteSplitting.cpp133 auto *BI = dyn_cast<BranchInst>(From->getTerminator()); in recordCondition()
145 Conditions.push_back({Cmp, From->getTerminator()->getSuccessor(0) == To in recordCondition()
198 if (Preds.size() != 2 || isa<IndirectBrInst>(Preds[0]->getTerminator()) || in canSplitCallSite()
199 isa<IndirectBrInst>(Preds[1]->getTerminator())) in canSplitCallSite()
253 Instruction *TI = SplitBB->getTerminator(); in copyMustTailReturn()
334 cast<CallBase>(&*std::prev(SplitBlock->getTerminator()->getIterator())); in splitCallSite()
368 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.cpp466 auto *TermInst = IncomingBB->getTerminator(); in rewriteFirstIterationLoopExitValues()
703 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in isLoopExitTestBasedOn()
722 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in needsLFTR()
899 Value *Cond = cast<BranchInst>(ExitingBB->getTerminator())->getCondition(); in FindLoopCounter()
947 !mustExecuteUBIfPoisonOnPathTo(Phi, ExitingBB->getTerminator(), DT)) in FindLoopCounter()
1008 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in genLoopLimit()
1051 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in genLoopLimit()
1085 mustExecuteUBIfPoisonOnPathTo(IncVar, ExitingBB->getTerminator(), DT); in linearFunctionTestReplace()
1119 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in linearFunctionTestReplace()
1215 BasicBlock::iterator I(Preheader->getTerminator()); in sinkUnusedInvariants()
[all …]
H A DLoopInterchange.cpp563 dyn_cast<BranchInst>(OuterLoopHeader->getTerminator()); in tightlyNested()
638 dyn_cast<BranchInst>(InnerLoopLatch->getTerminator()); in isLoopStructureUnderstood()
783 !isa<BranchInst>(InnerLoopLatch->getTerminator()) || in currentLimitations()
784 !isa<BranchInst>(OuterLoop->getLoopLatch()->getTerminator())) { in currentLimitations()
1320 InnerLoop->getLoopLatch()->getTerminator(), DT, LI); in transform()
1355 cast<BranchInst>(InnerLoop->getLoopLatch()->getTerminator()) in transform()
1367 if (InnerLoopHeader->getFirstNonPHI() != InnerLoopHeader->getTerminator()) { in transform()
1384 I.moveBefore(OuterLoopHeader->getTerminator()); in transform()
1402 FromBB->getTerminator()->getIterator()); in moveBBContents()
1415 moveBBContents(BB2, BB1->getTerminator()); in swapBBContents()
[all …]
H A DLoopFuse.cpp830 WorkList.emplace_back(Pred->getTerminator()); in peelFusionCandidate()
960 *FC0->GuardBranch->getParent()->getTerminator(), DT, &PDT, in fuseCandidates()
1195 if (&I == FC1Preheader->getTerminator()) in collectMovablePreheaderInsts()
1479 I->moveBefore(FC0.Preheader->getTerminator()); in movePreheaderInsts()
1524 BranchInst *FCLatchBranch = dyn_cast<BranchInst>(FC.Latch->getTerminator()); in simplifyLatchBranch()
1635 FC0.ExitingBlock->getTerminator()->replaceUsesOfWith(FC1.Preheader, in performFusion()
1646 FC0.ExitingBlock->getTerminator()->replaceUsesOfWith(FC0.ExitBlock, in performFusion()
1650 FC0.ExitBlock->getTerminator()->eraseFromParent(); in performFusion()
1658 FC1.Preheader->getTerminator()->eraseFromParent(); in performFusion()
1695 FC0.Latch->getTerminator()->replaceUsesOfWith(FC0.Header, FC1.Header); in performFusion()
[all …]
H A DLoopIdiomRecognize.cpp1118 IRBuilder<> Builder(Preheader->getTerminator()); in processLoopStridedStore()
1142 Expander.expandCodeFor(Start, DestInt8PtrTy, Preheader->getTerminator()); in processLoopStridedStore()
1171 Expander.expandCodeFor(NumBytesS, IntIdxTy, Preheader->getTerminator()); in processLoopStridedStore()
1339 IRBuilder<> Builder(Preheader->getTerminator()); in processLoopStoreOfLoopLoad()
1370 StrStart, Builder.getInt8PtrTy(StrAS), Preheader->getTerminator()); in processLoopStoreOfLoopLoad()
1423 LdStart, Builder.getInt8PtrTy(LdAS), Preheader->getTerminator()); in processLoopStoreOfLoopLoad()
1457 Expander.expandCodeFor(NumBytesS, IntIdxTy, Preheader->getTerminator()); in processLoopStoreOfLoopLoad()
1660 dyn_cast<BranchInst>(LoopEntry->getTerminator()), LoopEntry)) in detectPopcountIdiom()
1735 auto *PreCondBr = dyn_cast<BranchInst>(PreCondBB->getTerminator()); in detectPopcountIdiom()
1789 dyn_cast<BranchInst>(LoopEntry->getTerminator()), LoopEntry)) in detectShiftUntilZeroIdiom()
[all …]
H A DDivRemPairs.cpp293 if (PredBB && !isa<CatchSwitchInst>(PredBB->getTerminator()) && in optimizeDivRem()
294 isGuaranteedToTransferExecutionToSuccessor(PredBB->getTerminator()) && in optimizeDivRem()
301 DivInst->moveBefore(PredBB->getTerminator()); in optimizeDivRem()
304 RemInst->moveBefore(PredBB->getTerminator()); in optimizeDivRem()
/openbsd-src/gnu/llvm/llvm/lib/CodeGen/
H A DHardwareLoops.cpp345 if (!isa<BranchInst>(Pred->getTerminator())) in CanGenerateTest()
348 auto *BI = cast<BranchInst>(Pred->getTerminator()); in CanGenerateTest()
406 cast<BranchInst>(BB->getTerminator())->isUnconditional()) { in InitLoopCount()
410 if (!SCEVE.isSafeToExpandAt(ExitCount, Predecessor->getTerminator())) in InitLoopCount()
416 if (!SCEVE.isSafeToExpandAt(ExitCount, BB->getTerminator())) { in InitLoopCount()
423 BB->getTerminator()); in InitLoopCount()
442 IRBuilder<> Builder(BeginBB->getTerminator()); in InsertIterationSetup()
455 assert((isa<BranchInst>(BeginBB->getTerminator()) && in InsertIterationSetup()
456 cast<BranchInst>(BeginBB->getTerminator())->isConditional()) && in InsertIterationSetup()
461 auto *LoopGuard = cast<BranchInst>(BeginBB->getTerminator()); in InsertIterationSetup()
/openbsd-src/gnu/llvm/llvm/lib/Target/X86/
H A DX86LowerAMXIntrinsics.cpp120 PHINode::Create(I16Ty, 2, Name + ".iv", Header->getTerminator()); in createLoop()
129 BranchInst *PreheaderBr = cast<BranchInst>(Preheader->getTerminator()); in createLoop()
183 B.SetInsertPoint(ColBody->getTerminator()); in createTileLoadStoreLoops()
196 B.SetInsertPoint(RowLoopHeader->getTerminator()); in createTileLoadStoreLoops()
204 B.SetInsertPoint(ColLoopHeader->getTerminator()); in createTileLoadStoreLoops()
213 B.SetInsertPoint(ColBody->getTerminator()); in createTileLoadStoreLoops()
229 B.SetInsertPoint(ColBody->getTerminator()); in createTileLoadStoreLoops()
290 B.SetInsertPoint(ColBody->getTerminator()); in createTileDPLoops()
323 B.SetInsertPoint(RowLoopHeader->getTerminator()); in createTileDPLoops()
340 B.SetInsertPoint(ColLoopHeader->getTerminator()); in createTileDPLoops()
[all …]
/openbsd-src/gnu/llvm/llvm/lib/FuzzMutate/
H A DRandomIRBuilder.cpp83 EntryBB->getTerminator()); in newSource()
84 new StoreInst(newSrc, Alloca, EntryBB->getTerminator()); in newSource()
85 if (BB.getTerminator()) { in newSource()
86 newSrc = new LoadInst(Ty, Alloca, /*ArrLen,*/ "L", BB.getTerminator()); in newSource()
/openbsd-src/gnu/llvm/llvm/lib/IR/
H A DBasicBlock.cpp383 auto *Term = getTerminator(); in isLegalToHoistInto()
406 assert(getTerminator() && "Can't use splitBasicBlock on degenerate BB!"); in splitBasicBlock()
433 assert(getTerminator() && in splitBasicBlockBefore()
459 Instruction *TI = Pred->getTerminator(); in splitBasicBlockBefore()
500 Instruction *TI = getTerminator(); in replaceSuccessorsPhiUsesWith()
522 const Instruction *TI = getTerminator(); in getIrrLoopHeaderWeight()
/openbsd-src/gnu/llvm/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()
793 if (const auto *II = dyn_cast<InvokeInst>(Pred->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()
[all …]

1234567891011