Home
last modified time | relevance | path

Searched refs:ExitBB (Results 1 – 25 of 38) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLCSSA.cpp157 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 DLowerMemIntrinsics.cpp497 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 DCodeExtractor.cpp769 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 DLoopUnrollRuntime.cpp1000 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 DLoopUtils.cpp744 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 DSimpleLoopUnswitch.cpp254 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 DLoopUnrollPass.cpp657 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 DLoopPredication.cpp1139 BasicBlock *ExitBB = BI->getSuccessor(ExitIfTrue ? 0 : 1); in predicateLoopExits() local
1140 if (!ExitBB->getPostdominatingDeoptimizeCall()) in predicateLoopExits()
H A DLICM.cpp1499 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 DCrossDSOCFI.cpp108 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 DHotColdSplitting.cpp335 for (BasicBlock *ExitBB : SuccsOutsideRegion) { in getOutliningPenalty()
336 for (PHINode &PN : ExitBB->phis()) { in getOutliningPenalty()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUCtorDtorLowering.cpp78 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 DNVPTXCtorDtorLowering.cpp102 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 DAtomicExpandPass.cpp1272 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 DAnalysis.cpp537 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 DOMPIRBuilder.cpp717 << " 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 DCGAtomic.cpp1817 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 DCGNonTrivialStruct.cpp396 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 DOffloadWrapper.cpp405 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 DVPlan.cpp433 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 DVPlanHelpers.h307 BasicBlock *ExitBB = nullptr; member
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DLoopInfo.h539 const BasicBlock *ExitBB) const;
/freebsd/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/
H A DObjCARCOpts.cpp1695 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 DGCOVProfiling.cpp1232 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 DLoopInfo.cpp944 const Value *V, const BasicBlock *ExitBB) const { in wouldBeOutOfLoopUseRequiringLCSSA()
956 if (L->contains(ExitBB)) in wouldBeOutOfLoopUseRequiringLCSSA()

12