Home
last modified time | relevance | path

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

12

/llvm-project-15.0.7/clang/unittests/Analysis/
H A DCFGDominatorTree.cpp39 CFGBlock *ExitBlock = *cfg->begin(); in TEST() local
40 EXPECT_EQ(ExitBlock, &cfg->getExit()); in TEST()
53 EXPECT_TRUE(Dom.dominates(ExitBlock, ExitBlock)); in TEST()
54 EXPECT_FALSE(Dom.properlyDominates(ExitBlock, ExitBlock)); in TEST()
55 EXPECT_TRUE(Dom.dominates(CaseABlock, ExitBlock)); in TEST()
56 EXPECT_TRUE(Dom.dominates(SwitchBlock, ExitBlock)); in TEST()
57 EXPECT_TRUE(Dom.dominates(EntryBlock, ExitBlock)); in TEST()
91 EXPECT_TRUE(PostDom.dominates(ExitBlock, ExitBlock)); in TEST()
92 EXPECT_FALSE(Dom.properlyDominates(ExitBlock, ExitBlock)); in TEST()
128 CFGBlock *ExitBlock = *cfg->begin(); in TEST() local
[all …]
/llvm-project-15.0.7/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.cpp67 BasicBlock *ExitBlock, bool &Changed, in isLoopDead() argument
77 for (PHINode &P : ExitBlock->phis()) { in isLoopDead()
456 BasicBlock *ExitBlock = L->getUniqueExitBlock(); in deleteLoopIfDead() local
458 if (ExitBlock && isLoopNeverExecuted(L)) { in deleteLoopIfDead()
465 for (PHINode &P : ExitBlock->phis()) { in deleteLoopIfDead()
488 if (!ExitBlock && !L->hasNoExitBlocks()) { in deleteLoopIfDead()
494 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader, LI)) { in deleteLoopIfDead()
H A DLICM.cpp473 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop()
474 InsertPts.push_back(&*ExitBlock->getFirstInsertionPt()); in runOnLoop()
1423 ExitBlock.getInstList().insert(ExitBlock.getFirstInsertionPt(), New); in cloneInstructionInExitBlock()
1489 BasicBlock *ExitBlock = TPN->getParent(); in sinkThroughTriviallyReplaceablePHI() local
1491 auto It = SunkCopies.find(ExitBlock); in sinkThroughTriviallyReplaceablePHI()
1495 New = SunkCopies[ExitBlock] = cloneInstructionInExitBlock( in sinkThroughTriviallyReplaceablePHI()
1496 *I, *ExitBlock, *TPN, LI, SafetyInfo, MSSAU); in sinkThroughTriviallyReplaceablePHI()
1831 BasicBlock *ExitBlock = LoopExitBlocks[i]; in insertStoresInLoopExitBlocks() local
1832 Value *LiveInValue = SSA.GetValueInMiddleOfBlock(ExitBlock); in insertStoresInLoopExitBlocks()
1833 LiveInValue = maybeInsertLCSSAPHI(LiveInValue, ExitBlock); in insertStoresInLoopExitBlocks()
[all …]
H A DLoopSimplifyCFG.cpp263 for (auto *ExitBlock : ExitBlocks) in analyze() local
264 if (!LiveExitBlocks.count(ExitBlock) && in analyze()
265 UniqueDeadExits.insert(ExitBlock).second && in analyze()
266 all_of(predecessors(ExitBlock), in analyze()
268 DeadExitBlocks.push_back(ExitBlock); in analyze()
/llvm-project-15.0.7/llvm/unittests/Analysis/
H A DDivergenceAnalysisTest.cpp154 auto &ExitBlock = *GetBlockByName("for.end.loopexit", *F); in TEST_F() local
155 auto &RetInst = *cast<ReturnInst>(ExitBlock.begin()); in TEST_F()
208 auto &ExitBlock = *GetBlockByName("detached.return", *F); in TEST_F() local
209 auto &RetInst = *cast<ReturnInst>(ExitBlock.begin()); in TEST_F()
424 auto &ExitBlock = *GetBlockByName("sw.epilog", *F); in TEST_F() local
425 auto &DivDblPhi = *cast<PHINode>(ExitBlock.begin()); in TEST_F()
/llvm-project-15.0.7/llvm/test/Transforms/LoopSimplify/
H A D2003-12-10-ExitBlocksProblem.ll23 br i1 %tmp.4.i, label %ExitBlock.i, label %endif.1.i
31 br label %ExitBlock.i
32 ExitBlock.i: ; preds = %Out.i, %endif.0.i
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DSyncDependenceAnalysis.cpp319 bool visitLoopExitEdge(const BasicBlock &ExitBlock, in visitLoopExitEdge()
323 return visitEdge(ExitBlock, DefBlock); in visitLoopExitEdge()
325 if (!computeJoin(ExitBlock, DefBlock)) in visitLoopExitEdge()
329 DivDesc->LoopDivBlocks.insert(&ExitBlock); in visitLoopExitEdge()
330 LLVM_DEBUG(dbgs() << "\tDivergent loop exit: " << ExitBlock.getName() in visitLoopExitEdge()
H A DMustExecute.cpp116 static bool CanProveNotTakenFirstIteration(const BasicBlock *ExitBlock, in CanProveNotTakenFirstIteration() argument
119 auto *CondExitBlock = ExitBlock->getSinglePredecessor(); in CanProveNotTakenFirstIteration()
130 return BI->getSuccessor(Cond->getZExtValue() ? 1 : 0) == ExitBlock; in CanProveNotTakenFirstIteration()
141 auto DL = ExitBlock->getModule()->getDataLayout(); in CanProveNotTakenFirstIteration()
150 if (ExitBlock == BI->getSuccessor(0)) in CanProveNotTakenFirstIteration()
152 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()
/llvm-project-15.0.7/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()
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/
H A DCodeExtractor.h214 BasicBlock *&ExitBlock) const;
242 Instruction *Addr, BasicBlock *ExitBlock) const;
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp523 auto *ExitBlock = L->getUniqueExitBlock(); in deleteDeadLoop() local
525 if (ExitBlock) { in deleteDeadLoop()
526 assert(ExitBlock && "Should have a unique exit block!"); in deleteDeadLoop()
529 Builder.CreateCondBr(Builder.getFalse(), L->getHeader(), ExitBlock); in deleteDeadLoop()
535 for (PHINode &P : ExitBlock->phis()) { in deleteDeadLoop()
568 Builder.CreateBr(ExitBlock); in deleteDeadLoop()
597 if (ExitBlock) { in deleteDeadLoop()
636 DIBuilder DIB(*ExitBlock->getModule()); in deleteDeadLoop()
637 Instruction *InsertDbgValueBefore = ExitBlock->getFirstNonPHI(); in deleteDeadLoop()
1212 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted() local
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Instrumentation/
H A DControlHeightReduction.cpp335 BasicBlock *ExitBlock,
1589 &ExitBlock->front()); in insertTrivialPHIs()
1590 for (BasicBlock *Pred : predecessors(ExitBlock)) { in insertTrivialPHIs()
1673 BasicBlock *ExitBlock = LastRegion->getExit(); in transformScopes() local
1676 if (ExitBlock) { in transformScopes()
1683 insertTrivialPHIs(Scope, EntryBlock, ExitBlock, TrivialPHIs); in transformScopes()
1735 BasicBlock *ExitBlock, in cloneScopeBlocks() argument
1755 if (ExitBlock) in cloneScopeBlocks()
1756 F.getBasicBlockList().splice(ExitBlock->getIterator(), in cloneScopeBlocks()
1769 if (ExitBlock) in cloneScopeBlocks()
[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()
/llvm-project-15.0.7/clang/lib/CodeGen/
H A DCGStmt.cpp900 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitWhileStmt() local
902 ExitBlock = createBasicBlock("while.exit"); in EmitWhileStmt()
910 if (ExitBlock != LoopExit.getBlock()) { in EmitWhileStmt()
911 EmitBlock(ExitBlock); in EmitWhileStmt()
1071 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitForStmt() local
1091 if (ExitBlock != LoopExit.getBlock()) { in EmitForStmt()
1092 EmitBlock(ExitBlock); in EmitForStmt()
1158 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitCXXForRangeStmt() local
1160 ExitBlock = createBasicBlock("for.cond.cleanup"); in EmitCXXForRangeStmt()
1175 if (ExitBlock != LoopExit.getBlock()) { in EmitCXXForRangeStmt()
[all …]
H A DCGCUDANV.cpp816 llvm::BasicBlock *ExitBlock = in makeModuleCtorFunction() local
840 CtorBuilder.CreateCondBr(EQZero, IfBlock, ExitBlock); in makeModuleCtorFunction()
849 CtorBuilder.CreateBr(ExitBlock); in makeModuleCtorFunction()
852 CtorBuilder.SetInsertPoint(ExitBlock); in makeModuleCtorFunction()
979 llvm::BasicBlock *ExitBlock = in makeModuleDtorFunction() local
983 DtorBuilder.CreateCondBr(NEZero, IfBlock, ExitBlock); in makeModuleDtorFunction()
988 DtorBuilder.CreateBr(ExitBlock); in makeModuleDtorFunction()
990 DtorBuilder.SetInsertPoint(ExitBlock); in makeModuleDtorFunction()
H A DCGDeclCXX.cpp994 llvm::BasicBlock *ExitBlock = nullptr; in GenerateCXXGlobalInitFunc() local
1002 ExitBlock = createBasicBlock("exit"); in GenerateCXXGlobalInitFunc()
1003 EmitCXXGuardedInitBranch(Uninit, InitBlock, ExitBlock, in GenerateCXXGlobalInitFunc()
1033 if (ExitBlock) { in GenerateCXXGlobalInitFunc()
1034 Builder.CreateBr(ExitBlock); in GenerateCXXGlobalInitFunc()
1035 EmitBlock(ExitBlock); in GenerateCXXGlobalInitFunc()
/llvm-project-15.0.7/llvm/lib/Remarks/
H A DBitstreamRemarkSerializer.cpp230 Bitstream.ExitBlock(); in setupBlockInfo()
265 Bitstream.ExitBlock(); in emitMetaBlock()
315 Bitstream.ExitBlock(); in emitRemarkBlock()
/llvm-project-15.0.7/polly/lib/CodeGen/
H A DCodeGeneration.cpp223 BasicBlock *ExitBlock = std::get<1>(StartExitBlocks); in generateCode() local
240 BasicBlock *MergeBlock = ExitBlock->getUniqueSuccessor(); in generateCode()
/llvm-project-15.0.7/polly/include/polly/CodeGen/
H A DLoopGenerators.h77 BasicBlock *&ExitBlock, ICmpInst::Predicate Predicate,
/llvm-project-15.0.7/clang/lib/Analysis/FlowSensitive/
H A DTransfer.cpp521 auto ExitBlock = CFCtx->getCFG().getExit().getBlockID(); in VisitCallExpr() local
532 assert(ExitBlock < BlockToOutputState->size()); in VisitCallExpr()
534 auto ExitState = (*BlockToOutputState)[ExitBlock]; in VisitCallExpr()
/llvm-project-15.0.7/llvm/lib/Bitcode/Writer/
H A DBitcodeWriter.cpp842 Stream.ExitBlock(); in writeAttributeGroupTable()
863 Stream.ExitBlock(); in writeAttributeTable()
1041 Stream.ExitBlock(); in writeTypeTable()
2307 Stream.ExitBlock(); in writeModuleMetadata()
2318 Stream.ExitBlock(); in writeFunctionMetadata()
2364 Stream.ExitBlock(); in writeFunctionMetadataAttachment()
2388 Stream.ExitBlock(); in writeModuleMetadataKinds()
2415 Stream.ExitBlock(); in writeOperandBundleTags()
2433 Stream.ExitBlock(); in writeSyncScopeNames()
2705 Stream.ExitBlock(); in writeConstants()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/DirectX/DXILWriter/
H A DDXILBitcodeWriter.cpp407 Stream->ExitBlock(); in writeBlob()
940 Stream.ExitBlock(); in writeAttributeGroupTable()
963 Stream.ExitBlock(); in writeAttributeTable()
1165 Stream.ExitBlock(); in writeTypeTable()
1845 Stream.ExitBlock(); in writeModuleMetadata()
1856 Stream.ExitBlock(); in writeFunctionMetadata()
1896 Stream.ExitBlock(); in writeFunctionMetadataAttachment()
1921 Stream.ExitBlock(); in writeModuleMetadataKinds()
2194 Stream.ExitBlock(); in writeConstants()
2631 Stream.ExitBlock(); in writeFunctionLevelValueSymbolTable()
[all …]

12