/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopFuse.cpp | 157 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 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() 492 if (!ExitBlock && !L->hasNoExitBlocks()) { in deleteLoopIfDead() 499 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader, LI)) { in deleteLoopIfDead()
|
H A D | LoopSimplifyCFG.cpp | 261 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 D | LICM.cpp | 199 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 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()
|
H A D | IndVarSimplify.cpp | 1095 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 D | PartialInlining.cpp | 174 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 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 | 117 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 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/lib/Transforms/Utils/ |
H A D | LoopUtils.cpp | 539 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 D | CodeExtractor.cpp | 447 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 D | CodeExtractor.h | 221 BasicBlock *&ExitBlock) const; 249 Instruction *Addr, BasicBlock *ExitBlock) const;
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | ControlHeightReduction.cpp | 344 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 D | InstrProfiling.cpp | 423 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 D | PGOCtxProfWriter.h | 80 ~PGOCtxProfileWriter() { Writer.ExitBlock(); } in ~PGOCtxProfileWriter()
|
/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/lib/ProfileData/ |
H A D | PGOCtxProfWriter.cpp | 44 Writer.ExitBlock(); in writeImpl()
|
/freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | CGCUDANV.cpp | 836 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 D | CGDeclCXX.cpp | 1068 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 D | CGStmt.cpp | 1036 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 D | Transfer.cpp | 863 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 D | BitcodeWriter.cpp | 994 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 D | DXILBitcodeWriter.cpp | 414 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 D | GenericUniformityImpl.h | 573 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()
|