| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopFuse.cpp | 156 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 D | LoopDeletion.cpp | 65 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 D | LoopSimplifyCFG.cpp | 276 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 D | LICM.cpp | 204 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 D | LoopDistribute.cpp | 441 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 D | PGOCtxProfWriter.cpp | 71 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 D | PartialInlining.cpp | 174 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 D | LoopExtractor.cpp | 202 for (auto *ExitBlock : ExitBlocks) in runOnFunction() local 203 if (!isa<ReturnInst>(ExitBlock->getTerminator())) { in runOnFunction()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | MustExecute.cpp | 115 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 D | LoopNestAnalysis.cpp | 338 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 D | CodeExtractor.h | 229 BasicBlock *&ExitBlock) const; 258 Instruction *Addr, BasicBlock *ExitBlock) const;
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 541 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 D | CodeExtractor.cpp | 454 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 D | ControlHeightReduction.cpp | 342 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 D | InstrProfiling.cpp | 445 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 D | BitstreamRemarkSerializer.cpp | 231 Bitstream.ExitBlock(); in setupBlockInfo() 267 Bitstream.ExitBlock(); in emitMetaBlock() 317 Bitstream.ExitBlock(); in emitRemarkBlock()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/ProfileData/ |
| H A D | PGOCtxProfWriter.h | 95 ~PGOCtxProfileWriter() { Writer.ExitBlock(); } in ~PGOCtxProfileWriter()
|
| /freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
| H A D | CGCUDANV.cpp | 900 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 D | CGStmt.cpp | 1129 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 D | CGDeclCXX.cpp | 1091 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 D | Transfer.cpp | 868 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 D | DXILBitcodeWriter.cpp | 423 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 D | GenericUniformityImpl.h | 584 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 D | BitcodeWriter.cpp | 1062 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 D | LoopVectorizationLegality.cpp | 1682 BasicBlock *ExitBlock; in isVectorizableEarlyExitLoop() local 1684 ExitBlock = Succs[0]; in isVectorizableEarlyExitLoop() 1687 ExitBlock = Succs[1]; in isVectorizableEarlyExitLoop() 1698 SingleUncountableEdge = {BB, ExitBlock}; in isVectorizableEarlyExitLoop()
|