| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LCSSA.cpp | 70 const SmallVectorImpl<BasicBlock *> &ExitBlocks) { in isExitBlock() argument 71 return is_contained(ExitBlocks, BB); in isExitBlock() 105 const SmallVectorImpl<BasicBlock *> &ExitBlocks = It->second; in formLCSSAForInstructionsImpl() local 107 if (ExitBlocks.empty()) in formLCSSAForInstructionsImpl() 157 for (BasicBlock *ExitBB : ExitBlocks) { in formLCSSAForInstructionsImpl() 230 if (isa<PHINode>(UserBB->begin()) && isExitBlock(UserBB, ExitBlocks)) { in formLCSSAForInstructionsImpl() 338 Loop &L, const DominatorTree &DT, ArrayRef<BasicBlock *> ExitBlocks, in computeBlocksDominatingExits() argument 342 SmallVector<BasicBlock *, 8> BBWorklist(ExitBlocks); in computeBlocksDominatingExits() 395 const SmallVectorImpl<BasicBlock *> &ExitBlocks = It->second; in formLCSSAImpl() local 396 if (ExitBlocks.empty()) in formLCSSAImpl() [all …]
|
| H A D | LoopUtils.cpp | 1502 SmallVector<BasicBlock *, 8> ExitBlocks; in canLoopBeDeleted() local 1503 L->getUniqueExitBlocks(ExitBlocks); in canLoopBeDeleted() 1504 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) in canLoopBeDeleted() 1507 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted() 1565 SmallVector<BasicBlock*, 8> ExitBlocks; in rewriteLoopExitValues() local 1566 L->getUniqueExitBlocks(ExitBlocks); in rewriteLoopExitValues() 1572 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues()
|
| H A D | LoopUnroll.cpp | 492 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local 493 L->getExitBlocks(ExitBlocks); in UnrollLoop() 563 any_of(ExitBlocks, in UnrollLoop()
|
| H A D | LoopPeel.cpp | 595 SmallVector<BasicBlock *, 4> ExitBlocks; in violatesLegacyMultiExitLoopCheck() local 596 L->getUniqueNonLatchExitBlocks(ExitBlocks); in violatesLegacyMultiExitLoopCheck() 597 return any_of(ExitBlocks, [](const BasicBlock *EB) { in violatesLegacyMultiExitLoopCheck()
|
| H A D | CodeExtractor.cpp | 1562 SmallPtrSet<BasicBlock *, 2> ExitBlocks; in computeExtractedFuncRetVals() local 1568 bool IsNew = ExitBlocks.insert(Succ).second; in computeExtractedFuncRetVals()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | MemorySSAUpdater.h | 106 ArrayRef<BasicBlock *> ExitBlocks, 115 LLVM_ABI void updateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks, 119 ArrayRef<BasicBlock *> ExitBlocks, 293 void privateUpdateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | SimpleLoopUnswitch.cpp | 1174 ArrayRef<BasicBlock *> ExitBlocks, BasicBlock *ParentBB, in buildClonedLoopBlocks() argument 1182 NewBlocks.reserve(L.getNumBlocks() + ExitBlocks.size()); in buildClonedLoopBlocks() 1216 for (auto *ExitBB : ExitBlocks) { in buildClonedLoopBlocks() 1428 static void buildClonedLoops(Loop &OrigL, ArrayRef<BasicBlock *> ExitBlocks, in buildClonedLoops() argument 1446 ClonedExitsInLoops.reserve(ExitBlocks.size()); in buildClonedLoops() 1447 for (auto *ExitBB : ExitBlocks) in buildClonedLoops() 1678 deleteDeadClonedBlocks(Loop &L, ArrayRef<BasicBlock *> ExitBlocks, in deleteDeadClonedBlocks() argument 1683 for (BasicBlock *BB : llvm::concat<BasicBlock *const>(L.blocks(), ExitBlocks)) in deleteDeadClonedBlocks() 1708 SmallVectorImpl<BasicBlock *> &ExitBlocks, in deleteDeadBlocksFromLoop() argument 1719 SmallVector<BasicBlock *, 16> DeathCandidates(ExitBlocks.begin(), in deleteDeadBlocksFromLoop() [all …]
|
| H A D | LICM.cpp | 487 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnLoop() local 488 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop() 491 bool HasCatchSwitch = llvm::any_of(ExitBlocks, [](BasicBlock *Exit) { in runOnLoop() 498 InsertPts.reserve(ExitBlocks.size()); in runOnLoop() 499 MSSAInsertPts.reserve(ExitBlocks.size()); in runOnLoop() 500 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop() 516 PointerMustAliases, ExitBlocks, InsertPts, MSSAInsertPts, PIC, LI, in runOnLoop() 1495 SmallVector<BasicBlock *, 32> ExitBlocks; in splitPredecessorsOfLoopExit() local 1496 CurLoop->getUniqueExitBlocks(ExitBlocks); in splitPredecessorsOfLoopExit() 1497 SmallPtrSet<BasicBlock *, 32> ExitBlockSet(llvm::from_range, ExitBlocks); in splitPredecessorsOfLoopExit() [all …]
|
| H A D | LoopSimplifyCFG.cpp | 273 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local 274 L.getExitBlocks(ExitBlocks); in analyze() 276 for (auto *ExitBlock : ExitBlocks) in analyze()
|
| H A D | LoopIdiomRecognize.cpp | 214 SmallVectorImpl<BasicBlock *> &ExitBlocks); 357 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 358 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 380 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop() 579 SmallVectorImpl<BasicBlock *> &ExitBlocks) { in runOnLoopBlock() argument 583 for (BasicBlock *ExitBlock : ExitBlocks) in runOnLoopBlock()
|
| H A D | IndVarSimplify.cpp | 438 SmallVector<BasicBlock *, 8> ExitBlocks; in rewriteFirstIterationLoopExitValues() local 439 L->getUniqueExitBlocks(ExitBlocks); in rewriteFirstIterationLoopExitValues() 442 for (auto *ExitBB : ExitBlocks) { in rewriteFirstIterationLoopExitValues()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Support/ |
| H A D | GenericLoopInfoImpl.h | 65 SmallVectorImpl<BlockT *> &ExitBlocks) const { in getExitBlocks() argument 71 ExitBlocks.push_back(Succ); in getExitBlocks() 129 SmallVectorImpl<BlockT *> &ExitBlocks, in getUniqueExitBlocksHelper() argument 138 ExitBlocks.push_back(Successor); in getUniqueExitBlocksHelper() 143 SmallVectorImpl<BlockT *> &ExitBlocks) const { in getUniqueExitBlocks() argument 144 getUniqueExitBlocksHelper(this, ExitBlocks, in getUniqueExitBlocks() 150 SmallVectorImpl<BlockT *> &ExitBlocks) const { in getUniqueNonLatchExitBlocks() argument 153 getUniqueExitBlocksHelper(this, ExitBlocks, in getUniqueNonLatchExitBlocks()
|
| H A D | GenericLoopInfo.h | 273 void getExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 285 void getUniqueExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 291 void getUniqueNonLatchExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
| H A D | LoopExtractor.cpp | 200 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnFunction() local 201 TLL->getExitBlocks(ExitBlocks); in runOnFunction() 202 for (auto *ExitBlock : ExitBlocks) in runOnFunction()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
| H A D | InstrProfiling.cpp | 432 BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, in PGOCounterPromoterHelper() argument 436 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), in PGOCounterPromoterHelper() 444 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in doExtraRewritesBeforeFinalDeletion() 445 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() 490 ArrayRef<BasicBlock *> ExitBlocks; member in __anon21e6fd6b0111::PGOCounterPromoterHelper 520 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter() 528 if (ExitBlocks.size() == 0) in run() 537 for (auto *BB : ExitBlocks) in run() 567 L.getLoopPreheader(), ExitBlocks, in run() 658 SmallVector<BasicBlock *, 8> ExitBlocks; member in __anon21e6fd6b0111::PGOCounterPromoter
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | MemorySSAUpdater.cpp | 670 ArrayRef<BasicBlock *> ExitBlocks, in updateForClonedLoop() argument 674 llvm::from_range, concat<BasicBlock *const>(LoopBlocks, ExitBlocks)); in updateForClonedLoop() 758 ArrayRef<BasicBlock *> ExitBlocks, Iter ValuesBegin, Iter ValuesEnd, in privateUpdateExitBlocksForClonedLoop() argument 762 for (auto *Exit : ExitBlocks) in privateUpdateExitBlocksForClonedLoop() 772 ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, in updateExitBlocksForClonedLoop() argument 775 privateUpdateExitBlocksForClonedLoop(ExitBlocks, std::begin(Arr), in updateExitBlocksForClonedLoop() 780 ArrayRef<BasicBlock *> ExitBlocks, in updateExitBlocksForClonedLoop() argument 790 privateUpdateExitBlocksForClonedLoop(ExitBlocks, MapBegin, MapEnd, DT); in updateExitBlocksForClonedLoop()
|
| H A D | LoopInfo.cpp | 1029 SmallVector<BasicBlock *, 8> ExitBlocks; in printLoop() local 1030 L.getExitBlocks(ExitBlocks); in printLoop() 1031 if (!ExitBlocks.empty()) { in printLoop() 1033 for (auto *Block : ExitBlocks) in printLoop()
|
| H A D | MemorySSA.cpp | 1574 SmallVector<BasicBlock *> ExitBlocks; in buildMemorySSA() local 1575 L->getExitBlocks(ExitBlocks); in buildMemorySSA() 1576 Visited.insert_range(ExitBlocks); in buildMemorySSA()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMLowOverheadLoops.cpp | 157 SmallVector<MachineBasicBlock*, 2> ExitBlocks; in ProcessLoop() local 158 ML.getExitBlocks(ExitBlocks); in ProcessLoop() 159 append_range(Order, ExitBlocks); in ProcessLoop() 1010 SmallVector<MachineBasicBlock *, 2> ExitBlocks; in ValidateLiveOuts() local 1011 ML.getExitBlocks(ExitBlocks); in ValidateLiveOuts() 1013 assert(ExitBlocks.size() == 1 && "Expected a single exit block"); in ValidateLiveOuts() 1014 MachineBasicBlock *ExitBB = ExitBlocks.front(); in ValidateLiveOuts()
|
| H A D | ARMTargetTransformInfo.cpp | 2641 SmallVector<BasicBlock *, 4> ExitBlocks; in getUnrollingPreferences() local 2642 L->getExitBlocks(ExitBlocks); in getUnrollingPreferences() 2643 for (auto *Exit : ExitBlocks) { in getUnrollingPreferences()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonLoopIdiomRecognition.cpp | 131 SmallVectorImpl<BasicBlock *> &ExitBlocks); 2130 SmallVector<BasicBlock*, 8> ExitBlocks; in processCopyingStore() local 2131 CurLoop->getUniqueExitBlocks(ExitBlocks); in processCopyingStore() 2132 if (ExitBlocks.size() != 1) in processCopyingStore() 2134 ExitB = ExitBlocks[0]; in processCopyingStore() 2343 const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) { in runOnLoopBlock() argument 2350 if (!all_of(ExitBlocks, DominatedByBB)) in runOnLoopBlock() 2378 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 2379 L->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 2388 Changed |= runOnLoopBlock(L, BB, BECount, ExitBlocks); in runOnCountableLoop()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | ShrinkWrap.cpp | 783 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local 784 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints() 788 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
|
| H A D | MachineLICM.cpp | 152 SmallVector<MachineBasicBlock *, 8> ExitBlocks; in isExitBlock() local 153 CurLoop->getExitBlocks(ExitBlocks); in isExitBlock() 154 It->second = std::move(ExitBlocks); in isExitBlock()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlan.cpp | 928 ExitBlocks.push_back(createVPIRBasicBlock(EB)); in VPlan() 990 return is_contained(ExitBlocks, VPBB); in isExitBlock() 1291 NewPlan->ExitBlocks.push_back(cast<VPIRBasicBlock>(VPB)); in duplicate()
|
| H A D | VPlan.h | 3870 SmallVector<VPIRBasicBlock *, 2> ExitBlocks; 4008 ArrayRef<VPIRBasicBlock *> getExitBlocks() const { return ExitBlocks; } 4216 return ExitBlocks.size() > 1 || 4217 (ExitBlocks.size() == 1 && ExitBlocks[0]->getNumPredecessors() > 1);
|