/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | LCSSA.cpp | 155 for (BasicBlock *ExitBB : ExitBlocks) { in formLCSSAForInstructions() 156 if (!DT.dominates(DomNode, DT.getNode(ExitBB))) in formLCSSAForInstructions() 160 if (SSAUpdate.HasValueForBlock(ExitBB)) in formLCSSAForInstructions() 162 PHINode *PN = PHINode::Create(I->getType(), PredCache.size(ExitBB), in formLCSSAForInstructions() 164 PN->insertBefore(ExitBB->begin()); in formLCSSAForInstructions() 175 for (BasicBlock *Pred : PredCache.get(ExitBB)) { in formLCSSAForInstructions() 190 SSAUpdate.AddAvailableValue(ExitBB, PN); in formLCSSAForInstructions() 200 if (auto *OtherLoop = LI.getLoopFor(ExitBB)) in formLCSSAForInstructions()
|
H A D | LowerMemIntrinsics.cpp | 405 BasicBlock *ExitBB = InsertBefore->getParent(); in createMemMoveLoop() local 406 ExitBB->setName("memmove_done"); in createMemMoveLoop() 434 ExitBB, LoopBB); in createMemMoveLoop() 437 BranchInst::Create(ExitBB, LoopBB, CompareN, ThenTerm->getIterator()); in createMemMoveLoop() 442 BasicBlock::Create(F->getContext(), "copy_forward_loop", F, ExitBB); in createMemMoveLoop() 454 ExitBB, FwdLoopBB); in createMemMoveLoop() 458 BranchInst::Create(ExitBB, FwdLoopBB, CompareN, ElseTerm->getIterator()); in createMemMoveLoop()
|
H A D | CodeExtractor.cpp | 749 for (BasicBlock *ExitBB : Exits) { in severSplitPHINodesOfExits() 752 for (PHINode &PN : ExitBB->phis()) { in severSplitPHINodesOfExits() 768 NewBB = BasicBlock::Create(ExitBB->getContext(), in severSplitPHINodesOfExits() 769 ExitBB->getName() + ".split", in severSplitPHINodesOfExits() 770 ExitBB->getParent(), ExitBB); in severSplitPHINodesOfExits() 771 NewBB->IsNewDbgInfoFormat = ExitBB->IsNewDbgInfoFormat; in severSplitPHINodesOfExits() 772 SmallVector<BasicBlock *, 4> Preds(predecessors(ExitBB)); in severSplitPHINodesOfExits() 775 PredBB->getTerminator()->replaceUsesOfWith(ExitBB, NewBB); in severSplitPHINodesOfExits() 776 BranchInst::Create(ExitBB, NewBB); in severSplitPHINodesOfExits() 1899 for (BasicBlock *ExitBB : ExitBlocks) in extractCodeRegion() [all …]
|
H A D | LoopUnrollRuntime.cpp | 997 auto *ExitBB = RemainderLatch->getSingleSuccessor(); in UnrollRuntimeLoopRemainder() local 998 assert(ExitBB && "required after breaking cond br backedge"); in UnrollRuntimeLoopRemainder() 1000 MergeBlockIntoPredecessor(ExitBB, &DTU, LI); in UnrollRuntimeLoopRemainder()
|
H A D | LoopUtils.cpp | 757 BasicBlock *ExitBB = BI->getSuccessor(ExitIdx); in breakLoopBackedge() local 763 auto *NewBI = Builder.CreateBr(ExitBB); in breakLoopBackedge() 1506 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues() 1509 PHINode *PN = dyn_cast<PHINode>(ExitBB->begin()); in rewriteLoopExitValues() 1515 BasicBlock::iterator BBI = ExitBB->begin(); in rewriteLoopExitValues()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUCtorDtorLowering.cpp | 78 auto *ExitBB = BasicBlock::Create(C, "while.end", &F); in createInitOrFiniCalls() 128 LoopBB, ExitBB); in createInitOrFiniKernel() 140 IRB.CreateCondBr(EndCmp, ExitBB, LoopBB); 141 IRB.SetInsertPoint(ExitBB); 69 auto *ExitBB = BasicBlock::Create(C, "while.end", &F); createInitOrFiniCalls() local
|
/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() 363 static void rewritePHINodesForExitAndUnswitchedBlocks(BasicBlock &ExitBB, in rewritePHINodesForExitAndUnswitchedBlocks() argument 368 assert(&ExitBB != &UnswitchedBB && in rewritePHINodesForExitAndUnswitchedBlocks() 371 for (PHINode &PN : ExitBB.phis()) { in rewritePHINodesForExitAndUnswitchedBlocks() 400 NewPN->addIncoming(&PN, &ExitBB); in rewritePHINodesForExitAndUnswitchedBlocks() 420 for (auto *ExitBB : Exits) in hoistLoopToNewParent() local 421 if (Loop *ExitL = LI.getLoopFor(ExitBB)) in hoistLoopToNewParent() 480 static Loop *getTopMostExitingLoop(const BasicBlock *ExitBB, in getTopMostExitingLoop() argument 482 Loop *TopMost = LI.getLoopFor(ExitBB); in getTopMostExitingLoop() [all …]
|
H A D | LoopUnrollPass.cpp | 656 BasicBlock *ExitingBB, *ExitBB; in analyzeLoopUnrollCost() local 657 std::tie(ExitingBB, ExitBB) = ExitWorklist.pop_back_val(); in analyzeLoopUnrollCost() 659 for (Instruction &I : *ExitBB) { in analyzeLoopUnrollCost()
|
H A D | LICM.cpp | 1567 BasicBlock *ExitBB = PN->getParent(); in splitPredecessorsOfLoopExit() local 1568 assert(ExitBlockSet.count(ExitBB) && "Expect the PHI is in an exit block."); in splitPredecessorsOfLoopExit() 1603 SmallSetVector<BasicBlock *, 8> PredBBs(pred_begin(ExitBB), pred_end(ExitBB)); in splitPredecessorsOfLoopExit() 1610 ExitBB, PredBB, ".split.loop.exit", DT, LI, MSSAU, true); in splitPredecessorsOfLoopExit()
|
H A D | LoopPredication.cpp | 1140 BasicBlock *ExitBB = BI->getSuccessor(ExitIfTrue ? 0 : 1); in predicateLoopExits() 1141 if (!ExitBB->getPostdominatingDeoptimizeCall()) in predicateLoopExits() 1223 BasicBlock *ExitBB = BI->getSuccessor(ExitIfTrue ? 0 : 1); predicateLoopExits() local
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | CrossDSOCFI.cpp | 109 BasicBlock *ExitBB = BasicBlock::Create(Ctx, "exit", F); in buildCFICheck() local 117 IRBFail.CreateBr(ExitBB); in buildCFICheck() 119 IRBuilder<> IRBExit(ExitBB); in buildCFICheck() 133 BranchInst *BI = IRBTest.CreateCondBr(Test, ExitBB, TrapBB); in buildCFICheck()
|
H A D | HotColdSplitting.cpp | 336 for (BasicBlock *ExitBB : SuccsOutsideRegion) { in getOutliningPenalty() 337 for (PHINode &PN : ExitBB->phis()) { in getOutliningPenalty()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/ |
H A D | NVPTXCtorDtorLowering.cpp | 134 auto *ExitBB = BasicBlock::Create(C, "while.end", &F); in createInitOrFiniCalls() local 190 LoopBB, ExitBB); in createInitOrFiniCalls() 202 IRB.CreateCondBr(EndCmp, ExitBB, LoopBB); in createInitOrFiniCalls() 203 IRB.SetInsertPoint(ExitBB); in createInitOrFiniCalls()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | AtomicExpandPass.cpp | 1223 BasicBlock *ExitBB = in insertRMWLLSCLoop() local 1225 BasicBlock *LoopBB = BasicBlock::Create(Ctx, "atomicrmw.start", F, ExitBB); in insertRMWLLSCLoop() 1243 Builder.CreateCondBr(TryAgain, LoopBB, ExitBB); in insertRMWLLSCLoop() 1245 Builder.SetInsertPoint(ExitBB, ExitBB->begin()); in insertRMWLLSCLoop() 1370 BasicBlock *ExitBB = BB->splitBasicBlock(CI->getIterator(), "cmpxchg.end"); in expandAtomicCmpXchg() local 1371 auto FailureBB = BasicBlock::Create(Ctx, "cmpxchg.failure", F, ExitBB); in expandAtomicCmpXchg() 1452 Builder.CreateBr(ExitBB); in expandAtomicCmpXchg() 1475 Builder.CreateBr(ExitBB); in expandAtomicCmpXchg() 1481 Builder.SetInsertPoint(ExitBB, ExitBB->begin()); in expandAtomicCmpXchg() 1494 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() 577 const Function *F = ExitBB->getParent(); in isInTailCallPosition()
|
H A D | MachineBlockPlacement.cpp | 530 const MachineBasicBlock *ExitBB, 2023 const MachineBasicBlock *ExitBB, in FallThroughGains() argument 2027 if (ExitBB) in FallThroughGains() 2029 MBPI->getEdgeProbability(NewTop, ExitBB); in FallThroughGains()
|
/freebsd/contrib/llvm-project/llvm/lib/Frontend/OpenMP/ |
H A D | OMPIRBuilder.cpp | 699 << " Exit: " << OI.ExitBB->getName() << "\n"); in finalize() 1510 OI.ExitBB = PRegExitBB; in createParallel() 1819 OI.ExitBB = TaskExitBB; in createTask() 2081 auto *ExitBB = CondBB->getTerminator()->getSuccessor(1); in createSections() local 2082 Instruction *I = Builder.CreateBr(ExitBB); in createSections() 2173 auto *ExitBB = CondBB->getTerminator()->getSuccessor(1); in createSection() local 2174 Instruction *I = Builder.CreateBr(ExitBB); in createSection() 2322 BasicBlock *ExitBB = BasicBlock::Create(M.getContext(), ".shuffle.exit"); in shuffleAndStore() local 2338 ExitBB); in shuffleAndStore() 2354 emitBlock(ExitBB, CurFunc); in shuffleAndStore() [all …]
|
/freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | CGAtomic.cpp | 1773 auto *ExitBB = CGF.createBasicBlock("atomic_exit"); in EmitAtomicUpdateLibcall() local 1789 CGF.Builder.CreateCondBr(Res, ExitBB, ContBB); in EmitAtomicUpdateLibcall() 1790 CGF.EmitBlock(ExitBB, /*IsFinished=*/true); in EmitAtomicUpdateLibcall() 1802 auto *ExitBB = CGF.createBasicBlock("atomic_exit"); in EmitAtomicUpdateOp() local 1826 CGF.Builder.CreateCondBr(Res.second, ExitBB, ContBB); in EmitAtomicUpdateOp() 1827 CGF.EmitBlock(ExitBB, /*IsFinished=*/true); in EmitAtomicUpdateOp() 1864 auto *ExitBB = CGF.createBasicBlock("atomic_exit"); in EmitAtomicUpdateLibcall() local 1877 CGF.Builder.CreateCondBr(Res, ExitBB, ContBB); in EmitAtomicUpdateLibcall() 1878 CGF.EmitBlock(ExitBB, /*IsFinished=*/true); in EmitAtomicUpdateLibcall() 1889 auto *ExitBB = CGF.createBasicBlock("atomic_exit"); in EmitAtomicUpdateOp() local [all …]
|
H A D | CGNonTrivialStruct.cpp | 383 llvm::BasicBlock *ExitBB = CGF.createBasicBlock("loop.exit"); in visitArray() local 390 CGF.Builder.CreateCondBr(Done, ExitBB, LoopBB); in visitArray() 418 CGF.EmitBlock(ExitBB); in visitArray()
|
/freebsd/contrib/llvm-project/llvm/lib/Frontend/Offloading/ |
H A D | OffloadWrapper.cpp | 391 auto *ExitBB = BasicBlock::Create(C, "while.end", RegGlobalsFn); in createRegisterGlobalsFunction() local 394 Builder.CreateCondBr(EntryCmp, EntryBB, ExitBB); in createRegisterGlobalsFunction() 506 Builder.CreateCondBr(Cmp, ExitBB, EntryBB); in createRegisterGlobalsFunction() 507 Builder.SetInsertPoint(ExitBB); in createRegisterGlobalsFunction()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | VPlan.cpp | 416 PrevBB->getParent(), CFG.ExitBB); in createEmptyBasicBlock() 979 State->CFG.ExitBB = State->CFG.PrevBB->getSingleSuccessor(); in execute() 986 {{DominatorTree::Delete, VectorPreHeader, State->CFG.ExitBB}}); in execute() 992 BasicBlock *MiddleBB = State->CFG.ExitBB; in execute()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | LoopInfo.h | 541 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 | 1215 auto *ExitBB = BasicBlock::Create(*Ctx, "exit", WriteoutF); in insertCounterWriteout() 1309 Builder.CreateCondBr(FileLoopCond, FileLoopHeader, ExitBB); in insertCounterWriteout() 1312 Builder.SetInsertPoint(ExitBB); in insertCounterWriteout() 1218 auto *ExitBB = BasicBlock::Create(*Ctx, "exit", WriteoutF); insertCounterWriteout() local
|
/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()
|