Home
last modified time | relevance | path

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

12

/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
HDLoopDeletion.cpp45 BasicBlock *ExitBlock, bool &Changed, in isLoopDead() argument
54 for (PHINode &P : ExitBlock->phis()) { in isLoopDead()
158 BasicBlock *ExitBlock = L->getUniqueExitBlock(); in deleteLoopIfDead() local
160 if (ExitBlock && isLoopNeverExecuted(L)) { in deleteLoopIfDead()
163 for (PHINode &P : ExitBlock->phis()) { in deleteLoopIfDead()
181 if (!ExitBlock) { in deleteLoopIfDead()
187 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader)) { in deleteLoopIfDead()
HDLoopFuse.cpp143 BasicBlock *ExitBlock; member
169 ExitingBlock(L->getExitingBlock()), ExitBlock(L->getExitBlock()), in FusionCandidate()
214 return Preheader && Header && ExitingBlock && ExitBlock && Latch && L && in isValid()
226 assert(ExitBlock == L->getExitBlock() && "Exit block is out of sync"); in verify()
272 << "\tExitBB: " << (ExitBlock ? ExitBlock->getName() : "nullptr") in dump()
293 if (!ExitBlock) in isEligibleForFusion()
1042 return FC0.ExitBlock == FC1.getEntryBlock(); in isAdjacent()
1106 assert(FC.ExitBlock && "Expecting a valid exit block"); in isEmptyExitBlock()
1107 return FC.ExitBlock->size() == 1; in isEmptyExitBlock()
1175 assert(FC1.Preheader == FC0.ExitBlock); in performFusion()
[all …]
HDLICM.cpp159 Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI,
423 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop()
424 InsertPts.push_back(&*ExitBlock->getFirstInsertionPt()); in runOnLoop()
1366 Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI, in CloneInstructionInExitBlock() argument
1386 const ColorVector &CV = BlockColors.find(&ExitBlock)->second; in CloneInstructionInExitBlock()
1399 ExitBlock.getInstList().insert(ExitBlock.getFirstInsertionPt(), New); in CloneInstructionInExitBlock()
1431 OInst->getName() + ".lcssa", &ExitBlock.front()); in CloneInstructionInExitBlock()
1472 BasicBlock *ExitBlock = TPN->getParent(); in sinkThroughTriviallyReplaceablePHI() local
1474 auto It = SunkCopies.find(ExitBlock); in sinkThroughTriviallyReplaceablePHI()
1478 New = SunkCopies[ExitBlock] = CloneInstructionInExitBlock( in sinkThroughTriviallyReplaceablePHI()
[all …]
HDLoopUnswitch.cpp251 BasicBlock *ExitBlock, Instruction *TI);
1001 BasicBlock *ExitBlock, in UnswitchTrivialCondition() argument
1026 assert(!L->contains(ExitBlock) && "Exit block is in the loop?"); in UnswitchTrivialCondition()
1028 SplitBlock(ExitBlock, &ExitBlock->front(), DT, LI, MSSAU.get()); in UnswitchTrivialCondition()
1220 BasicBlock *ExitBlock = ExitBlocks[i]; in SplitExitEdges() local
1221 SmallVector<BasicBlock *, 4> Preds(pred_begin(ExitBlock), in SplitExitEdges()
1222 pred_end(ExitBlock)); in SplitExitEdges()
1226 SplitBlockPredecessors(ExitBlock, Preds, ".us-lcssa", DT, LI, MSSAU.get(), in SplitExitEdges()
HDLoopSimplifyCFG.cpp267 for (auto *ExitBlock : ExitBlocks) in analyze() local
268 if (!LiveExitBlocks.count(ExitBlock) && in analyze()
269 UniqueDeadExits.insert(ExitBlock).second) in analyze()
270 DeadExitBlocks.push_back(ExitBlock); in analyze()
HDLoopDistribute.cpp448 BasicBlock *ExitBlock = L->getExitBlock(); in cloneLoops() local
449 assert(ExitBlock && "No single exit block"); in cloneLoops()
473 Part->getVMap()[ExitBlock] = TopPH; in cloneLoops()
HDIndVarSimplify.cpp861 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted() local
862 BasicBlock::iterator BI = ExitBlock->begin(); in canLoopBeDeleted()
2594 BasicBlock *ExitBlock = L->getExitBlock(); in sinkUnusedInvariants() local
2595 if (!ExitBlock) return false; in sinkUnusedInvariants()
2601 BasicBlock::iterator InsertPt = ExitBlock->getFirstInsertionPt(); in sinkUnusedInvariants()
2671 ToMove->moveBefore(*ExitBlock, InsertPt); in sinkUnusedInvariants()
2887 BasicBlock *ExitBlock = in predicateLoopExits() local
2889 if (!ExitBlock->phis().empty()) in predicateLoopExits()
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/IPO/
HDPartialInlining.cpp186 BasicBlock *EntryBlock, BasicBlock *ExitBlock, in OutlineRegionInfo()
189 ExitBlock(ExitBlock), ReturnBlock(ReturnBlock) {} in OutlineRegionInfo()
192 BasicBlock *ExitBlock; member
422 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
426 if (ExitBlock) { in computeOutliningColdRegionsInfo()
436 ExitBlock = Block; in computeOutliningColdRegionsInfo()
440 return ExitBlock; in computeOutliningColdRegionsInfo()
506 BasicBlock *ExitBlock = nullptr; in computeOutliningColdRegionsInfo() local
508 if (!(ExitBlock = IsSingleExit(DominateVector))) in computeOutliningColdRegionsInfo()
535 BasicBlock *ReturnBlock = ExitBlock->getSingleSuccessor(); in computeOutliningColdRegionsInfo()
[all …]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/
HDMustExecute.cpp116 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()
HDSyncDependenceAnalysis.cpp319 for (const auto *ExitBlock : ReachedLoopExits) { in computeJoinPoints() local
320 auto ItExitDef = DefMap.find(ExitBlock); in computeJoinPoints()
324 JoinBlocks->insert(ExitBlock); in computeJoinPoints()
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
HDLoopUtils.cpp525 auto *ExitBlock = L->getUniqueExitBlock(); in deleteDeadLoop() local
526 assert(ExitBlock && "Should have a unique exit block!"); in deleteDeadLoop()
558 Builder.CreateCondBr(Builder.getFalse(), L->getHeader(), ExitBlock); in deleteDeadLoop()
564 for (PHINode &P : ExitBlock->phis()) { in deleteDeadLoop()
587 Builder.CreateBr(ExitBlock); in deleteDeadLoop()
595 DTU.applyUpdates({{DominatorTree::Insert, Preheader, ExitBlock}, in deleteDeadLoop()
642 DIBuilder DIB(*ExitBlock->getModule()); in deleteDeadLoop()
643 Instruction *InsertDbgValueBefore = ExitBlock->getFirstNonPHI(); in deleteDeadLoop()
HDCodeExtractor.cpp445 BasicBlock *ExitBlock) const { in getLifetimeMarkers()
480 if (Info.HoistLifeEnd && !ExitBlock) in getLifetimeMarkers()
488 BasicBlock *&ExitBlock) const { in findAllocas()
490 ExitBlock = getCommonExitBlock(Blocks); in findAllocas()
521 LifetimeMarkerInfo MarkerInfo = getLifetimeMarkers(CEAC, AI, ExitBlock); in findAllocas()
535 LifetimeMarkerInfo LMI = getLifetimeMarkers(CEAC, Bitcast, ExitBlock); in findAllocas()
/freebsd-11-stable/contrib/llvm-project/clang/lib/CodeGen/
HDCGCUDANV.cpp622 llvm::BasicBlock *ExitBlock = in makeModuleCtorFunction() local
643 CtorBuilder.CreateCondBr(EQZero, IfBlock, ExitBlock); in makeModuleCtorFunction()
652 CtorBuilder.CreateBr(ExitBlock); in makeModuleCtorFunction()
655 CtorBuilder.SetInsertPoint(ExitBlock); in makeModuleCtorFunction()
781 llvm::BasicBlock *ExitBlock = in makeModuleDtorFunction() local
785 DtorBuilder.CreateCondBr(NEZero, IfBlock, ExitBlock); in makeModuleDtorFunction()
790 DtorBuilder.CreateBr(ExitBlock); in makeModuleDtorFunction()
792 DtorBuilder.SetInsertPoint(ExitBlock); in makeModuleDtorFunction()
HDCGDeclCXX.cpp681 llvm::BasicBlock *ExitBlock = nullptr; in GenerateCXXGlobalInitFunc() local
689 ExitBlock = createBasicBlock("exit"); in GenerateCXXGlobalInitFunc()
690 EmitCXXGuardedInitBranch(Uninit, InitBlock, ExitBlock, in GenerateCXXGlobalInitFunc()
720 if (ExitBlock) { in GenerateCXXGlobalInitFunc()
721 Builder.CreateBr(ExitBlock); in GenerateCXXGlobalInitFunc()
722 EmitBlock(ExitBlock); in GenerateCXXGlobalInitFunc()
HDCGStmt.cpp762 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitWhileStmt() local
764 ExitBlock = createBasicBlock("while.exit"); in EmitWhileStmt()
766 BoolCondVal, LoopBody, ExitBlock, in EmitWhileStmt()
769 if (ExitBlock != LoopExit.getBlock()) { in EmitWhileStmt()
770 EmitBlock(ExitBlock); in EmitWhileStmt()
908 llvm::BasicBlock *ExitBlock = LoopExit.getBlock(); in EmitForStmt() local
912 ExitBlock = createBasicBlock("for.cond.cleanup"); in EmitForStmt()
921 BoolCondVal, ForBody, ExitBlock, in EmitForStmt()
924 if (ExitBlock != LoopExit.getBlock()) { in EmitForStmt()
925 EmitBlock(ExitBlock); in EmitForStmt()
[all …]
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
HDCodeExtractor.h185 BasicBlock *&ExitBlock) const;
207 Instruction *Addr, BasicBlock *ExitBlock) const;
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
HDControlHeightReduction.cpp379 BasicBlock *ExitBlock,
1579 BasicBlock *EntryBlock, BasicBlock *ExitBlock, in insertTrivialPHIs() argument
1602 !(isa<PHINode>(UI) && UI->getParent() == ExitBlock)) { in insertTrivialPHIs()
1621 unsigned PredCount = std::distance(pred_begin(ExitBlock), in insertTrivialPHIs()
1622 pred_end(ExitBlock)); in insertTrivialPHIs()
1624 &ExitBlock->front()); in insertTrivialPHIs()
1625 for (BasicBlock *Pred : predecessors(ExitBlock)) { in insertTrivialPHIs()
1708 BasicBlock *ExitBlock = LastRegion->getExit(); in transformScopes() local
1711 if (ExitBlock) { in transformScopes()
1718 insertTrivialPHIs(Scope, EntryBlock, ExitBlock, TrivialPHIs); in transformScopes()
[all …]
HDInstrProfiling.cpp197 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() local
202 Value *LiveInValue = SSA.GetValueInMiddleOfBlock(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
218 auto *TargetLoop = LI.getLoopFor(ExitBlock); in doExtraRewritesBeforeFinalDeletion()
249 for (BasicBlock *ExitBlock : LoopExitBlocks) { in PGOCounterPromoter()
250 if (BlockSet.insert(ExitBlock).second) { in PGOCounterPromoter()
251 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter()
252 InsertPts.push_back(&*ExitBlock->getFirstInsertionPt()); in PGOCounterPromoter()
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Remarks/
HDBitstreamRemarkSerializer.cpp230 Bitstream.ExitBlock(); in setupBlockInfo()
265 Bitstream.ExitBlock(); in emitMetaBlock()
315 Bitstream.ExitBlock(); in emitRemarkBlock()
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Bitcode/Writer/
HDBitcodeWriter.cpp785 Stream.ExitBlock(); in writeAttributeGroupTable()
807 Stream.ExitBlock(); in writeAttributeTable()
967 Stream.ExitBlock(); in writeTypeTable()
2132 Stream.ExitBlock(); in writeModuleMetadata()
2143 Stream.ExitBlock(); in writeFunctionMetadata()
2189 Stream.ExitBlock(); in writeFunctionMetadataAttachment()
2213 Stream.ExitBlock(); in writeModuleMetadataKinds()
2240 Stream.ExitBlock(); in writeOperandBundleTags()
2258 Stream.ExitBlock(); in writeSyncScopeNames()
2533 Stream.ExitBlock(); in writeConstants()
[all …]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
HDVPlan.h1205 void setExit(VPBlockBase *ExitBlock) { in setExit() argument
1206 assert(ExitBlock->getSuccessors().empty() && in setExit()
1208 Exit = ExitBlock; in setExit()
1209 ExitBlock->setParent(this); in setExit()
/freebsd-11-stable/contrib/llvm-project/clang/lib/Frontend/
HDSerializedDiagnosticPrinter.cpp510 Stream.ExitBlock(); in EmitBlockInfoBlock()
520 Stream.ExitBlock(); in EmitMetaBlock()
668 State->Stream.ExitBlock(); in ExitDiagBlock()
/freebsd-11-stable/contrib/llvm-project/clang/lib/Serialization/
HDGlobalModuleIndex.cpp507 Stream.ExitBlock(); in emitBlockInfoBlock()
848 Stream.ExitBlock(); in writeIndex()
HDASTWriter.cpp938 Stream.ExitBlock(); in WriteBlockInfoBlock()
1057 Stream.ExitBlock(); in writeUnhashedControlBlock()
1318 Stream.ExitBlock(); in WriteControlBlock()
1358 Stream.ExitBlock(); in WriteControlBlock()
1489 Stream.ExitBlock(); in WriteInputFiles()
1998 Stream.ExitBlock(); in WriteSourceManagerBlock()
2278 Stream.ExitBlock(); in WritePreprocessor()
2374 Stream.ExitBlock(); in WritePreprocessorDetail()
2693 Stream.ExitBlock(); in WriteSubmodules()
2903 auto _ = llvm::make_scope_exit([this] { Stream.ExitBlock(); }); in WriteComments()
[all …]
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Bitstream/
HDBitstreamWriter.h228 void ExitBlock() { in ExitBlock() function

12