| /freebsd-14.2/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() 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() 289 PBI = cast<BranchInst>(FirstCondBlock->getTerminator()); in FlattenParallelAndOr() 322 Instruction *PTI2 = Head2->getTerminator(); in CompareIfRegionBlock() [all …]
|
| H A D | LoopUnrollRuntime.cpp | 167 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() 602 BranchInst *LatchBR = cast<BranchInst>(Latch->getTerminator()); in UnrollRuntimeLoopRemainder() 716 auto *NewExitTerminator = NewExit->getTerminator(); in UnrollRuntimeLoopRemainder() 764 PreHeaderBR = cast<BranchInst>(PreHeader->getTerminator()); in UnrollRuntimeLoopRemainder() 798 if (hasBranchWeightMD(*Latch->getTerminator())) { in UnrollRuntimeLoopRemainder() [all …]
|
| H A D | BasicBlockUtils.cpp | 196 Instruction *PTI = PredBB->getTerminator(); in MergeBlockIntoPredecessor() 275 Instruction *STI = BB->getTerminator(); in MergeBlockIntoPredecessor() 755 Instruction *LatchTerm = BB->getTerminator(); in SplitEdge() 871 setUnwindEdgeTo(BB->getTerminator(), NewBB); in ehAwareSplitEdge() 1007 Instruction *TI = BB.getTerminator(); in SplitAllCriticalEdges() 1606 return ThenBlock->getTerminator(); in SplitBlockAndInsertIfThen() 1619 return ElseBlock->getTerminator(); in SplitBlockAndInsertIfElse() 1633 *ThenTerm = ThenBlock->getTerminator(); in SplitBlockAndInsertIfThenElse() 1634 *ElseTerm = ElseBlock->getTerminator(); in SplitBlockAndInsertIfThenElse() 1736 LoopBody->getTerminator()->eraseFromParent(); in SplitBlockAndInsertSimpleForLoop() [all …]
|
| H A D | UnifyFunctionExitNodes.cpp | 28 if (isa<UnreachableInst>(I.getTerminator())) in unifyUnreachableBlocks() 50 if (isa<ReturnInst>(I.getTerminator())) in unifyReturnBlocks() 79 PN->addIncoming(BB->getTerminator()->getOperand(0), BB); in unifyReturnBlocks()
|
| H A D | BreakCriticalEdges.cpp | 158 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 D | LoopSimplify.cpp | 130 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() 636 BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in simplifyOneLoop() 651 Preheader ? Preheader->getTerminator() : nullptr, MSSAU, SE)) { in simplifyOneLoop() 884 if (isa<IndirectBrInst>(Pred->getTerminator())) { [all …]
|
| H A D | LoopVersioning.cpp | 67 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 D | LoopPeel.cpp | 289 return !isa<UnreachableInst>(BB->getTerminator()); in peelToTurnInvariantLoadsDerefencebale() 328 return LoadUsers.contains(Exiting->getTerminator()); in peelToTurnInvariantLoadsDerefencebale() 458 auto *BI = dyn_cast<BranchInst>(BB->getTerminator()); in countToEliminateCompares() 481 BranchInst *LatchBR = dyn_cast<BranchInst>(Latch->getTerminator()); in violatesLegacyMultiExitLoopCheck() 662 Instruction *Term = ExitingBlock->getTerminator(); in initBranchWeights() 771 InsertTop->getTerminator()->setSuccessor(0, cast<BasicBlock>(VMap[Header])); in cloneLoopBlocks() 779 auto *LatchTerm = cast<Instruction>(NewLatch->getTerminator()); in cloneLoopBlocks() 962 SplitBlock(InsertTop, InsertTop->getTerminator(), &DT, LI); in peelLoop() 964 SplitBlock(InsertBot, InsertBot->getTerminator(), &DT, LI); in peelLoop() 971 cast<Instruction>(cast<BasicBlock>(Latch)->getTerminator()); in peelLoop() [all …]
|
| H A D | LoopUnrollAndJam.cpp | 89 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 D | LoopRotationUtils.cpp | 215 BranchInst *BI = dyn_cast<BranchInst>(Header->getTerminator()); in profitableToRotateLoopExitingLatch() 241 BranchInst *BI = dyn_cast<BranchInst>(Latch->getTerminator()); in canRotateDeoptimizingLatchExit() 416 BranchInst *BI = dyn_cast<BranchInst>(OrigHeader->getTerminator()); in rotateLoop() 538 Instruction *LoopEntryBranch = OrigPreheader->getTerminator(); in rotateLoop() 567 OrigPreheader->getTerminator()->getDbgValueRange()) in rotateLoop() 815 BranchInst *PHBI = cast<BranchInst>(OrigPreheader->getTerminator()); in rotateLoop() 846 isa<IndirectBrInst>(ExitPred->getTerminator())) in rotateLoop() 991 BranchInst *Jmp = dyn_cast<BranchInst>(Latch->getTerminator()); in simplifyLoopLatch() 999 BranchInst *BI = dyn_cast<BranchInst>(LastExit->getTerminator()); in simplifyLoopLatch()
|
| /freebsd-14.2/contrib/llvm-project/llvm/tools/llvm-stress/ |
| H A D | llvm-stress.cpp | 345 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() 663 BB->getTerminator()); in Act() 719 Instr->moveBefore(Curr->getTerminator()); in IntroduceControlFlow() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUUnifyDivergentExitNodes.cpp | 128 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-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | JumpThreading.cpp | 454 if (BB->getTerminator() == StopAt) { in getJumpThreadDuplicationCost() 931 Instruction *BBTerm = BB->getTerminator(); in getBestDestForJumpOnUndef() 987 Instruction *Terminator = BB->getTerminator(); in processBlock() 1029 Instruction *BBTerm = BB->getTerminator(); in processBlock() 1403 if (isa<IndirectBrInst>(P->getTerminator())) in simplifyPartiallyRedundantLoad() 1424 UnavailablePred->getTerminator()); in simplifyPartiallyRedundantLoad() 1657 Instruction *Term = BB->getTerminator(); in processThreadableEdges() 1723 MostPopularDest = BB->getTerminator()-> in processThreadableEdges() 2199 if (isa<IndirectBrInst>(P->getTerminator())) in maybethreadThroughTwoBasicBlocks() 2514 const Instruction *TI = BB->getTerminator(); in doesBlockHaveProfileData() [all …]
|
| H A D | CallSiteSplitting.cpp | 131 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 D | IndVarSimplify.cpp | 454 auto *TermInst = IncomingBB->getTerminator(); in rewriteFirstIterationLoopExitValues() 691 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in isLoopExitTestBasedOn() 930 ExitingBB->getTerminator()); in genLoopLimit() 1091 BasicBlock::iterator I(Preheader->getTerminator()); in sinkUnusedInvariants() 1240 Rewriter.setInsertPoint(Preheader->getTerminator()); in createInvariantCond() 1246 IRBuilder<> Builder(Preheader->getTerminator()); in createInvariantCond() 1261 auto *BI = cast<BranchInst>(ExitingBB->getTerminator()); in createReplacement() 1634 auto *BI = cast<BranchInst>(ExitingBB->getTerminator()); in optimizeLoopExits() 1847 IRBuilder<> B(L->getLoopPreheader()->getTerminator()); in predicateLoopExits() 1852 auto *BI = cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits() [all …]
|
| H A D | LoopInterchange.cpp | 558 dyn_cast<BranchInst>(OuterLoopHeader->getTerminator()); in tightlyNested() 633 dyn_cast<BranchInst>(InnerLoopLatch->getTerminator()); in isLoopStructureUnderstood() 777 !isa<BranchInst>(InnerLoopLatch->getTerminator()) || in currentLimitations() 1377 I.moveBeforePreserving(OuterLoopHeader->getTerminator()); in transform() 1395 FromBB->getTerminator()->getIterator()); in moveBBContents() 1408 moveBBContents(BB2, BB1->getTerminator()); in swapBBContents() 1412 I->insertBefore(BB2->getTerminator()); in swapBBContents() 1574 dyn_cast<BranchInst>(OuterLoopLatch->getTerminator()); in adjustLoopBranches() 1576 dyn_cast<BranchInst>(InnerLoopLatch->getTerminator()); in adjustLoopBranches() 1578 dyn_cast<BranchInst>(OuterLoopHeader->getTerminator()); in adjustLoopBranches() [all …]
|
| H A D | LoopIdiomRecognize.cpp | 1020 IRBuilder<> Builder(Preheader->getTerminator()); in processLoopStridedStore() 1254 IRBuilder<> Builder(Preheader->getTerminator()); in processLoopStoreOfLoopLoad() 1880 if (!PH || &PH->front() != PH->getTerminator()) in recognizePopcount() 2024 auto *LbBr = cast<BranchInst>(Body->getTerminator()); in transformLoopToCountable() 2226 if (!match(LoopHeaderBB->getTerminator(), in detectShiftUntilBitTestIdiom() 2379 IRBuilder<> Builder(LoopPreheaderBB->getTerminator()); in recognizeShiftUntilBitTest() 2501 Builder.SetInsertPoint(LoopHeaderBB->getTerminator()); in recognizeShiftUntilBitTest() 2510 LoopHeaderBB->getTerminator()->eraseFromParent(); in recognizeShiftUntilBitTest() 2585 if (!match(LoopHeaderBB->getTerminator(), in detectShiftUntilZeroIdiom() 2752 IRBuilder<> Builder(LoopPreheaderBB->getTerminator()); in recognizeShiftUntilZero() [all …]
|
| H A D | LoopFuse.cpp | 827 WorkList.emplace_back(Pred->getTerminator()); in peelFusionCandidate() 1192 if (&I == FC1Preheader->getTerminator()) in collectMovablePreheaderInsts() 1477 FC0.Preheader->getTerminator()->getIterator()); in movePreheaderInsts() 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() 1871 FC0ExitBlockSuccessor->getTerminator()->eraseFromParent(); in fuseGuardedLoops() 1917 FC0.ExitingBlock->getTerminator()->replaceUsesOfWith(FC0.ExitBlock, in fuseGuardedLoops() 1933 FC0.ExitBlock->getTerminator()->eraseFromParent(); in fuseGuardedLoops() [all …]
|
| H A D | DivRemPairs.cpp | 290 if (PredBB && !isa<CatchSwitchInst>(PredBB->getTerminator()) && in optimizeDivRem() 291 isGuaranteedToTransferExecutionToSuccessor(PredBB->getTerminator()) && in optimizeDivRem() 298 DivInst->moveBefore(PredBB->getTerminator()); in optimizeDivRem() 301 RemInst->moveBefore(PredBB->getTerminator()); in optimizeDivRem()
|
| H A D | LoopPredication.cpp | 487 return Preheader->getTerminator(); in findInsertPt() 498 !Expander.isSafeToExpandAt(Op, Preheader->getTerminator())) in findInsertPt() 500 return Preheader->getTerminator(); in findInsertPt() 817 auto *BI = dyn_cast<BranchInst>(LoopLatch->getTerminator()); in parseLoopLatchICmp() 893 auto *LatchTerm = LatchBlock->getTerminator(); in isLoopProfitableToPredicate() 918 auto *Term = ExitingBlock->getTerminator(); in isLoopProfitableToPredicate() 994 if (auto *BI = dyn_cast<BranchInst>(Pred->getTerminator())) in FindWidenableTerminatorAboveLoop() 1080 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits() 1125 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits() 1232 isGuardAsWidenableBranch(BB->getTerminator())) in runOnLoop() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | HardwareLoops.cpp | 407 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() 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()
|
| H A D | MachineLoopInfo.cpp | 105 if (DebugLoc DL = PHeadBB->getTerminator()->getDebugLoc()) in getStartLoc() 112 return HeadBB->getTerminator()->getDebugLoc(); in getStartLoc() 162 if (const auto *TI = BB->getTerminator()) in getLoopID() 174 const auto *TI = BB->getTerminator(); in getLoopID()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86LowerAMXIntrinsics.cpp | 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() 350 B.SetInsertPoint(InnerLoopHeader->getTerminator()); in createTileDPLoops() 354 B.SetInsertPoint(InnerBody->getTerminator()); in createTileDPLoops() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | BranchProbabilityInfo.cpp | 380 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() 1179 assert(Src->getTerminator()->getNumSuccessors() == 2); in swapSuccEdgesProbabilities() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
| H A D | HotColdSplitting.cpp | 107 const Instruction *I = BB.getTerminator(); in blockEndsInUnreachable() 115 BranchInst *CondBr = dyn_cast<BranchInst>(BB->getTerminator()); in analyzeProfMetadata() 139 if (BB.isEHPad() || isa<ResumeInst>(BB.getTerminator())) in unlikelyExecuted() 154 dyn_cast_or_null<CallInst>(BB.getTerminator()->getPrevNode())) in unlikelyExecuted() 173 auto Term = BB.getTerminator(); in mayExtractBlock() 277 if (&I != BB->getTerminator()) in getOutliningBenefit() 303 NoBlocksReturn &= isa<UnreachableInst>(BB->getTerminator()); in getOutliningPenalty()
|