Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopFuse.cpp157 BasicBlock *ExitBlock; member
189 ExitingBlock(L->getExitingBlock()), ExitBlock(L->getExitBlock()), in FusionCandidate()
235 return Preheader && Header && ExitingBlock && ExitBlock && Latch && L && in isValid()
247 assert(ExitBlock == L->getExitBlock() && "Exit block is out of sync"); in verify()
269 ExitBlock = L->getExitBlock(); in updateAfterPeeling()
306 << "\tExitBB: " << (ExitBlock ? ExitBlock->getName() : "nullptr") in dump()
327 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()
492 if (!ExitBlock && !L->hasNoExitBlocks()) { in deleteLoopIfDead()
499 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader, LI)) { in deleteLoopIfDead()
H A DLoopSimplifyCFG.cpp261 for (auto *ExitBlock : ExitBlocks) in analyze() local
262 if (!LiveExitBlocks.count(ExitBlock) && in analyze()
263 UniqueDeadExits.insert(ExitBlock).second && in analyze()
264 all_of(predecessors(ExitBlock), in analyze()
266 DeadExitBlocks.push_back(ExitBlock); in analyze()
H A DLICM.cpp199 Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI,
497 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop()
498 InsertPts.push_back(ExitBlock->getFirstInsertionPt()); in runOnLoop()
1427 Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI, in cloneInstructionInExitBlock() argument
1447 const ColorVector &CV = BlockColors.find(&ExitBlock)->second; in cloneInstructionInExitBlock()
1461 New->insertInto(&ExitBlock, ExitBlock.getFirstInsertionPt()); in cloneInstructionInExitBlock()
1495 OpPN->insertBefore(ExitBlock.begin()); in cloneInstructionInExitBlock()
1532 BasicBlock *ExitBlock = TPN->getParent(); in sinkThroughTriviallyReplaceablePHI() local
1534 auto It = SunkCopies.find(ExitBlock); in sinkThroughTriviallyReplaceablePHI()
1538 New = SunkCopies[ExitBlock] = cloneInstructionInExitBlock( 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()
H A DIndVarSimplify.cpp1095 BasicBlock *ExitBlock = L->getExitBlock(); in sinkUnusedInvariants() local
1096 if (!ExitBlock) return false; in sinkUnusedInvariants()
1102 BasicBlock::iterator InsertPt = ExitBlock->getFirstInsertionPt(); in sinkUnusedInvariants()
1172 ToMove->moveBefore(*ExitBlock, InsertPt); in sinkUnusedInvariants()
1775 BasicBlock *ExitBlock = in predicateLoopExits() local
1777 if (!ExitBlock->phis().empty()) in predicateLoopExits()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DPartialInlining.cpp174 BasicBlock *EntryBlock, BasicBlock *ExitBlock, in OutlineRegionInfo()
177 ExitBlock(ExitBlock), ReturnBlock(ReturnBlock) {} in OutlineRegionInfo()
180 BasicBlock *ExitBlock; member
371 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
375 if (ExitBlock) { in computeOutliningColdRegionsInfo()
386 ExitBlock = Block; in computeOutliningColdRegionsInfo()
390 return ExitBlock; in computeOutliningColdRegionsInfo()
462 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
464 if (!(ExitBlock = IsSingleExit(DominateVector))) { in computeOutliningColdRegionsInfo()
499 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.cpp117 static bool CanProveNotTakenFirstIteration(const BasicBlock *ExitBlock, in CanProveNotTakenFirstIteration() argument
120 auto *CondExitBlock = ExitBlock->getSinglePredecessor(); in CanProveNotTakenFirstIteration()
131 return BI->getSuccessor(Cond->getZExtValue() ? 1 : 0) == ExitBlock; in CanProveNotTakenFirstIteration()
142 auto DL = ExitBlock->getDataLayout(); in CanProveNotTakenFirstIteration()
151 if (ExitBlock == BI->getSuccessor(0)) in CanProveNotTakenFirstIteration()
153 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/lib/Transforms/Utils/
H A DLoopUtils.cpp539 auto *ExitBlock = L->getUniqueExitBlock(); in deleteDeadLoop() local
541 if (ExitBlock) { in deleteDeadLoop()
542 assert(ExitBlock && "Should have a unique exit block!"); in deleteDeadLoop()
545 Builder.CreateCondBr(Builder.getFalse(), L->getHeader(), ExitBlock); in deleteDeadLoop()
551 for (PHINode &P : ExitBlock->phis()) { in deleteDeadLoop()
569 DTU.applyUpdates({{DominatorTree::Insert, Preheader, ExitBlock}}); in deleteDeadLoop()
571 MSSAU->applyUpdates({{DominatorTree::Insert, Preheader, ExitBlock}}, in deleteDeadLoop()
580 Builder.CreateBr(ExitBlock); in deleteDeadLoop()
610 if (ExitBlock) { in deleteDeadLoop()
665 DIBuilder DIB(*ExitBlock->getModule()); in deleteDeadLoop()
[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/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DCodeExtractor.h221 BasicBlock *&ExitBlock) const;
249 Instruction *Addr, BasicBlock *ExitBlock) const;
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DControlHeightReduction.cpp344 BasicBlock *ExitBlock,
1557 BasicBlock *EntryBlock, BasicBlock *ExitBlock, in insertTrivialPHIs() argument
1578 !(isa<PHINode>(UI) && UI->getParent() == ExitBlock)) { in insertTrivialPHIs()
1597 PHINode *PN = PHINode::Create(I.getType(), pred_size(ExitBlock), ""); in insertTrivialPHIs()
1598 PN->insertBefore(ExitBlock->begin()); in insertTrivialPHIs()
1599 for (BasicBlock *Pred : predecessors(ExitBlock)) { in insertTrivialPHIs()
1703 BasicBlock *ExitBlock = LastRegion->getExit(); in transformScopes() local
1706 if (ExitBlock) { in transformScopes()
1713 insertTrivialPHIs(Scope, EntryBlock, ExitBlock, TrivialPHIs); in transformScopes()
1736 cloneScopeBlocks(Scope, PreEntryBlock, ExitBlock, LastRegion, VMap); in transformScopes()
[all …]
H A DInstrProfiling.cpp423 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() local
428 Value *LiveInValue = SSA.GetValueInMiddleOfBlock(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
458 auto *TargetLoop = LI.getLoopFor(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
493 for (BasicBlock *ExitBlock : LoopExitBlocks) { in PGOCounterPromoter()
494 if (BlockSet.insert(ExitBlock).second && in PGOCounterPromoter()
495 llvm::none_of(predecessors(ExitBlock), [&](const BasicBlock *Pred) { in PGOCounterPromoter()
496 return llvm::isPresplitCoroSuspendExitEdge(*Pred, *ExitBlock); in PGOCounterPromoter()
498 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter()
499 InsertPts.push_back(&*ExitBlock->getFirstInsertionPt()); in PGOCounterPromoter()
/freebsd/contrib/llvm-project/llvm/include/llvm/ProfileData/
H A DPGOCtxProfWriter.h80 ~PGOCtxProfileWriter() { Writer.ExitBlock(); } in ~PGOCtxProfileWriter()
/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/lib/ProfileData/
H A DPGOCtxProfWriter.cpp44 Writer.ExitBlock(); in writeImpl()
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGCUDANV.cpp836 llvm::BasicBlock *ExitBlock = in makeModuleCtorFunction() local
859 CtorBuilder.CreateCondBr(EQZero, IfBlock, ExitBlock); in makeModuleCtorFunction()
867 CtorBuilder.CreateBr(ExitBlock); in makeModuleCtorFunction()
870 CtorBuilder.SetInsertPoint(ExitBlock); in makeModuleCtorFunction()
994 llvm::BasicBlock *ExitBlock = in makeModuleDtorFunction() local
998 DtorBuilder.CreateCondBr(NEZero, IfBlock, ExitBlock); in makeModuleDtorFunction()
1003 DtorBuilder.CreateBr(ExitBlock); in makeModuleDtorFunction()
1005 DtorBuilder.SetInsertPoint(ExitBlock); in makeModuleDtorFunction()
H A DCGDeclCXX.cpp1068 llvm::BasicBlock *ExitBlock = nullptr; in GenerateCXXGlobalInitFunc() local
1076 ExitBlock = createBasicBlock("exit"); in GenerateCXXGlobalInitFunc()
1077 EmitCXXGuardedInitBranch(Uninit, InitBlock, ExitBlock, in GenerateCXXGlobalInitFunc()
1107 if (ExitBlock) { in GenerateCXXGlobalInitFunc()
1108 Builder.CreateBr(ExitBlock); in GenerateCXXGlobalInitFunc()
1109 EmitBlock(ExitBlock); in GenerateCXXGlobalInitFunc()
H A DCGStmt.cpp1036 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitWhileStmt() local
1038 ExitBlock = createBasicBlock("while.exit"); in EmitWhileStmt()
1044 Builder.CreateCondBr(BoolCondVal, LoopBody, ExitBlock, Weights); in EmitWhileStmt()
1046 if (ExitBlock != LoopExit.getBlock()) { in EmitWhileStmt()
1047 EmitBlock(ExitBlock); in EmitWhileStmt()
1242 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitForStmt() local
1246 ExitBlock = createBasicBlock("for.cond.cleanup"); in EmitForStmt()
1260 Builder.CreateCondBr(BoolCondVal, ForBody, ExitBlock, Weights); in EmitForStmt()
1262 if (ExitBlock != LoopExit.getBlock()) { in EmitForStmt()
1263 EmitBlock(ExitBlock); in EmitForStmt()
[all …]
/freebsd/contrib/llvm-project/clang/lib/Analysis/FlowSensitive/
H A DTransfer.cpp863 auto ExitBlock = ACFG->getCFG().getExit().getBlockID(); in transferInlineCall() local
876 assert(ExitBlock < BlockToOutputState->size()); in transferInlineCall()
878 auto &ExitState = (*BlockToOutputState)[ExitBlock]; in transferInlineCall()
/freebsd/contrib/llvm-project/llvm/lib/Bitcode/Writer/
H A DBitcodeWriter.cpp994 Stream.ExitBlock(); in writeAttributeGroupTable()
1015 Stream.ExitBlock(); in writeAttributeTable()
1189 Stream.ExitBlock(); in writeTypeTable()
2495 Stream.ExitBlock(); in writeModuleMetadata()
2506 Stream.ExitBlock(); in writeFunctionMetadata()
2552 Stream.ExitBlock(); in writeFunctionMetadataAttachment()
2576 Stream.ExitBlock(); in writeModuleMetadataKinds()
2603 Stream.ExitBlock(); in writeOperandBundleTags()
2621 Stream.ExitBlock(); in writeSyncScopeNames()
2885 Stream.ExitBlock(); in writeConstants()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/DXILWriter/
H A DDXILBitcodeWriter.cpp414 Stream->ExitBlock(); in writeBlob()
928 Stream.ExitBlock(); in writeAttributeGroupTable()
950 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()
2613 Stream.ExitBlock(); in writeFunctionLevelValueSymbolTable()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/ADT/
H A DGenericUniformityImpl.h573 bool visitCycleExitEdge(const BlockT &ExitBlock, const BlockT &Label) { in visitCycleExitEdge() argument
574 if (!computeJoin(ExitBlock, Label)) in visitCycleExitEdge()
578 DivDesc->CycleDivBlocks.insert(&ExitBlock); in visitCycleExitEdge()
579 LLVM_DEBUG(dbgs() << "\tDivergent cycle exit: " << Context.print(&ExitBlock) in visitCycleExitEdge()

12