/netbsd/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
H A D | LCSSA.cpp | 72 const SmallVectorImpl<BasicBlock *> &ExitBlocks) { in isExitBlock() argument 73 return is_contained(ExitBlocks, BB); in isExitBlock() 106 const SmallVectorImpl<BasicBlock *> &ExitBlocks = LoopExitBlocks[L]; in formLCSSAForInstructions() local 108 if (ExitBlocks.empty()) in formLCSSAForInstructions() 155 for (BasicBlock *ExitBB : ExitBlocks) { in formLCSSAForInstructions() 219 if (isa<PHINode>(UserBB->begin()) && isExitBlock(UserBB, ExitBlocks)) { in formLCSSAForInstructions() 299 SmallVector<BasicBlock *, 8> BBWorklist(ExitBlocks); in computeBlocksDominatingExits() 346 SmallVector<BasicBlock *, 8> ExitBlocks; in formLCSSA() local 347 L.getExitBlocks(ExitBlocks); in formLCSSA() 348 if (ExitBlocks.empty()) in formLCSSA() [all …]
|
H A D | LoopUtils.cpp | 820 SmallVector<BasicBlock *, 4> ExitBlocks; in getExpectedExitLoopLatchBranch() local 821 L->getUniqueNonLatchExitBlocks(ExitBlocks); in getExpectedExitLoopLatchBranch() 822 if (any_of(ExitBlocks, [](const BasicBlock *EB) { in getExpectedExitLoopLatchBranch() 1252 SmallVector<BasicBlock *, 8> ExitBlocks; in canLoopBeDeleted() local 1253 L->getUniqueExitBlocks(ExitBlocks); in canLoopBeDeleted() 1254 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) in canLoopBeDeleted() 1257 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted() 1303 SmallVector<BasicBlock*, 8> ExitBlocks; in rewriteLoopExitValues() local 1304 L->getUniqueExitBlocks(ExitBlocks); in rewriteLoopExitValues() 1310 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues()
|
H A D | LoopUnroll.cpp | 368 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local 369 L->getExitBlocks(ExitBlocks); in UnrollLoop() 380 any_of(ExitBlocks, in UnrollLoop()
|
H A D | CodeExtractor.cpp | 1612 SmallPtrSet<BasicBlock *, 1> ExitBlocks; in extractCodeRegion() local 1621 ExitBlocks.insert(Succ); in extractCodeRegion() 1625 NumExitBlocks = ExitBlocks.size(); in extractCodeRegion() 1629 severSplitPHINodesOfExits(ExitBlocks); in extractCodeRegion() 1739 for (BasicBlock *ExitBB : ExitBlocks) in extractCodeRegion()
|
/netbsd/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
H A D | LoopInfoImpl.h | 69 ExitBlocks.push_back(Succ); in getExitBlocks() 74 SmallVector<BlockT *, 8> ExitBlocks; in hasNoExitBlocks() local 75 getExitBlocks(ExitBlocks); in hasNoExitBlocks() 76 return ExitBlocks.empty(); in hasNoExitBlocks() 84 SmallVector<BlockT *, 8> ExitBlocks; in getExitBlock() local 85 getExitBlocks(ExitBlocks); in getExitBlock() 86 if (ExitBlocks.size() == 1) in getExitBlock() 87 return ExitBlocks[0]; in getExitBlock() 118 ExitBlocks.push_back(Successor); in getUniqueExitBlocksHelper() 124 getUniqueExitBlocksHelper(this, ExitBlocks, in getUniqueExitBlocks() [all …]
|
H A D | MemorySSAUpdater.h | 106 ArrayRef<BasicBlock *> ExitBlocks, 115 void updateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks, 119 ArrayRef<BasicBlock *> ExitBlocks, 290 void privateUpdateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
|
H A D | LoopInfo.h | 281 void getExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 293 void getUniqueExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 299 void getUniqueNonLatchExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
|
/netbsd/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
H A D | SimpleLoopUnswitch.cpp | 1058 for (auto *ExitBB : ExitBlocks) { in buildClonedLoopBlocks() 1276 ClonedExitsInLoops.reserve(ExitBlocks.size()); in buildClonedLoops() 1277 for (auto *ExitBB : ExitBlocks) in buildClonedLoops() 1567 llvm::erase_if(ExitBlocks, in deleteDeadBlocksFromLoop() 1747 ExitsInLoops.reserve(ExitBlocks.size()); in rebuildLoopAfterUnswitch() 1748 for (auto *ExitBB : ExitBlocks) in rebuildLoopAfterUnswitch() 2038 for (auto *ExitBB : ExitBlocks) { in unswitchNontrivialInvariants() 2485 ExitBlocks.push_back(CheckBI->getSuccessor(1)); in turnGuardIntoBranch() 2688 SmallVector<BasicBlock *, 4> ExitBlocks; in unswitchBestCondition() local 2689 L.getUniqueExitBlocks(ExitBlocks); in unswitchBestCondition() [all …]
|
H A D | LoopUnswitch.cpp | 1313 for (unsigned I = 0, E = ExitBlocks.size(); I != E; ++I) { in splitExitEdges() 1314 BasicBlock *ExitBlock = ExitBlocks[I]; in splitExitEdges() 1357 SmallVector<BasicBlock*, 8> ExitBlocks; in unswitchNontrivialCondition() local 1358 L->getUniqueExitBlocks(ExitBlocks); in unswitchNontrivialCondition() 1362 splitExitEdges(L, ExitBlocks); in unswitchNontrivialCondition() 1365 ExitBlocks.clear(); in unswitchNontrivialCondition() 1366 L->getUniqueExitBlocks(ExitBlocks); in unswitchNontrivialCondition() 1369 llvm::append_range(LoopBlocks, ExitBlocks); in unswitchNontrivialCondition() 1406 if (Loop *ExitBBLoop = LI->getLoopFor(ExitBlocks[EBI])) in unswitchNontrivialCondition() 1416 Value *V = PN.getIncomingValueForBlock(ExitBlocks[EBI]); in unswitchNontrivialCondition() [all …]
|
H A D | LICM.cpp | 429 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnLoop() local 430 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop() 440 InsertPts.reserve(ExitBlocks.size()); in runOnLoop() 442 MSSAInsertPts.reserve(ExitBlocks.size()); in runOnLoop() 443 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop() 1588 SmallVector<BasicBlock *, 32> ExitBlocks; in splitPredecessorsOfLoopExit() local 1589 CurLoop->getUniqueExitBlocks(ExitBlocks); in splitPredecessorsOfLoopExit() 1591 ExitBlocks.end()); in splitPredecessorsOfLoopExit() 1723 SmallVector<BasicBlock *, 32> ExitBlocks; in sink() local 1724 CurLoop->getUniqueExitBlocks(ExitBlocks); in sink() [all …]
|
H A D | LoopSimplifyCFG.cpp | 265 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local 266 L.getExitBlocks(ExitBlocks); in analyze() 268 for (auto *ExitBlock : ExitBlocks) in analyze()
|
H A D | LoopIdiomRecognize.cpp | 203 SmallVectorImpl<BasicBlock *> &ExitBlocks); 397 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 398 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 420 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop() 623 SmallVectorImpl<BasicBlock *> &ExitBlocks) { in runOnLoopBlock() argument 627 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoopBlock() 628 if (!DT->dominates(BB, ExitBlocks[i])) in runOnLoopBlock()
|
H A D | IndVarSimplify.cpp | 442 SmallVector<BasicBlock *, 8> ExitBlocks; in rewriteFirstIterationLoopExitValues() local 443 L->getUniqueExitBlocks(ExitBlocks); in rewriteFirstIterationLoopExitValues() 446 for (auto *ExitBB : ExitBlocks) { in rewriteFirstIterationLoopExitValues()
|
/netbsd/external/apache2/llvm/dist/llvm/lib/Transforms/Instrumentation/ |
H A D | InstrProfiling.cpp | 182 BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, in PGOCounterPromoterHelper() argument 186 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), in PGOCounterPromoterHelper() 194 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in doExtraRewritesBeforeFinalDeletion() 195 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() 227 ArrayRef<BasicBlock *> ExitBlocks; member in __anon86f36c6c0111::PGOCounterPromoterHelper 241 : LoopToCandidates(LoopToCands), ExitBlocks(), InsertPts(), L(CurLoop), in PGOCounterPromoter() 255 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter() 263 if (ExitBlocks.size() == 0) in run() 272 for (auto BB : ExitBlocks) in run() 303 L.getLoopPreheader(), ExitBlocks, in run() [all …]
|
/netbsd/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/ |
H A D | LoopExtractor.cpp | 205 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnFunction() local 206 TLL->getExitBlocks(ExitBlocks); in runOnFunction() 207 for (auto *ExitBlock : ExitBlocks) in runOnFunction()
|
/netbsd/external/apache2/llvm/dist/llvm/lib/Analysis/ |
H A D | MemorySSAUpdater.cpp | 678 ArrayRef<BasicBlock *> ExitBlocks, in updateForClonedLoop() argument 748 for (auto BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) in updateForClonedLoop() 751 for (auto BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) in updateForClonedLoop() 775 ArrayRef<BasicBlock *> ExitBlocks, Iter ValuesBegin, Iter ValuesEnd, in privateUpdateExitBlocksForClonedLoop() argument 779 for (auto *Exit : ExitBlocks) in privateUpdateExitBlocksForClonedLoop() 789 ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, in updateExitBlocksForClonedLoop() argument 792 privateUpdateExitBlocksForClonedLoop(ExitBlocks, std::begin(Arr), in updateExitBlocksForClonedLoop() 797 ArrayRef<BasicBlock *> ExitBlocks, in updateExitBlocksForClonedLoop() argument 807 privateUpdateExitBlocksForClonedLoop(ExitBlocks, MapBegin, MapEnd, DT); in updateExitBlocksForClonedLoop()
|
H A D | LoopInfo.cpp | 1007 SmallVector<BasicBlock *, 8> ExitBlocks; in printLoop() local 1008 L.getExitBlocks(ExitBlocks); in printLoop() 1009 if (!ExitBlocks.empty()) { in printLoop() 1011 for (auto *Block : ExitBlocks) in printLoop()
|
/netbsd/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
H A D | ShrinkWrap.cpp | 421 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local 422 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints() 426 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
|
H A D | MachineLICM.cpp | 137 SmallVector<MachineBasicBlock *, 8> ExitBlocks; member in __anon91fb95ef0111::MachineLICMBase 140 return is_contained(ExitBlocks, MBB); in isExitBlock() 371 ExitBlocks.clear(); in runOnMachineFunction() 380 CurLoop->getExitBlocks(ExitBlocks); in runOnMachineFunction()
|
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/ARM/ |
H A D | ARMLowOverheadLoops.cpp | 144 SmallVector<MachineBasicBlock*, 2> ExitBlocks; in ProcessLoop() local 145 ML.getExitBlocks(ExitBlocks); in ProcessLoop() 146 append_range(Order, ExitBlocks); in ProcessLoop() 989 SmallVector<MachineBasicBlock *, 2> ExitBlocks; in ValidateLiveOuts() local 990 ML.getExitBlocks(ExitBlocks); in ValidateLiveOuts() 992 assert(ExitBlocks.size() == 1 && "Expected a single exit block"); in ValidateLiveOuts() 993 MachineBasicBlock *ExitBB = ExitBlocks.front(); in ValidateLiveOuts()
|
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/ |
H A D | HexagonLoopIdiomRecognition.cpp | 138 SmallVectorImpl<BasicBlock *> &ExitBlocks); 2154 SmallVector<BasicBlock*, 8> ExitBlocks; in processCopyingStore() local 2155 CurLoop->getUniqueExitBlocks(ExitBlocks); in processCopyingStore() 2156 if (ExitBlocks.size() != 1) in processCopyingStore() 2158 ExitB = ExitBlocks[0]; in processCopyingStore() 2374 const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) { in runOnLoopBlock() argument 2381 if (!all_of(ExitBlocks, DominatedByBB)) in runOnLoopBlock() 2409 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 2410 L->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 2419 Changed |= runOnLoopBlock(L, BB, BECount, ExitBlocks); in runOnCountableLoop()
|
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/PowerPC/ |
H A D | PPCTargetTransformInfo.cpp | 767 SmallVector<BasicBlock *, 4> ExitBlocks; in isHardwareLoopProfitable() local 768 L->getExitBlocks(ExitBlocks); in isHardwareLoopProfitable() 769 for (auto &BB : ExitBlocks) { in isHardwareLoopProfitable()
|