| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/ |
| H A D | LoopFuse.cpp | 160 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 D | LoopDeletion.cpp | 67 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 D | LICM.cpp | 170 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 D | LoopSimplifyCFG.cpp | 264 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 D | LoopDistribute.cpp | 445 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 D | IndVarSimplify.cpp | 1207 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 D | SyncDependenceAnalysis.cpp | 320 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 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->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 D | LoopNestAnalysis.cpp | 338 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 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()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Transforms/Utils/ |
| H A D | CodeExtractor.h | 214 BasicBlock *&ExitBlock) const; 242 Instruction *Addr, BasicBlock *ExitBlock) const;
|
| /openbsd-src/gnu/llvm/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 &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 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()
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 525 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 D | CodeExtractor.cpp | 446 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 D | BitstreamRemarkSerializer.cpp | 231 Bitstream.ExitBlock(); in setupBlockInfo() 267 Bitstream.ExitBlock(); in emitMetaBlock() 317 Bitstream.ExitBlock(); in emitRemarkBlock()
|
| /openbsd-src/gnu/llvm/clang/lib/CodeGen/ |
| H A D | CGCUDANV.cpp | 829 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 D | CGStmt.cpp | 911 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 D | CGDeclCXX.cpp | 1027 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 D | BitcodeWriter.cpp | 869 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 D | DXILBitcodeWriter.cpp | 415 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 D | GenericUniformityImpl.h | 568 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 D | Transfer.cpp | 800 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 D | SerializedDiagnosticPrinter.cpp | 513 Stream.ExitBlock(); in EmitBlockInfoBlock() 523 Stream.ExitBlock(); in EmitMetaBlock() 682 State->Stream.ExitBlock(); in ExitDiagBlock()
|