Home
last modified time | relevance | path

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

12

/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
H A DLoopFuse.cpp157 BasicBlock *ExitBlock; member
190 ExitingBlock(L->getExitingBlock()), ExitBlock(L->getExitBlock()), in FusionCandidate()
236 return Preheader && Header && ExitingBlock && ExitBlock && Latch && L && in isValid()
248 assert(ExitBlock == L->getExitBlock() && "Exit block is out of sync"); in verify()
270 ExitBlock = L->getExitBlock(); in updateAfterPeeling()
307 << "\tExitBB: " << (ExitBlock ? ExitBlock->getName() : "nullptr") in dump()
328 if (!ExitBlock) in isEligibleForFusion()
797 FC0.GuardBranch ? FC0.ExitBlock->getUniqueSuccessor() : FC1.Preheader; in peelFusionCandidate()
802 if (Pred != FC0.ExitBlock) { in peelFusionCandidate()
930 if (!isSafeToMoveBefore(*FC0->ExitBlock, in fuseCandidates()
[all …]
H A DLoopDeletion.cpp56 BasicBlock *ExitBlock, bool &Changed, in isLoopDead() argument
66 for (PHINode &P : ExitBlock->phis()) { in isLoopDead()
189 BasicBlock *ExitBlock = L->getUniqueExitBlock(); in deleteLoopIfDead() local
191 if (ExitBlock && isLoopNeverExecuted(L)) { in deleteLoopIfDead()
198 for (PHINode &P : ExitBlock->phis()) { in deleteLoopIfDead()
221 if (!ExitBlock && !L->hasNoExitBlocks()) { in deleteLoopIfDead()
227 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader)) { in deleteLoopIfDead()
H A DLICM.cpp179 Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI,
443 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop()
444 InsertPts.push_back(&*ExitBlock->getFirstInsertionPt()); in runOnLoop()
1449 Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI, in cloneInstructionInExitBlock() argument
1469 const ColorVector &CV = BlockColors.find(&ExitBlock)->second; in cloneInstructionInExitBlock()
1482 ExitBlock.getInstList().insert(ExitBlock.getFirstInsertionPt(), New); in cloneInstructionInExitBlock()
1512 OInst->getName() + ".lcssa", &ExitBlock.front()); in cloneInstructionInExitBlock()
1553 BasicBlock *ExitBlock = TPN->getParent(); in sinkThroughTriviallyReplaceablePHI() local
1555 auto It = SunkCopies.find(ExitBlock); in sinkThroughTriviallyReplaceablePHI()
1559 New = SunkCopies[ExitBlock] = cloneInstructionInExitBlock( in sinkThroughTriviallyReplaceablePHI()
[all …]
H A DLoopUnswitch.cpp263 BasicBlock *ExitBlock, Instruction *TI);
1096 BasicBlock *ExitBlock, in unswitchTrivialCondition() argument
1121 assert(!L->contains(ExitBlock) && "Exit block is in the loop?"); in unswitchTrivialCondition()
1123 SplitBlock(ExitBlock, &ExitBlock->front(), DT, LI, MSSAU.get()); in unswitchTrivialCondition()
1314 BasicBlock *ExitBlock = ExitBlocks[I]; in splitExitEdges() local
1315 SmallVector<BasicBlock *, 4> Preds(pred_begin(ExitBlock), in splitExitEdges()
1316 pred_end(ExitBlock)); in splitExitEdges()
1320 SplitBlockPredecessors(ExitBlock, Preds, ".us-lcssa", DT, LI, MSSAU.get(), in splitExitEdges()
H A DLoopSimplifyCFG.cpp268 for (auto *ExitBlock : ExitBlocks) in analyze() local
269 if (!LiveExitBlocks.count(ExitBlock) && in analyze()
270 UniqueDeadExits.insert(ExitBlock).second) in analyze()
271 DeadExitBlocks.push_back(ExitBlock); in analyze()
H A DIndVarSimplify.cpp1209 BasicBlock *ExitBlock = L->getExitBlock(); in sinkUnusedInvariants() local
1210 if (!ExitBlock) return false; in sinkUnusedInvariants()
1216 BasicBlock::iterator InsertPt = ExitBlock->getFirstInsertionPt(); in sinkUnusedInvariants()
1286 ToMove->moveBefore(*ExitBlock, InsertPt); in sinkUnusedInvariants()
1600 BasicBlock *ExitBlock = in predicateLoopExits() local
1602 if (!ExitBlock->phis().empty()) in predicateLoopExits()
H A DLoopDistribute.cpp447 BasicBlock *ExitBlock = L->getExitBlock(); in cloneLoops() local
448 assert(ExitBlock && "No single exit block"); in cloneLoops()
472 Part->getVMap()[ExitBlock] = TopPH; in cloneLoops()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/
H A DSyncDependenceAnalysis.cpp302 bool visitLoopExitEdge(const BasicBlock &ExitBlock, in visitLoopExitEdge()
306 return visitEdge(ExitBlock, DefBlock); in visitLoopExitEdge()
308 if (!computeJoin(ExitBlock, DefBlock)) in visitLoopExitEdge()
312 DivDesc->LoopDivBlocks.insert(&ExitBlock); in visitLoopExitEdge()
313 LLVM_DEBUG(dbgs() << "\tDivergent loop exit: " << ExitBlock.getName() in visitLoopExitEdge()
H A DMustExecute.cpp119 static bool CanProveNotTakenFirstIteration(const BasicBlock *ExitBlock, in CanProveNotTakenFirstIteration() argument
122 auto *CondExitBlock = ExitBlock->getSinglePredecessor(); in CanProveNotTakenFirstIteration()
133 return BI->getSuccessor(Cond->getZExtValue() ? 1 : 0) == ExitBlock; in CanProveNotTakenFirstIteration()
144 auto DL = ExitBlock->getModule()->getDataLayout(); in CanProveNotTakenFirstIteration()
153 if (ExitBlock == BI->getSuccessor(0)) in CanProveNotTakenFirstIteration()
155 assert(ExitBlock == BI->getSuccessor(1) && "implied by above"); in CanProveNotTakenFirstIteration()
H A DLoopNestAnalysis.cpp258 auto ContainsLCSSAPhi = [](const BasicBlock &ExitBlock) { in checkLoopsStructure() argument
259 return any_of(ExitBlock.phis(), [](const PHINode &PN) { in checkLoopsStructure()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/
H A DPartialInlining.cpp178 BasicBlock *EntryBlock, BasicBlock *ExitBlock, in OutlineRegionInfo()
181 ExitBlock(ExitBlock), ReturnBlock(ReturnBlock) {} in OutlineRegionInfo()
184 BasicBlock *ExitBlock; member
421 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
425 if (ExitBlock) { in computeOutliningColdRegionsInfo()
436 ExitBlock = Block; in computeOutliningColdRegionsInfo()
440 return ExitBlock; in computeOutliningColdRegionsInfo()
514 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
516 if (!(ExitBlock = IsSingleExit(DominateVector))) { in computeOutliningColdRegionsInfo()
551 BasicBlock *ReturnBlock = ExitBlock->getSingleSuccessor(); in computeOutliningColdRegionsInfo()
[all …]
H A DLoopExtractor.cpp207 for (auto *ExitBlock : ExitBlocks) in runOnFunction() local
208 if (!isa<ReturnInst>(ExitBlock->getTerminator())) { in runOnFunction()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp590 auto *ExitBlock = L->getUniqueExitBlock(); in deleteDeadLoop() local
592 if (ExitBlock) { in deleteDeadLoop()
593 assert(ExitBlock && "Should have a unique exit block!"); in deleteDeadLoop()
596 Builder.CreateCondBr(Builder.getFalse(), L->getHeader(), ExitBlock); in deleteDeadLoop()
602 for (PHINode &P : ExitBlock->phis()) { in deleteDeadLoop()
624 DTU.applyUpdates({{DominatorTree::Insert, Preheader, ExitBlock}}); in deleteDeadLoop()
626 MSSAU->applyUpdates({{DominatorTree::Insert, Preheader, ExitBlock}}, in deleteDeadLoop()
635 Builder.CreateBr(ExitBlock); in deleteDeadLoop()
664 if (ExitBlock) { in deleteDeadLoop()
706 DIBuilder DIB(*ExitBlock->getModule()); in deleteDeadLoop()
[all …]
H A DCodeExtractor.cpp447 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()
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/
H A DCodeExtractor.h187 BasicBlock *&ExitBlock) const;
209 Instruction *Addr, BasicBlock *ExitBlock) const;
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Instrumentation/
H A DControlHeightReduction.cpp375 BasicBlock *ExitBlock,
1571 BasicBlock *EntryBlock, BasicBlock *ExitBlock, in insertTrivialPHIs() argument
1592 !(isa<PHINode>(UI) && UI->getParent() == ExitBlock)) { in insertTrivialPHIs()
1611 PHINode *PN = PHINode::Create(I.getType(), pred_size(ExitBlock), "", in insertTrivialPHIs()
1612 &ExitBlock->front()); in insertTrivialPHIs()
1613 for (BasicBlock *Pred : predecessors(ExitBlock)) { in insertTrivialPHIs()
1696 BasicBlock *ExitBlock = LastRegion->getExit(); in transformScopes() local
1699 if (ExitBlock) { in transformScopes()
1706 insertTrivialPHIs(Scope, EntryBlock, ExitBlock, TrivialPHIs); in transformScopes()
1729 cloneScopeBlocks(Scope, PreEntryBlock, ExitBlock, LastRegion, VMap); in transformScopes()
[all …]
H A DInstrProfiling.cpp195 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() local
200 Value *LiveInValue = SSA.GetValueInMiddleOfBlock(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
217 auto *TargetLoop = LI.getLoopFor(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
253 for (BasicBlock *ExitBlock : LoopExitBlocks) { in PGOCounterPromoter()
254 if (BlockSet.insert(ExitBlock).second) { in PGOCounterPromoter()
255 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter()
256 InsertPts.push_back(&*ExitBlock->getFirstInsertionPt()); in PGOCounterPromoter()
/netbsd-src/external/apache2/llvm/dist/clang/lib/CodeGen/
H A DCGStmt.cpp836 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitWhileStmt() local
838 ExitBlock = createBasicBlock("while.exit"); in EmitWhileStmt()
844 Builder.CreateCondBr(BoolCondVal, LoopBody, ExitBlock, Weights); in EmitWhileStmt()
846 if (ExitBlock != LoopExit.getBlock()) { in EmitWhileStmt()
847 EmitBlock(ExitBlock); in EmitWhileStmt()
1007 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitForStmt() local
1011 ExitBlock = createBasicBlock("for.cond.cleanup"); in EmitForStmt()
1025 Builder.CreateCondBr(BoolCondVal, ForBody, ExitBlock, Weights); in EmitForStmt()
1027 if (ExitBlock != LoopExit.getBlock()) { in EmitForStmt()
1028 EmitBlock(ExitBlock); in EmitForStmt()
[all …]
H A DCGCUDANV.cpp801 llvm::BasicBlock *ExitBlock = in makeModuleCtorFunction() local
822 CtorBuilder.CreateCondBr(EQZero, IfBlock, ExitBlock); in makeModuleCtorFunction()
831 CtorBuilder.CreateBr(ExitBlock); in makeModuleCtorFunction()
834 CtorBuilder.SetInsertPoint(ExitBlock); in makeModuleCtorFunction()
960 llvm::BasicBlock *ExitBlock = in makeModuleDtorFunction() local
964 DtorBuilder.CreateCondBr(NEZero, IfBlock, ExitBlock); in makeModuleDtorFunction()
969 DtorBuilder.CreateBr(ExitBlock); in makeModuleDtorFunction()
971 DtorBuilder.SetInsertPoint(ExitBlock); in makeModuleDtorFunction()
H A DCGDeclCXX.cpp758 llvm::BasicBlock *ExitBlock = nullptr; in GenerateCXXGlobalInitFunc() local
766 ExitBlock = createBasicBlock("exit"); in GenerateCXXGlobalInitFunc()
767 EmitCXXGuardedInitBranch(Uninit, InitBlock, ExitBlock, in GenerateCXXGlobalInitFunc()
797 if (ExitBlock) { in GenerateCXXGlobalInitFunc()
798 Builder.CreateBr(ExitBlock); in GenerateCXXGlobalInitFunc()
799 EmitBlock(ExitBlock); in GenerateCXXGlobalInitFunc()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Remarks/
H A DBitstreamRemarkSerializer.cpp229 Bitstream.ExitBlock(); in setupBlockInfo()
264 Bitstream.ExitBlock(); in emitMetaBlock()
314 Bitstream.ExitBlock(); in emitRemarkBlock()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Bitcode/Writer/
H A DBitcodeWriter.cpp822 Stream.ExitBlock(); in writeAttributeGroupTable()
844 Stream.ExitBlock(); in writeAttributeTable()
1022 Stream.ExitBlock(); in writeTypeTable()
2265 Stream.ExitBlock(); in writeModuleMetadata()
2276 Stream.ExitBlock(); in writeFunctionMetadata()
2322 Stream.ExitBlock(); in writeFunctionMetadataAttachment()
2346 Stream.ExitBlock(); in writeModuleMetadataKinds()
2373 Stream.ExitBlock(); in writeOperandBundleTags()
2391 Stream.ExitBlock(); in writeSyncScopeNames()
2658 Stream.ExitBlock(); in writeConstants()
[all …]
/netbsd-src/external/apache2/llvm/dist/clang/lib/Frontend/
H A DSerializedDiagnosticPrinter.cpp514 Stream.ExitBlock(); in EmitBlockInfoBlock()
524 Stream.ExitBlock(); in EmitMetaBlock()
683 State->Stream.ExitBlock(); in ExitDiagBlock()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
H A DVPlan.h1663 void setExit(VPBlockBase *ExitBlock) { in setExit() argument
1664 assert(ExitBlock->getSuccessors().empty() && in setExit()
1666 Exit = ExitBlock; in setExit()
1667 ExitBlock->setParent(this); in setExit()
/netbsd-src/external/apache2/llvm/dist/clang/lib/Serialization/
H A DGlobalModuleIndex.cpp507 Stream.ExitBlock(); in emitBlockInfoBlock()
847 Stream.ExitBlock(); in writeIndex()

12