Home
last modified time | relevance | path

Searched refs:ExitBlock (Results 1 – 25 of 34) sorted by relevance

12

/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopFuse.cpp157 BasicBlock *ExitBlock; member
270 ExitBlock = L->getExitBlock(); in updateAfterPeeling()
307 << "\tExitBB: " << (ExitBlock ? ExitBlock->getName() : "nullptr") in dump()
328 if (!ExitBlock) in isEligibleForFusion()
1342 (FC0.Peeled ? FC0.ExitBlock->getUniqueSuccessor() : FC0.ExitBlock)); in performFusion()
1403 new UnreachableInst(FC0.ExitBlock->getContext(), FC0.ExitBlock); in performFusion()
1472 DTU.deleteBB(FC0.ExitBlock); in performFusion()
1579 (FC0.Peeled ? *FC0ExitBlockSuccessor : *FC0.ExitBlock), *FC1.ExitBlock, in fuseGuardedLoops()
1684 new UnreachableInst(FC0.ExitBlock->getContext(), FC0.ExitBlock); in fuseGuardedLoops()
1759 LI.removeBlock(FC0.ExitBlock); in fuseGuardedLoops()
[all …]
H A DLoopDeletion.cpp65 BasicBlock *ExitBlock, bool &Changed, in isLoopDead() argument
75 for (PHINode &P : ExitBlock->phis()) { in isLoopDead()
437 BasicBlock *ExitBlock = L->getUniqueExitBlock(); in deleteLoopIfDead() local
439 if (ExitBlock && isLoopNeverExecuted(L)) { in deleteLoopIfDead()
446 for (PHINode &P : ExitBlock->phis()) { in deleteLoopIfDead()
469 if (!ExitBlock && !L->hasNoExitBlocks()) { in deleteLoopIfDead()
475 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader, LI)) { in deleteLoopIfDead()
H A DLICM.cpp471 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop()
472 InsertPts.push_back(&*ExitBlock->getFirstInsertionPt()); in runOnLoop()
1510 ExitBlock.getInstList().insert(ExitBlock.getFirstInsertionPt(), New); in cloneInstructionInExitBlock()
1581 BasicBlock *ExitBlock = TPN->getParent(); in sinkThroughTriviallyReplaceablePHI() local
1583 auto It = SunkCopies.find(ExitBlock); in sinkThroughTriviallyReplaceablePHI()
1587 New = SunkCopies[ExitBlock] = cloneInstructionInExitBlock( in sinkThroughTriviallyReplaceablePHI()
1588 *I, *ExitBlock, *TPN, LI, SafetyInfo, MSSAU); in sinkThroughTriviallyReplaceablePHI()
1935 BasicBlock *ExitBlock = LoopExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() local
1936 Value *LiveInValue = SSA.GetValueInMiddleOfBlock(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
1937 LiveInValue = maybeInsertLCSSAPHI(LiveInValue, ExitBlock); in doExtraRewritesBeforeFinalDeletion()
[all …]
H A DLoopUnswitch.cpp263 BasicBlock *ExitBlock, Instruction *TI);
1096 BasicBlock *ExitBlock, in unswitchTrivialCondition() argument
1121 assert(!L->contains(ExitBlock) && "Exit block is in the loop?"); in unswitchTrivialCondition()
1123 SplitBlock(ExitBlock, &ExitBlock->front(), DT, LI, MSSAU.get()); in unswitchTrivialCondition()
1314 BasicBlock *ExitBlock = ExitBlocks[I]; in splitExitEdges() local
1315 SmallVector<BasicBlock *, 4> Preds(pred_begin(ExitBlock), in splitExitEdges()
1316 pred_end(ExitBlock)); in splitExitEdges()
1320 SplitBlockPredecessors(ExitBlock, Preds, ".us-lcssa", DT, LI, MSSAU.get(), in splitExitEdges()
H A DLoopSimplifyCFG.cpp268 for (auto *ExitBlock : ExitBlocks) in analyze() local
269 if (!LiveExitBlocks.count(ExitBlock) && in analyze()
270 UniqueDeadExits.insert(ExitBlock).second) in analyze()
271 DeadExitBlocks.push_back(ExitBlock); in analyze()
H A DIndVarSimplify.cpp1209 BasicBlock *ExitBlock = L->getExitBlock(); in sinkUnusedInvariants() local
1210 if (!ExitBlock) return false; in sinkUnusedInvariants()
1216 BasicBlock::iterator InsertPt = ExitBlock->getFirstInsertionPt(); in sinkUnusedInvariants()
1286 ToMove->moveBefore(*ExitBlock, InsertPt); in sinkUnusedInvariants()
1600 BasicBlock *ExitBlock = in predicateLoopExits() local
1602 if (!ExitBlock->phis().empty()) in predicateLoopExits()
H A DLoopDistribute.cpp447 BasicBlock *ExitBlock = L->getExitBlock(); in cloneLoops() local
448 assert(ExitBlock && "No single exit block"); in cloneLoops()
472 Part->getVMap()[ExitBlock] = TopPH; in cloneLoops()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Analysis/
H A DSyncDependenceAnalysis.cpp302 bool visitLoopExitEdge(const BasicBlock &ExitBlock, in visitLoopExitEdge()
306 return visitEdge(ExitBlock, DefBlock); in visitLoopExitEdge()
308 if (!computeJoin(ExitBlock, DefBlock)) in visitLoopExitEdge()
312 DivDesc->LoopDivBlocks.insert(&ExitBlock); in visitLoopExitEdge()
313 LLVM_DEBUG(dbgs() << "\tDivergent loop exit: " << ExitBlock.getName() in visitLoopExitEdge()
H A DMustExecute.cpp119 static bool CanProveNotTakenFirstIteration(const BasicBlock *ExitBlock, in CanProveNotTakenFirstIteration() argument
122 auto *CondExitBlock = ExitBlock->getSinglePredecessor(); in CanProveNotTakenFirstIteration()
133 return BI->getSuccessor(Cond->getZExtValue() ? 1 : 0) == ExitBlock; in CanProveNotTakenFirstIteration()
144 auto DL = ExitBlock->getModule()->getDataLayout(); in CanProveNotTakenFirstIteration()
153 if (ExitBlock == BI->getSuccessor(0)) in CanProveNotTakenFirstIteration()
155 assert(ExitBlock == BI->getSuccessor(1) && "implied by above"); in CanProveNotTakenFirstIteration()
H A DLoopNestAnalysis.cpp258 auto ContainsLCSSAPhi = [](const BasicBlock &ExitBlock) { in checkLoopsStructure() argument
259 return any_of(ExitBlock.phis(), [](const PHINode &PN) { in checkLoopsStructure()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DPartialInlining.cpp178 BasicBlock *EntryBlock, BasicBlock *ExitBlock, in OutlineRegionInfo()
181 ExitBlock(ExitBlock), ReturnBlock(ReturnBlock) {} in OutlineRegionInfo()
184 BasicBlock *ExitBlock; member
421 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
425 if (ExitBlock) { in computeOutliningColdRegionsInfo()
436 ExitBlock = Block; in computeOutliningColdRegionsInfo()
440 return ExitBlock; in computeOutliningColdRegionsInfo()
514 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
516 if (!(ExitBlock = IsSingleExit(DominateVector))) { in computeOutliningColdRegionsInfo()
551 BasicBlock *ReturnBlock = ExitBlock->getSingleSuccessor(); in computeOutliningColdRegionsInfo()
[all …]
H A DLoopExtractor.cpp207 for (auto *ExitBlock : ExitBlocks) in runOnFunction() local
208 if (!isa<ReturnInst>(ExitBlock->getTerminator())) { in runOnFunction()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DCodeExtractor.h187 BasicBlock *&ExitBlock) const;
209 Instruction *Addr, BasicBlock *ExitBlock) const;
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp529 auto *ExitBlock = L->getUniqueExitBlock(); in deleteDeadLoop() local
531 if (ExitBlock) { in deleteDeadLoop()
532 assert(ExitBlock && "Should have a unique exit block!"); in deleteDeadLoop()
535 Builder.CreateCondBr(Builder.getFalse(), L->getHeader(), ExitBlock); in deleteDeadLoop()
541 for (PHINode &P : ExitBlock->phis()) { in deleteDeadLoop()
574 Builder.CreateBr(ExitBlock); in deleteDeadLoop()
603 if (ExitBlock) { in deleteDeadLoop()
645 DIBuilder DIB(*ExitBlock->getModule()); in deleteDeadLoop()
646 Instruction *InsertDbgValueBefore = ExitBlock->getFirstNonPHI(); in deleteDeadLoop()
1197 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted() local
[all …]
H A DCodeExtractor.cpp447 BasicBlock *ExitBlock) const { in getLifetimeMarkers()
488 if (Info.HoistLifeEnd && !ExitBlock) in getLifetimeMarkers()
496 BasicBlock *&ExitBlock) const { in findAllocas()
498 ExitBlock = getCommonExitBlock(Blocks); in findAllocas()
529 LifetimeMarkerInfo MarkerInfo = getLifetimeMarkers(CEAC, AI, ExitBlock); in findAllocas()
583 LifetimeMarkerInfo LMI = getLifetimeMarkers(CEAC, Bitcast, ExitBlock); in findAllocas()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DControlHeightReduction.cpp375 BasicBlock *ExitBlock,
1617 &ExitBlock->front()); in insertTrivialPHIs()
1618 for (BasicBlock *Pred : predecessors(ExitBlock)) { in insertTrivialPHIs()
1701 BasicBlock *ExitBlock = LastRegion->getExit(); in transformScopes() local
1704 if (ExitBlock) { in transformScopes()
1711 insertTrivialPHIs(Scope, EntryBlock, ExitBlock, TrivialPHIs); in transformScopes()
1763 BasicBlock *ExitBlock, in cloneScopeBlocks() argument
1783 if (ExitBlock) in cloneScopeBlocks()
1784 F.getBasicBlockList().splice(ExitBlock->getIterator(), in cloneScopeBlocks()
1797 if (ExitBlock) in cloneScopeBlocks()
[all …]
H A DInstrProfiling.cpp195 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() local
200 Value *LiveInValue = SSA.GetValueInMiddleOfBlock(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
217 auto *TargetLoop = LI.getLoopFor(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
253 for (BasicBlock *ExitBlock : LoopExitBlocks) { in PGOCounterPromoter()
254 if (BlockSet.insert(ExitBlock).second) { in PGOCounterPromoter()
255 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter()
256 InsertPts.push_back(&*ExitBlock->getFirstInsertionPt()); in PGOCounterPromoter()
/freebsd-13.1/contrib/llvm-project/clang/lib/CodeGen/
H A DCGCUDANV.cpp809 llvm::BasicBlock *ExitBlock = in makeModuleCtorFunction() local
830 CtorBuilder.CreateCondBr(EQZero, IfBlock, ExitBlock); in makeModuleCtorFunction()
839 CtorBuilder.CreateBr(ExitBlock); in makeModuleCtorFunction()
842 CtorBuilder.SetInsertPoint(ExitBlock); in makeModuleCtorFunction()
968 llvm::BasicBlock *ExitBlock = in makeModuleDtorFunction() local
972 DtorBuilder.CreateCondBr(NEZero, IfBlock, ExitBlock); in makeModuleDtorFunction()
977 DtorBuilder.CreateBr(ExitBlock); in makeModuleDtorFunction()
979 DtorBuilder.SetInsertPoint(ExitBlock); in makeModuleDtorFunction()
H A DCGStmt.cpp839 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitWhileStmt() local
841 ExitBlock = createBasicBlock("while.exit"); in EmitWhileStmt()
849 if (ExitBlock != LoopExit.getBlock()) { in EmitWhileStmt()
850 EmitBlock(ExitBlock); in EmitWhileStmt()
1010 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitForStmt() local
1030 if (ExitBlock != LoopExit.getBlock()) { in EmitForStmt()
1031 EmitBlock(ExitBlock); in EmitForStmt()
1097 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitCXXForRangeStmt() local
1099 ExitBlock = createBasicBlock("for.cond.cleanup"); in EmitCXXForRangeStmt()
1114 if (ExitBlock != LoopExit.getBlock()) { in EmitCXXForRangeStmt()
[all …]
H A DCGDeclCXX.cpp812 llvm::BasicBlock *ExitBlock = nullptr; in GenerateCXXGlobalInitFunc() local
820 ExitBlock = createBasicBlock("exit"); in GenerateCXXGlobalInitFunc()
821 EmitCXXGuardedInitBranch(Uninit, InitBlock, ExitBlock, in GenerateCXXGlobalInitFunc()
851 if (ExitBlock) { in GenerateCXXGlobalInitFunc()
852 Builder.CreateBr(ExitBlock); in GenerateCXXGlobalInitFunc()
853 EmitBlock(ExitBlock); in GenerateCXXGlobalInitFunc()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Remarks/
H A DBitstreamRemarkSerializer.cpp229 Bitstream.ExitBlock(); in setupBlockInfo()
264 Bitstream.ExitBlock(); in emitMetaBlock()
314 Bitstream.ExitBlock(); in emitRemarkBlock()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Bitcode/Writer/
H A DBitcodeWriter.cpp826 Stream.ExitBlock(); in writeAttributeGroupTable()
848 Stream.ExitBlock(); in writeAttributeTable()
1026 Stream.ExitBlock(); in writeTypeTable()
2269 Stream.ExitBlock(); in writeModuleMetadata()
2280 Stream.ExitBlock(); in writeFunctionMetadata()
2326 Stream.ExitBlock(); in writeFunctionMetadataAttachment()
2350 Stream.ExitBlock(); in writeModuleMetadataKinds()
2377 Stream.ExitBlock(); in writeOperandBundleTags()
2395 Stream.ExitBlock(); in writeSyncScopeNames()
2662 Stream.ExitBlock(); in writeConstants()
[all …]
/freebsd-13.1/contrib/llvm-project/clang/lib/Frontend/
H A DSerializedDiagnosticPrinter.cpp514 Stream.ExitBlock(); in EmitBlockInfoBlock()
524 Stream.ExitBlock(); in EmitMetaBlock()
683 State->Stream.ExitBlock(); in ExitDiagBlock()
/freebsd-13.1/contrib/llvm-project/clang/lib/Serialization/
H A DGlobalModuleIndex.cpp507 Stream.ExitBlock(); in emitBlockInfoBlock()
847 Stream.ExitBlock(); in writeIndex()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlan.h1775 void setExit(VPBlockBase *ExitBlock) { in setExit() argument
1776 assert(ExitBlock->getSuccessors().empty() && in setExit()
1778 Exit = ExitBlock; in setExit()
1779 ExitBlock->setParent(this); in setExit()

12