| /llvm-project-15.0.7/clang/unittests/Analysis/ |
| H A D | CFGDominatorTree.cpp | 39 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 D | LoopFuse.cpp | 157 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 D | LoopDeletion.cpp | 67 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 D | LICM.cpp | 473 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 D | LoopSimplifyCFG.cpp | 263 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 D | DivergenceAnalysisTest.cpp | 154 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 D | 2003-12-10-ExitBlocksProblem.ll | 23 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 D | SyncDependenceAnalysis.cpp | 319 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 D | MustExecute.cpp | 116 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 D | LoopNestAnalysis.cpp | 338 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 D | PartialInlining.cpp | 175 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 D | LoopExtractor.cpp | 202 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 D | CodeExtractor.h | 214 BasicBlock *&ExitBlock) const; 242 Instruction *Addr, BasicBlock *ExitBlock) const;
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 523 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 D | ControlHeightReduction.cpp | 335 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 D | InstrProfiling.cpp | 174 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 D | CGStmt.cpp | 900 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 D | CGCUDANV.cpp | 816 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 D | CGDeclCXX.cpp | 994 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 D | BitstreamRemarkSerializer.cpp | 230 Bitstream.ExitBlock(); in setupBlockInfo() 265 Bitstream.ExitBlock(); in emitMetaBlock() 315 Bitstream.ExitBlock(); in emitRemarkBlock()
|
| /llvm-project-15.0.7/polly/lib/CodeGen/ |
| H A D | CodeGeneration.cpp | 223 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 D | LoopGenerators.h | 77 BasicBlock *&ExitBlock, ICmpInst::Predicate Predicate,
|
| /llvm-project-15.0.7/clang/lib/Analysis/FlowSensitive/ |
| H A D | Transfer.cpp | 521 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 D | BitcodeWriter.cpp | 842 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 D | DXILBitcodeWriter.cpp | 407 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 …]
|