| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LCSSA.cpp | 157 for (BasicBlock *ExitBB : ExitBlocks) { in formLCSSAForInstructionsImpl() 158 if (!DT.dominates(DomNode, DT.getNode(ExitBB))) in formLCSSAForInstructionsImpl() 162 if (SSAUpdate.HasValueForBlock(ExitBB)) in formLCSSAForInstructionsImpl() 164 PHINode *PN = PHINode::Create(I->getType(), PredCache.size(ExitBB), in formLCSSAForInstructionsImpl() 166 PN->insertBefore(ExitBB->begin()); in formLCSSAForInstructionsImpl() 177 for (BasicBlock *Pred : PredCache.get(ExitBB)) { in formLCSSAForInstructionsImpl() 192 SSAUpdate.AddAvailableValue(ExitBB, PN); in formLCSSAForInstructionsImpl() 202 if (auto *OtherLoop = LI.getLoopFor(ExitBB)) in formLCSSAForInstructionsImpl()
|
| H A D | LowerMemIntrinsics.cpp | 497 BasicBlock *ExitBB = InsertBefore->getParent(); in createMemMoveLoopUnknownSize() local 498 ExitBB->setName("memmove_done"); in createMemMoveLoopUnknownSize() 574 ExitBB, MainLoopBB); in createMemMoveLoopUnknownSize() 580 BranchInst::Create(ExitBB, MainLoopBB, SkipMainCondition, in createMemMoveLoopUnknownSize() 589 BasicBlock::Create(F->getContext(), "memmove_fwd_main_loop", F, ExitBB); in createMemMoveLoopUnknownSize() 606 BasicBlock *SuccessorBB = ExitBB; in createMemMoveLoopUnknownSize() 609 BasicBlock::Create(F->getContext(), "memmove_fwd_middle", F, ExitBB); in createMemMoveLoopUnknownSize() 625 F->getContext(), "memmove_fwd_residual_loop", F, ExitBB); in createMemMoveLoopUnknownSize() 626 IntermediateBuilder.CreateCondBr(SkipResidualCondition, ExitBB, in createMemMoveLoopUnknownSize() 645 ResidualLoopBuilder.CreateICmpEQ(ResidualIndex, CopyLen), ExitBB, in createMemMoveLoopUnknownSize() [all …]
|
| H A D | CodeExtractor.cpp | 769 for (BasicBlock *ExitBB : ExtractedFuncRetVals) { in severSplitPHINodesOfExits() 772 for (PHINode &PN : ExitBB->phis()) { in severSplitPHINodesOfExits() 788 NewBB = BasicBlock::Create(ExitBB->getContext(), in severSplitPHINodesOfExits() 789 ExitBB->getName() + ".split", in severSplitPHINodesOfExits() 790 ExitBB->getParent(), ExitBB); in severSplitPHINodesOfExits() 791 SmallVector<BasicBlock *, 4> Preds(predecessors(ExitBB)); in severSplitPHINodesOfExits() 794 PredBB->getTerminator()->replaceUsesOfWith(ExitBB, NewBB); in severSplitPHINodesOfExits() 795 BranchInst::Create(ExitBB, NewBB); in severSplitPHINodesOfExits() 2048 for (BasicBlock *ExitBB : ExtractedFuncRetVals) in insertReplacerCall() 2049 for (PHINode &PN : ExitBB->phis()) { in insertReplacerCall()
|
| H A D | LoopUnrollRuntime.cpp | 1000 auto *ExitBB = RemainderLatch->getSingleSuccessor(); in UnrollRuntimeLoopRemainder() local 1001 assert(ExitBB && "required after breaking cond br backedge"); in UnrollRuntimeLoopRemainder() 1003 MergeBlockIntoPredecessor(ExitBB, &DTU, LI); in UnrollRuntimeLoopRemainder()
|
| H A D | LoopUtils.cpp | 744 BasicBlock *ExitBB = BI->getSuccessor(ExitIdx); in breakLoopBackedge() local 750 auto *NewBI = Builder.CreateBr(ExitBB); in breakLoopBackedge() 1572 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues() 1575 PHINode *PN = dyn_cast<PHINode>(ExitBB->begin()); in rewriteLoopExitValues() 1581 BasicBlock::iterator BBI = ExitBB->begin(); in rewriteLoopExitValues()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | SimpleLoopUnswitch.cpp | 254 const BasicBlock &ExitBB) { in areLoopExitPHIsLoopInvariant() argument 255 for (const Instruction &I : ExitBB) { in areLoopExitPHIsLoopInvariant() 369 static void rewritePHINodesForExitAndUnswitchedBlocks(BasicBlock &ExitBB, in rewritePHINodesForExitAndUnswitchedBlocks() argument 374 assert(&ExitBB != &UnswitchedBB && in rewritePHINodesForExitAndUnswitchedBlocks() 377 for (PHINode &PN : ExitBB.phis()) { in rewritePHINodesForExitAndUnswitchedBlocks() 406 NewPN->addIncoming(&PN, &ExitBB); in rewritePHINodesForExitAndUnswitchedBlocks() 426 for (auto *ExitBB : Exits) in hoistLoopToNewParent() local 427 if (Loop *ExitL = LI.getLoopFor(ExitBB)) in hoistLoopToNewParent() 486 static Loop *getTopMostExitingLoop(const BasicBlock *ExitBB, in getTopMostExitingLoop() argument 488 Loop *TopMost = LI.getLoopFor(ExitBB); in getTopMostExitingLoop() [all …]
|
| H A D | LoopUnrollPass.cpp | 657 BasicBlock *ExitingBB, *ExitBB; in analyzeLoopUnrollCost() local 658 std::tie(ExitingBB, ExitBB) = ExitWorklist.pop_back_val(); in analyzeLoopUnrollCost() 660 for (Instruction &I : *ExitBB) { in analyzeLoopUnrollCost()
|
| H A D | LoopPredication.cpp | 1139 BasicBlock *ExitBB = BI->getSuccessor(ExitIfTrue ? 0 : 1); in predicateLoopExits() local 1140 if (!ExitBB->getPostdominatingDeoptimizeCall()) in predicateLoopExits()
|
| H A D | LICM.cpp | 1499 BasicBlock *ExitBB = PN->getParent(); in splitPredecessorsOfLoopExit() local 1500 assert(ExitBlockSet.count(ExitBB) && "Expect the PHI is in an exit block."); in splitPredecessorsOfLoopExit() 1535 SmallSetVector<BasicBlock *, 8> PredBBs(pred_begin(ExitBB), pred_end(ExitBB)); in splitPredecessorsOfLoopExit() 1543 ExitBB, PredBB, ".split.loop.exit", &DTU, LI, MSSAU, true); in splitPredecessorsOfLoopExit()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
| H A D | CrossDSOCFI.cpp | 108 BasicBlock *ExitBB = BasicBlock::Create(Ctx, "exit", F); in buildCFICheck() local 116 IRBFail.CreateBr(ExitBB); in buildCFICheck() 118 IRBuilder<> IRBExit(ExitBB); in buildCFICheck() 132 BranchInst *BI = IRBTest.CreateCondBr(Test, ExitBB, TrapBB); in buildCFICheck()
|
| H A D | HotColdSplitting.cpp | 335 for (BasicBlock *ExitBB : SuccsOutsideRegion) { in getOutliningPenalty() 336 for (PHINode &PN : ExitBB->phis()) { in getOutliningPenalty()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUCtorDtorLowering.cpp | 78 auto *ExitBB = BasicBlock::Create(C, "while.end", &F); in createInitOrFiniCalls() local 131 LoopBB, ExitBB); in createInitOrFiniCalls() 142 IRB.CreateCondBr(EndCmp, ExitBB, LoopBB); in createInitOrFiniCalls() 143 IRB.SetInsertPoint(ExitBB); in createInitOrFiniCalls()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/ |
| H A D | NVPTXCtorDtorLowering.cpp | 102 auto *ExitBB = BasicBlock::Create(C, "while.end", &F); in createInitOrFiniCalls() local 158 LoopBB, ExitBB); in createInitOrFiniCalls() 170 IRB.CreateCondBr(EndCmp, ExitBB, LoopBB); in createInitOrFiniCalls() 171 IRB.SetInsertPoint(ExitBB); in createInitOrFiniCalls()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | AtomicExpandPass.cpp | 1272 BasicBlock *ExitBB = in insertRMWLLSCLoop() local 1274 BasicBlock *LoopBB = BasicBlock::Create(Ctx, "atomicrmw.start", F, ExitBB); in insertRMWLLSCLoop() 1292 Builder.CreateCondBr(TryAgain, LoopBB, ExitBB); in insertRMWLLSCLoop() 1294 Builder.SetInsertPoint(ExitBB, ExitBB->begin()); in insertRMWLLSCLoop() 1419 BasicBlock *ExitBB = BB->splitBasicBlock(CI->getIterator(), "cmpxchg.end"); in expandAtomicCmpXchg() local 1420 auto FailureBB = BasicBlock::Create(Ctx, "cmpxchg.failure", F, ExitBB); in expandAtomicCmpXchg() 1501 Builder.CreateBr(ExitBB); in expandAtomicCmpXchg() 1524 Builder.CreateBr(ExitBB); in expandAtomicCmpXchg() 1530 Builder.SetInsertPoint(ExitBB, ExitBB->begin()); in expandAtomicCmpXchg() 1543 Builder.SetInsertPoint(ExitBB, std::next(Success->getIterator())); in expandAtomicCmpXchg() [all …]
|
| H A D | Analysis.cpp | 537 const BasicBlock *ExitBB = Call.getParent(); in isInTailCallPosition() local 538 const Instruction *Term = ExitBB->getTerminator(); in isInTailCallPosition() 558 for (BasicBlock::const_iterator BBI = std::prev(ExitBB->end(), 2);; --BBI) { in isInTailCallPosition() 578 const Function *F = ExitBB->getParent(); in isInTailCallPosition()
|
| /freebsd/contrib/llvm-project/llvm/lib/Frontend/OpenMP/ |
| H A D | OMPIRBuilder.cpp | 717 << " Exit: " << OI.ExitBB->getName() << "\n"); in finalize() 1628 OI.ExitBB = PRegExitBB; in createParallel() 1947 OI.ExitBB = TaskExitBB; in createTask() 2329 auto *ExitBB = CondBB->getTerminator()->getSuccessor(1); in createSection() local 2330 Instruction *I = Builder.CreateBr(ExitBB); in createSection() 2456 BasicBlock *ExitBB = BasicBlock::Create(M.getContext(), ".shuffle.exit"); in shuffleAndStore() local 2472 ExitBB); in shuffleAndStore() 2488 emitBlock(ExitBB, CurFunc); in shuffleAndStore() 2711 BasicBlock *ExitBB = nullptr; in emitInterWarpCopyFunction() local 2725 ExitBB = BasicBlock::Create(Ctx, "exit"); in emitInterWarpCopyFunction() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
| H A D | CGAtomic.cpp | 1817 auto *ExitBB = CGF.createBasicBlock("atomic_exit"); in EmitAtomicUpdateLibcall() local 1833 CGF.Builder.CreateCondBr(Res, ExitBB, ContBB); in EmitAtomicUpdateLibcall() 1834 CGF.EmitBlock(ExitBB, /*IsFinished=*/true); in EmitAtomicUpdateLibcall() 1846 auto *ExitBB = CGF.createBasicBlock("atomic_exit"); in EmitAtomicUpdateOp() local 1870 CGF.Builder.CreateCondBr(Res.second, ExitBB, ContBB); in EmitAtomicUpdateOp() 1871 CGF.EmitBlock(ExitBB, /*IsFinished=*/true); in EmitAtomicUpdateOp() 1908 auto *ExitBB = CGF.createBasicBlock("atomic_exit"); in EmitAtomicUpdateLibcall() local 1921 CGF.Builder.CreateCondBr(Res, ExitBB, ContBB); in EmitAtomicUpdateLibcall() 1922 CGF.EmitBlock(ExitBB, /*IsFinished=*/true); in EmitAtomicUpdateLibcall() 1933 auto *ExitBB = CGF.createBasicBlock("atomic_exit"); in EmitAtomicUpdateOp() local [all …]
|
| H A D | CGNonTrivialStruct.cpp | 396 llvm::BasicBlock *ExitBB = CGF.createBasicBlock("loop.exit"); in visitArray() local 403 CGF.Builder.CreateCondBr(Done, ExitBB, LoopBB); in visitArray() 431 CGF.EmitBlock(ExitBB); in visitArray()
|
| /freebsd/contrib/llvm-project/llvm/lib/Frontend/Offloading/ |
| H A D | OffloadWrapper.cpp | 405 auto *ExitBB = BasicBlock::Create(C, "while.end", RegGlobalsFn); in createRegisterGlobalsFunction() local 408 Builder.CreateCondBr(EntryCmp, EntryBB, ExitBB); in createRegisterGlobalsFunction() 540 Builder.CreateCondBr(Cmp, ExitBB, EntryBB); in createRegisterGlobalsFunction() 541 Builder.SetInsertPoint(ExitBB); in createRegisterGlobalsFunction()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlan.cpp | 433 PrevBB->getParent(), CFG.ExitBB); in createEmptyBasicBlock() 999 State->CFG.ExitBB = State->CFG.PrevBB->getSingleSuccessor(); in execute() 1009 {{DominatorTree::Delete, VectorPreHeader, State->CFG.ExitBB}}); in execute() 1019 BasicBlock *ScalarPh = State->CFG.ExitBB; in execute()
|
| H A D | VPlanHelpers.h | 307 BasicBlock *ExitBB = nullptr; member
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | LoopInfo.h | 539 const BasicBlock *ExitBB) const;
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/ |
| H A D | ObjCARCOpts.cpp | 1695 for (BasicBlock &ExitBB : F) { in ComputePostOrders() 1696 BBState &MyStates = BBStates[&ExitBB]; in ComputePostOrders() 1702 PredStack.push_back(std::make_pair(&ExitBB, MyStates.pred_begin())); in ComputePostOrders() 1703 Visited.insert(&ExitBB); in ComputePostOrders()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
| H A D | GCOVProfiling.cpp | 1232 auto *ExitBB = BasicBlock::Create(*Ctx, "exit", WriteoutF); in insertCounterWriteout() local 1326 Builder.CreateCondBr(FileLoopCond, FileLoopHeader, ExitBB); in insertCounterWriteout() 1329 Builder.SetInsertPoint(ExitBB); in insertCounterWriteout()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | LoopInfo.cpp | 944 const Value *V, const BasicBlock *ExitBB) const { in wouldBeOutOfLoopUseRequiringLCSSA() 956 if (L->contains(ExitBB)) in wouldBeOutOfLoopUseRequiringLCSSA()
|