Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLCSSA.cpp155 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 DLowerMemIntrinsics.cpp405 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 DCodeExtractor.cpp749 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 DLoopUnrollRuntime.cpp997 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 DLoopUtils.cpp757 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 DAMDGPUCtorDtorLowering.cpp78 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 DSimpleLoopUnswitch.cpp254 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 DLoopUnrollPass.cpp656 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 DLICM.cpp1567 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 DLoopPredication.cpp1140 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 DCrossDSOCFI.cpp109 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 DHotColdSplitting.cpp336 for (BasicBlock *ExitBB : SuccsOutsideRegion) { in getOutliningPenalty()
337 for (PHINode &PN : ExitBB->phis()) { in getOutliningPenalty()
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/
H A DNVPTXCtorDtorLowering.cpp134 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 DAtomicExpandPass.cpp1223 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 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()
577 const Function *F = ExitBB->getParent(); in isInTailCallPosition()
H A DMachineBlockPlacement.cpp530 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 DOMPIRBuilder.cpp699 << " 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 DCGAtomic.cpp1773 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 DCGNonTrivialStruct.cpp383 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 DOffloadWrapper.cpp391 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 DVPlan.cpp416 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 DLoopInfo.h541 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.cpp1215 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 DLoopInfo.cpp944 const Value *V, const BasicBlock *ExitBB) const { in wouldBeOutOfLoopUseRequiringLCSSA()
956 if (L->contains(ExitBB)) in wouldBeOutOfLoopUseRequiringLCSSA()

12