Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopFuse.cpp156 BasicBlock *ExitBlock; member
188 ExitingBlock(L->getExitingBlock()), ExitBlock(L->getExitBlock()), in FusionCandidate()
234 return Preheader && Header && ExitingBlock && ExitBlock && Latch && L && in isValid()
246 assert(ExitBlock == L->getExitBlock() && "Exit block is out of sync"); in verify()
268 ExitBlock = L->getExitBlock(); in updateAfterPeeling()
305 << "\tExitBB: " << (ExitBlock ? ExitBlock->getName() : "nullptr") in dump()
326 if (!ExitBlock) in isEligibleForFusion()
821 FC0.GuardBranch ? FC0.ExitBlock->getUniqueSuccessor() : FC1.Preheader; in peelFusionCandidate()
826 if (Pred != FC0.ExitBlock) { in peelFusionCandidate()
945 if (!isSafeToMoveBefore(*FC0->ExitBlock, in fuseCandidates()
[all …]
H A DLoopDeletion.cpp65 BasicBlock *ExitBlock, bool &Changed, in isLoopDead() argument
74 if (ExitBlock) { in isLoopDead()
75 for (PHINode &P : ExitBlock->phis()) { in isLoopDead()
453 BasicBlock *ExitBlock = L->getUniqueExitBlock(); in deleteLoopIfDead() local
457 if (ExitBlock && ExitBlock->isEHPad()) { in deleteLoopIfDead()
462 if (ExitBlock && isLoopNeverExecuted(L)) { in deleteLoopIfDead()
469 for (PHINode &P : ExitBlock->phis()) { in deleteLoopIfDead()
491 if (!ExitBlock && !L->hasNoExitBlocks()) { in deleteLoopIfDead()
498 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader, LI)) { in deleteLoopIfDead()
H A DLoopSimplifyCFG.cpp276 for (auto *ExitBlock : ExitBlocks) in analyze() local
277 if (!LiveExitBlocks.count(ExitBlock) && in analyze()
278 UniqueDeadExits.insert(ExitBlock).second && in analyze()
279 all_of(predecessors(ExitBlock), in analyze()
281 DeadExitBlocks.push_back(ExitBlock); in analyze()
H A DLICM.cpp204 Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI,
500 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop()
501 InsertPts.push_back(ExitBlock->getFirstInsertionPt()); in runOnLoop()
1359 Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI, in cloneInstructionInExitBlock() argument
1379 const ColorVector &CV = BlockColors.find(&ExitBlock)->second; in cloneInstructionInExitBlock()
1393 New->insertInto(&ExitBlock, ExitBlock.getFirstInsertionPt()); in cloneInstructionInExitBlock()
1427 OpPN->insertBefore(ExitBlock.begin()); in cloneInstructionInExitBlock()
1464 BasicBlock *ExitBlock = TPN->getParent(); in sinkThroughTriviallyReplaceablePHI() local
1465 auto [It, Inserted] = SunkCopies.try_emplace(ExitBlock); in sinkThroughTriviallyReplaceablePHI()
1467 It->second = cloneInstructionInExitBlock(*I, *ExitBlock, *TPN, LI, in sinkThroughTriviallyReplaceablePHI()
[all …]
H A DLoopDistribute.cpp441 BasicBlock *ExitBlock = L->getExitBlock(); in cloneLoops() local
442 assert(ExitBlock && "No single exit block"); in cloneLoops()
462 Part.getVMap()[ExitBlock] = TopPH; in cloneLoops()
/freebsd/contrib/llvm-project/llvm/lib/ProfileData/
H A DPGOCtxProfWriter.cpp71 Writer.ExitBlock(); in PGOCtxProfileWriter()
115 Writer.ExitBlock(); in writeNode()
134 void PGOCtxProfileWriter::endContextSection() { Writer.ExitBlock(); } in endContextSection()
135 void PGOCtxProfileWriter::endFlatSection() { Writer.ExitBlock(); } in endFlatSection()
151 Writer.ExitBlock(); in writeContextual()
154 Writer.ExitBlock(); in writeContextual()
162 Writer.ExitBlock(); in writeFlat()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DPartialInlining.cpp174 BasicBlock *ExitBlock, BasicBlock *ReturnBlock) in OutlineRegionInfo()
175 : Region(Region), EntryBlock(EntryBlock), ExitBlock(ExitBlock), in OutlineRegionInfo()
179 BasicBlock *ExitBlock; member
370 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
374 if (ExitBlock) { in computeOutliningColdRegionsInfo()
385 ExitBlock = Block; in computeOutliningColdRegionsInfo()
389 return ExitBlock; in computeOutliningColdRegionsInfo()
460 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
462 if (!(ExitBlock = IsSingleExit(DominateVector))) { in computeOutliningColdRegionsInfo()
496 BasicBlock *ReturnBlock = ExitBlock->getSingleSuccessor(); in computeOutliningColdRegionsInfo()
[all …]
H A DLoopExtractor.cpp202 for (auto *ExitBlock : ExitBlocks) in runOnFunction() local
203 if (!isa<ReturnInst>(ExitBlock->getTerminator())) { in runOnFunction()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DMustExecute.cpp115 static bool CanProveNotTakenFirstIteration(const BasicBlock *ExitBlock, in CanProveNotTakenFirstIteration() argument
118 auto *CondExitBlock = ExitBlock->getSinglePredecessor(); in CanProveNotTakenFirstIteration()
129 return BI->getSuccessor(Cond->getZExtValue() ? 1 : 0) == ExitBlock; in CanProveNotTakenFirstIteration()
147 auto DL = ExitBlock->getModule()->getDataLayout(); in CanProveNotTakenFirstIteration()
154 if (ExitBlock == BI->getSuccessor(0)) in CanProveNotTakenFirstIteration()
156 assert(ExitBlock == BI->getSuccessor(1) && "implied by above"); in CanProveNotTakenFirstIteration()
H A DLoopNestAnalysis.cpp338 auto ContainsLCSSAPhi = [](const BasicBlock &ExitBlock) { in checkLoopsStructure() argument
339 return any_of(ExitBlock.phis(), [](const PHINode &PN) { in checkLoopsStructure()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DCodeExtractor.h229 BasicBlock *&ExitBlock) const;
258 Instruction *Addr, BasicBlock *ExitBlock) const;
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp541 auto *ExitBlock = L->getUniqueExitBlock(); in deleteDeadLoop() local
543 if (ExitBlock) { in deleteDeadLoop()
544 assert(ExitBlock && "Should have a unique exit block!"); in deleteDeadLoop()
547 Builder.CreateCondBr(Builder.getFalse(), L->getHeader(), ExitBlock); in deleteDeadLoop()
553 for (PHINode &P : ExitBlock->phis()) { in deleteDeadLoop()
571 DTU.applyUpdates({{DominatorTree::Insert, Preheader, ExitBlock}}); in deleteDeadLoop()
573 MSSAU->applyUpdates({{DominatorTree::Insert, Preheader, ExitBlock}}, in deleteDeadLoop()
582 Builder.CreateBr(ExitBlock); in deleteDeadLoop()
611 if (ExitBlock) { in deleteDeadLoop()
656 DIBuilder DIB(*ExitBlock->getModule()); in deleteDeadLoop()
[all …]
H A DCodeExtractor.cpp454 BasicBlock *ExitBlock) const { in getLifetimeMarkers()
491 if (Info.HoistLifeEnd && !ExitBlock) in getLifetimeMarkers()
499 BasicBlock *&ExitBlock) const { in findAllocas()
501 ExitBlock = getCommonExitBlock(Blocks); in findAllocas()
532 LifetimeMarkerInfo MarkerInfo = getLifetimeMarkers(CEAC, AI, ExitBlock); in findAllocas()
583 LifetimeMarkerInfo LMI = getLifetimeMarkers(CEAC, Bitcast, ExitBlock); in findAllocas()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DControlHeightReduction.cpp342 BasicBlock *ExitBlock,
1547 BasicBlock *EntryBlock, BasicBlock *ExitBlock, in insertTrivialPHIs() argument
1568 !(isa<PHINode>(UI) && UI->getParent() == ExitBlock)) { in insertTrivialPHIs()
1587 PHINode *PN = PHINode::Create(I.getType(), pred_size(ExitBlock), ""); in insertTrivialPHIs()
1588 PN->insertBefore(ExitBlock->begin()); in insertTrivialPHIs()
1589 for (BasicBlock *Pred : predecessors(ExitBlock)) { in insertTrivialPHIs()
1693 BasicBlock *ExitBlock = LastRegion->getExit(); in transformScopes() local
1696 if (ExitBlock) { in transformScopes()
1703 insertTrivialPHIs(Scope, EntryBlock, ExitBlock, TrivialPHIs); in transformScopes()
1726 cloneScopeBlocks(Scope, PreEntryBlock, ExitBlock, LastRegion, VMap); in transformScopes()
[all …]
H A DInstrProfiling.cpp445 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() local
450 Value *LiveInValue = SSA.GetValueInMiddleOfBlock(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
480 auto *TargetLoop = LI.getLoopFor(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
515 for (BasicBlock *ExitBlock : LoopExitBlocks) { in PGOCounterPromoter()
516 if (BlockSet.insert(ExitBlock).second && in PGOCounterPromoter()
517 llvm::none_of(predecessors(ExitBlock), [&](const BasicBlock *Pred) { in PGOCounterPromoter()
518 return llvm::isPresplitCoroSuspendExitEdge(*Pred, *ExitBlock); in PGOCounterPromoter()
520 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter()
521 InsertPts.push_back(&*ExitBlock->getFirstInsertionPt()); in PGOCounterPromoter()
/freebsd/contrib/llvm-project/llvm/lib/Remarks/
H A DBitstreamRemarkSerializer.cpp231 Bitstream.ExitBlock(); in setupBlockInfo()
267 Bitstream.ExitBlock(); in emitMetaBlock()
317 Bitstream.ExitBlock(); in emitRemarkBlock()
/freebsd/contrib/llvm-project/llvm/include/llvm/ProfileData/
H A DPGOCtxProfWriter.h95 ~PGOCtxProfileWriter() { Writer.ExitBlock(); } in ~PGOCtxProfileWriter()
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGCUDANV.cpp900 llvm::BasicBlock *ExitBlock = in makeModuleCtorFunction() local
924 CtorBuilder.CreateCondBr(EQZero, IfBlock, ExitBlock); in makeModuleCtorFunction()
932 CtorBuilder.CreateBr(ExitBlock); in makeModuleCtorFunction()
935 CtorBuilder.SetInsertPoint(ExitBlock); in makeModuleCtorFunction()
1059 llvm::BasicBlock *ExitBlock = in makeModuleDtorFunction() local
1063 DtorBuilder.CreateCondBr(NEZero, IfBlock, ExitBlock); in makeModuleDtorFunction()
1068 DtorBuilder.CreateBr(ExitBlock); in makeModuleDtorFunction()
1070 DtorBuilder.SetInsertPoint(ExitBlock); in makeModuleDtorFunction()
H A DCGStmt.cpp1129 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitWhileStmt() local
1131 ExitBlock = createBasicBlock("while.exit"); in EmitWhileStmt()
1137 auto *I = Builder.CreateCondBr(BoolCondVal, LoopBody, ExitBlock, Weights); in EmitWhileStmt()
1147 if (ExitBlock != LoopExit.getBlock()) { in EmitWhileStmt()
1148 EmitBlock(ExitBlock); in EmitWhileStmt()
1350 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitForStmt() local
1354 ExitBlock = createBasicBlock("for.cond.cleanup"); in EmitForStmt()
1371 auto *I = Builder.CreateCondBr(BoolCondVal, ForBody, ExitBlock, Weights); in EmitForStmt()
1380 if (ExitBlock != LoopExit.getBlock()) { in EmitForStmt()
1381 EmitBlock(ExitBlock); in EmitForStmt()
[all …]
H A DCGDeclCXX.cpp1091 llvm::BasicBlock *ExitBlock = nullptr; in GenerateCXXGlobalInitFunc() local
1099 ExitBlock = createBasicBlock("exit"); in GenerateCXXGlobalInitFunc()
1100 EmitCXXGuardedInitBranch(Uninit, InitBlock, ExitBlock, in GenerateCXXGlobalInitFunc()
1130 if (ExitBlock) { in GenerateCXXGlobalInitFunc()
1131 Builder.CreateBr(ExitBlock); in GenerateCXXGlobalInitFunc()
1132 EmitBlock(ExitBlock); in GenerateCXXGlobalInitFunc()
/freebsd/contrib/llvm-project/clang/lib/Analysis/FlowSensitive/
H A DTransfer.cpp868 auto ExitBlock = ACFG->getCFG().getExit().getBlockID(); in transferInlineCall() local
881 assert(ExitBlock < BlockToOutputState->size()); in transferInlineCall()
883 auto &ExitState = (*BlockToOutputState)[ExitBlock]; in transferInlineCall()
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/DXILWriter/
H A DDXILBitcodeWriter.cpp423 Stream->ExitBlock(); in writeBlob()
931 Stream.ExitBlock(); in writeAttributeGroupTable()
953 Stream.ExitBlock(); in writeAttributeTable()
1143 Stream.ExitBlock(); in writeTypeTable()
1836 Stream.ExitBlock(); in writeModuleMetadata()
1847 Stream.ExitBlock(); in writeFunctionMetadata()
1887 Stream.ExitBlock(); in writeFunctionMetadataAttachment()
1912 Stream.ExitBlock(); in writeModuleMetadataKinds()
2179 Stream.ExitBlock(); in writeConstants()
2647 Stream.ExitBlock(); in writeFunctionLevelValueSymbolTable()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/ADT/
H A DGenericUniformityImpl.h584 bool visitCycleExitEdge(const BlockT &ExitBlock, const BlockT &Label) { in visitCycleExitEdge() argument
585 if (!computeJoin(ExitBlock, Label)) in visitCycleExitEdge()
589 DivDesc->CycleDivBlocks.insert(&ExitBlock); in visitCycleExitEdge()
590 LLVM_DEBUG(dbgs() << "\tDivergent cycle exit: " << Context.print(&ExitBlock) in visitCycleExitEdge()
/freebsd/contrib/llvm-project/llvm/lib/Bitcode/Writer/
H A DBitcodeWriter.cpp1062 Stream.ExitBlock(); in writeAttributeGroupTable()
1083 Stream.ExitBlock(); in writeAttributeTable()
1257 Stream.ExitBlock(); in writeTypeTable()
2638 Stream.ExitBlock(); in writeModuleMetadata()
2649 Stream.ExitBlock(); in writeFunctionMetadata()
2695 Stream.ExitBlock(); in writeFunctionMetadataAttachment()
2719 Stream.ExitBlock(); in writeModuleMetadataKinds()
2746 Stream.ExitBlock(); in writeOperandBundleTags()
2764 Stream.ExitBlock(); in writeSyncScopeNames()
3028 Stream.ExitBlock(); in writeConstants()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationLegality.cpp1682 BasicBlock *ExitBlock; in isVectorizableEarlyExitLoop() local
1684 ExitBlock = Succs[0]; in isVectorizableEarlyExitLoop()
1687 ExitBlock = Succs[1]; in isVectorizableEarlyExitLoop()
1698 SingleUncountableEdge = {BB, ExitBlock}; in isVectorizableEarlyExitLoop()

12