Home
last modified time | relevance | path

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

12

/openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DLoopFuse.cpp160 BasicBlock *ExitBlock; member
192 ExitingBlock(L->getExitingBlock()), ExitBlock(L->getExitBlock()), in FusionCandidate()
238 return Preheader && Header && ExitingBlock && ExitBlock && Latch && L && in isValid()
250 assert(ExitBlock == L->getExitBlock() && "Exit block is out of sync"); in verify()
272 ExitBlock = L->getExitBlock(); in updateAfterPeeling()
309 << "\tExitBB: " << (ExitBlock ? ExitBlock->getName() : "nullptr") in dump()
330 if (!ExitBlock) in isEligibleForFusion()
824 FC0.GuardBranch ? FC0.ExitBlock->getUniqueSuccessor() : FC1.Preheader; in peelFusionCandidate()
829 if (Pred != FC0.ExitBlock) { in peelFusionCandidate()
948 if (!isSafeToMoveBefore(*FC0->ExitBlock, in fuseCandidates()
[all …]
H A DLoopDeletion.cpp67 BasicBlock *ExitBlock, bool &Changed, in isLoopDead() argument
77 for (PHINode &P : ExitBlock->phis()) { in isLoopDead()
455 BasicBlock *ExitBlock = L->getUniqueExitBlock(); in deleteLoopIfDead() local
457 if (ExitBlock && isLoopNeverExecuted(L)) { in deleteLoopIfDead()
464 for (PHINode &P : ExitBlock->phis()) { in deleteLoopIfDead()
487 if (!ExitBlock && !L->hasNoExitBlocks()) { in deleteLoopIfDead()
493 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader, LI)) { in deleteLoopIfDead()
H A DLICM.cpp170 Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI,
483 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop()
484 InsertPts.push_back(&*ExitBlock->getFirstInsertionPt()); in runOnLoop()
1404 Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI, in cloneInstructionInExitBlock() argument
1424 const ColorVector &CV = BlockColors.find(&ExitBlock)->second; in cloneInstructionInExitBlock()
1437 New->insertInto(&ExitBlock, ExitBlock.getFirstInsertionPt()); in cloneInstructionInExitBlock()
1467 OInst->getName() + ".lcssa", &ExitBlock.front()); in cloneInstructionInExitBlock()
1503 BasicBlock *ExitBlock = TPN->getParent(); in sinkThroughTriviallyReplaceablePHI() local
1505 auto It = SunkCopies.find(ExitBlock); in sinkThroughTriviallyReplaceablePHI()
1509 New = SunkCopies[ExitBlock] = cloneInstructionInExitBlock( in sinkThroughTriviallyReplaceablePHI()
[all …]
H A DLoopSimplifyCFG.cpp264 for (auto *ExitBlock : ExitBlocks) in analyze() local
265 if (!LiveExitBlocks.count(ExitBlock) && in analyze()
266 UniqueDeadExits.insert(ExitBlock).second && in analyze()
267 all_of(predecessors(ExitBlock), in analyze()
269 DeadExitBlocks.push_back(ExitBlock); in analyze()
H A DLoopDistribute.cpp445 BasicBlock *ExitBlock = L->getExitBlock(); in cloneLoops() local
446 assert(ExitBlock && "No single exit block"); in cloneLoops()
466 Part.getVMap()[ExitBlock] = TopPH; in cloneLoops()
H A DIndVarSimplify.cpp1207 BasicBlock *ExitBlock = L->getExitBlock(); in sinkUnusedInvariants() local
1208 if (!ExitBlock) return false; in sinkUnusedInvariants()
1214 BasicBlock::iterator InsertPt = ExitBlock->getFirstInsertionPt(); in sinkUnusedInvariants()
1284 ToMove->moveBefore(*ExitBlock, InsertPt); in sinkUnusedInvariants()
1886 BasicBlock *ExitBlock = in predicateLoopExits() local
1888 if (!ExitBlock->phis().empty()) in predicateLoopExits()
/openbsd-src/gnu/llvm/llvm/lib/Analysis/
H A DSyncDependenceAnalysis.cpp320 bool visitLoopExitEdge(const BasicBlock &ExitBlock, in visitLoopExitEdge()
324 return visitEdge(ExitBlock, DefBlock); in visitLoopExitEdge()
326 if (!computeJoin(ExitBlock, DefBlock)) in visitLoopExitEdge()
330 DivDesc->LoopDivBlocks.insert(&ExitBlock); in visitLoopExitEdge()
331 LLVM_DEBUG(dbgs() << "\tDivergent loop exit: " << ExitBlock.getName() in visitLoopExitEdge()
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->getModule()->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()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/IPO/
H A DPartialInlining.cpp175 BasicBlock *EntryBlock, BasicBlock *ExitBlock, in OutlineRegionInfo()
178 ExitBlock(ExitBlock), ReturnBlock(ReturnBlock) {} in OutlineRegionInfo()
181 BasicBlock *ExitBlock; member
418 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
422 if (ExitBlock) { in computeOutliningColdRegionsInfo()
433 ExitBlock = Block; in computeOutliningColdRegionsInfo()
437 return ExitBlock; in computeOutliningColdRegionsInfo()
509 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
511 if (!(ExitBlock = IsSingleExit(DominateVector))) { in computeOutliningColdRegionsInfo()
546 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()
/openbsd-src/gnu/llvm/llvm/include/llvm/Transforms/Utils/
H A DCodeExtractor.h214 BasicBlock *&ExitBlock) const;
242 Instruction *Addr, BasicBlock *ExitBlock) const;
/openbsd-src/gnu/llvm/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 &ExitBlock->front()); 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.cpp174 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() local
179 Value *LiveInValue = SSA.GetValueInMiddleOfBlock(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
208 auto *TargetLoop = LI.getLoopFor(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
243 for (BasicBlock *ExitBlock : LoopExitBlocks) { in PGOCounterPromoter()
244 if (BlockSet.insert(ExitBlock).second) { in PGOCounterPromoter()
245 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter()
246 InsertPts.push_back(&*ExitBlock->getFirstInsertionPt()); in PGOCounterPromoter()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp525 auto *ExitBlock = L->getUniqueExitBlock(); in deleteDeadLoop() local
527 if (ExitBlock) { in deleteDeadLoop()
528 assert(ExitBlock && "Should have a unique exit block!"); in deleteDeadLoop()
531 Builder.CreateCondBr(Builder.getFalse(), L->getHeader(), ExitBlock); in deleteDeadLoop()
537 for (PHINode &P : ExitBlock->phis()) { in deleteDeadLoop()
559 DTU.applyUpdates({{DominatorTree::Insert, Preheader, ExitBlock}}); in deleteDeadLoop()
561 MSSAU->applyUpdates({{DominatorTree::Insert, Preheader, ExitBlock}}, in deleteDeadLoop()
570 Builder.CreateBr(ExitBlock); in deleteDeadLoop()
599 if (ExitBlock) { in deleteDeadLoop()
635 Instruction *InsertDbgValueBefore = ExitBlock->getFirstNonPHI(); in deleteDeadLoop()
[all …]
H A DCodeExtractor.cpp446 BasicBlock *ExitBlock) const { in getLifetimeMarkers()
487 if (Info.HoistLifeEnd && !ExitBlock) in getLifetimeMarkers()
495 BasicBlock *&ExitBlock) const { in findAllocas()
497 ExitBlock = getCommonExitBlock(Blocks); in findAllocas()
528 LifetimeMarkerInfo MarkerInfo = getLifetimeMarkers(CEAC, AI, ExitBlock); in findAllocas()
582 LifetimeMarkerInfo LMI = getLifetimeMarkers(CEAC, Bitcast, ExitBlock); in findAllocas()
/openbsd-src/gnu/llvm/llvm/lib/Remarks/
H A DBitstreamRemarkSerializer.cpp231 Bitstream.ExitBlock(); in setupBlockInfo()
267 Bitstream.ExitBlock(); in emitMetaBlock()
317 Bitstream.ExitBlock(); in emitRemarkBlock()
/openbsd-src/gnu/llvm/clang/lib/CodeGen/
H A DCGCUDANV.cpp829 llvm::BasicBlock *ExitBlock = in makeModuleCtorFunction() local
853 CtorBuilder.CreateCondBr(EQZero, IfBlock, ExitBlock); in makeModuleCtorFunction()
862 CtorBuilder.CreateBr(ExitBlock); in makeModuleCtorFunction()
865 CtorBuilder.SetInsertPoint(ExitBlock); in makeModuleCtorFunction()
992 llvm::BasicBlock *ExitBlock = in makeModuleDtorFunction() local
996 DtorBuilder.CreateCondBr(NEZero, IfBlock, ExitBlock); in makeModuleDtorFunction()
1001 DtorBuilder.CreateBr(ExitBlock); in makeModuleDtorFunction()
1003 DtorBuilder.SetInsertPoint(ExitBlock); in makeModuleDtorFunction()
H A DCGStmt.cpp911 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitWhileStmt() local
913 ExitBlock = createBasicBlock("while.exit"); in EmitWhileStmt()
919 Builder.CreateCondBr(BoolCondVal, LoopBody, ExitBlock, Weights); in EmitWhileStmt()
921 if (ExitBlock != LoopExit.getBlock()) { in EmitWhileStmt()
922 EmitBlock(ExitBlock); in EmitWhileStmt()
1082 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitForStmt() local
1086 ExitBlock = createBasicBlock("for.cond.cleanup"); in EmitForStmt()
1100 Builder.CreateCondBr(BoolCondVal, ForBody, ExitBlock, Weights); in EmitForStmt()
1102 if (ExitBlock != LoopExit.getBlock()) { in EmitForStmt()
1103 EmitBlock(ExitBlock); in EmitForStmt()
[all …]
H A DCGDeclCXX.cpp1027 llvm::BasicBlock *ExitBlock = nullptr; in GenerateCXXGlobalInitFunc() local
1035 ExitBlock = createBasicBlock("exit"); in GenerateCXXGlobalInitFunc()
1036 EmitCXXGuardedInitBranch(Uninit, InitBlock, ExitBlock, in GenerateCXXGlobalInitFunc()
1066 if (ExitBlock) { in GenerateCXXGlobalInitFunc()
1067 Builder.CreateBr(ExitBlock); in GenerateCXXGlobalInitFunc()
1068 EmitBlock(ExitBlock); in GenerateCXXGlobalInitFunc()
/openbsd-src/gnu/llvm/llvm/lib/Bitcode/Writer/
H A DBitcodeWriter.cpp869 Stream.ExitBlock(); in writeAttributeGroupTable()
890 Stream.ExitBlock(); in writeAttributeTable()
1080 Stream.ExitBlock(); in writeTypeTable()
2355 Stream.ExitBlock(); in writeModuleMetadata()
2366 Stream.ExitBlock(); in writeFunctionMetadata()
2412 Stream.ExitBlock(); in writeFunctionMetadataAttachment()
2436 Stream.ExitBlock(); in writeModuleMetadataKinds()
2463 Stream.ExitBlock(); in writeOperandBundleTags()
2481 Stream.ExitBlock(); in writeSyncScopeNames()
2753 Stream.ExitBlock(); in writeConstants()
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/DirectX/DXILWriter/
H A DDXILBitcodeWriter.cpp415 Stream->ExitBlock(); in writeBlob()
929 Stream.ExitBlock(); in writeAttributeGroupTable()
952 Stream.ExitBlock(); in writeAttributeTable()
1155 Stream.ExitBlock(); in writeTypeTable()
1838 Stream.ExitBlock(); in writeModuleMetadata()
1849 Stream.ExitBlock(); in writeFunctionMetadata()
1889 Stream.ExitBlock(); in writeFunctionMetadataAttachment()
1914 Stream.ExitBlock(); in writeModuleMetadataKinds()
2189 Stream.ExitBlock(); in writeConstants()
2623 Stream.ExitBlock(); in writeFunctionLevelValueSymbolTable()
[all …]
/openbsd-src/gnu/llvm/llvm/include/llvm/ADT/
H A DGenericUniformityImpl.h568 bool visitCycleExitEdge(const BlockT &ExitBlock, const BlockT &Label) { in visitCycleExitEdge() argument
569 if (!computeJoin(ExitBlock, Label)) in visitCycleExitEdge()
573 DivDesc->CycleDivBlocks.insert(&ExitBlock); in visitCycleExitEdge()
574 LLVM_DEBUG(dbgs() << "\tDivergent cycle exit: " << Context.print(&ExitBlock) in visitCycleExitEdge()
/openbsd-src/gnu/llvm/clang/lib/Analysis/FlowSensitive/
H A DTransfer.cpp800 auto ExitBlock = CFCtx->getCFG().getExit().getBlockID(); in transferInlineCall() local
822 assert(ExitBlock < BlockToOutputState->size()); in transferInlineCall()
824 auto ExitState = (*BlockToOutputState)[ExitBlock]; in transferInlineCall()
/openbsd-src/gnu/llvm/clang/lib/Frontend/
H A DSerializedDiagnosticPrinter.cpp513 Stream.ExitBlock(); in EmitBlockInfoBlock()
523 Stream.ExitBlock(); in EmitMetaBlock()
682 State->Stream.ExitBlock(); in ExitDiagBlock()

12