/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | LoopExtractor.cpp | 118 SmallVector<BasicBlock*, 8> ExitBlocks; local 119 L->getExitBlocks(ExitBlocks); 120 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) 121 if (!isa<ReturnInst>(ExitBlocks[i]->getTerminator())) { 132 SmallVector<BasicBlock*, 8> ExitBlocks; local 133 L->getExitBlocks(ExitBlocks); 134 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) 135 if (ExitBlocks[i]->isEHPad()) {
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | LCSSA.cpp | 71 const SmallVectorImpl<BasicBlock *> &ExitBlocks) { 72 return is_contained(ExitBlocks, BB); 86 // Cache the Loop ExitBlocks across this loop. We expect to get a lot of 102 const SmallVectorImpl<BasicBlock *> &ExitBlocks = LoopExitBlocks[L]; local 104 if (ExitBlocks.empty()) 147 for (BasicBlock *ExitBB : ExitBlocks) { 202 if (isa<PHINode>(UserBB->begin()) && isExitBlock(UserBB, ExitBlocks)) { 277 Loop &L, DominatorTree &DT, SmallVector<BasicBlock *, 8> &ExitBlocks, 283 for (BasicBlock *BB : ExitBlocks) 331 SmallVector<BasicBlock *, 8> ExitBlocks; local 70 isExitBlock(BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &ExitBlocks) argument 276 computeBlocksDominatingExits( Loop &L, DominatorTree &DT, SmallVector<BasicBlock *, 8> &ExitBlocks, SmallSetVector<BasicBlock *, 8> &BlocksDominatingExits) argument [all...] |
H A D | LoopUtils.cpp | 707 SmallVector<BasicBlock *, 4> ExitBlocks; local 708 L->getUniqueNonLatchExitBlocks(ExitBlocks); 709 if (any_of(ExitBlocks, [](const BasicBlock *EB) {
|
H A D | LoopUnroll.cpp | 373 SmallVector<BasicBlock *, 4> ExitBlocks; local 374 L->getExitBlocks(ExitBlocks); 384 any_of(ExitBlocks, [](const BasicBlock *BB) {
|
H A D | CodeExtractor.cpp | 1424 SmallPtrSet<BasicBlock *, 1> ExitBlocks; local 1434 ExitBlocks.insert(*SI); 1438 NumExitBlocks = ExitBlocks.size(); 1442 severSplitPHINodesOfExits(ExitBlocks); 1552 for (BasicBlock *ExitBB : ExitBlocks)
|
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | MemorySSAUpdater.h | 120 ArrayRef<BasicBlock *> ExitBlocks, 129 void updateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks, 133 ArrayRef<BasicBlock *> ExitBlocks, 301 void privateUpdateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
|
H A D | LoopInfoImpl.h | 63 SmallVectorImpl<BlockT *> &ExitBlocks) const { 69 ExitBlocks.push_back(Succ); 77 SmallVector<BlockT *, 8> ExitBlocks; local 78 getExitBlocks(ExitBlocks); 79 if (ExitBlocks.size() == 1) 80 return ExitBlocks[0]; 102 SmallVectorImpl<BlockT *> &ExitBlocks, 111 ExitBlocks.push_back(Successor); 116 SmallVectorImpl<BlockT *> &ExitBlocks) const { 117 getUniqueExitBlocksHelper(this, ExitBlocks, 101 getUniqueExitBlocksHelper(const LoopT *L, SmallVectorImpl<BlockT *> &ExitBlocks, PredicateT Pred) argument [all...] |
H A D | LoopInfo.h | 264 void getExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 276 void getUniqueExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 280 /// non Latch predecessor in a loop it will be added to ExitBlocks. 282 void getUniqueNonLatchExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopUnswitch.cpp | 244 const SmallVectorImpl<BasicBlock *> &ExitBlocks); 1217 const SmallVectorImpl<BasicBlock *> &ExitBlocks){ 1219 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { 1220 BasicBlock *ExitBlock = ExitBlocks[i]; 1262 SmallVector<BasicBlock*, 8> ExitBlocks; local 1263 L->getUniqueExitBlocks(ExitBlocks); 1267 SplitExitEdges(L, ExitBlocks); 1270 ExitBlocks.clear(); 1271 L->getUniqueExitBlocks(ExitBlocks); 1274 LoopBlocks.insert(LoopBlocks.end(), ExitBlocks 1216 SplitExitEdges(Loop *L, const SmallVectorImpl<BasicBlock *> &ExitBlocks) argument [all...] |
H A D | SimpleLoopUnswitch.cpp | 988 ArrayRef<BasicBlock *> ExitBlocks, BasicBlock *ParentBB, 995 NewBlocks.reserve(L.getNumBlocks() + ExitBlocks.size()); 1029 for (auto *ExitBB : ExitBlocks) { 1217 static void buildClonedLoops(Loop &OrigL, ArrayRef<BasicBlock *> ExitBlocks, argument 1235 ClonedExitsInLoops.reserve(ExitBlocks.size()); 1236 for (auto *ExitBB : ExitBlocks) 1467 deleteDeadClonedBlocks(Loop &L, ArrayRef<BasicBlock *> ExitBlocks, argument 1472 for (BasicBlock *BB : llvm::concat<BasicBlock *const>(L.blocks(), ExitBlocks)) 1497 SmallVectorImpl<BasicBlock *> &ExitBlocks, 1506 SmallVector<BasicBlock *, 16> DeathCandidates(ExitBlocks 986 buildClonedLoopBlocks( Loop &L, BasicBlock *LoopPH, BasicBlock *SplitBB, ArrayRef<BasicBlock *> ExitBlocks, BasicBlock *ParentBB, BasicBlock *UnswitchedSuccBB, BasicBlock *ContinueSuccBB, const SmallDenseMap<BasicBlock *, BasicBlock *, 16> &DominatingSucc, ValueToValueMapTy &VMap, SmallVectorImpl<DominatorTree::UpdateType> &DTUpdates, AssumptionCache &AC, DominatorTree &DT, LoopInfo &LI, MemorySSAUpdater *MSSAU) argument 1496 deleteDeadBlocksFromLoop(Loop &L, SmallVectorImpl<BasicBlock *> &ExitBlocks, DominatorTree &DT, LoopInfo &LI, MemorySSAUpdater *MSSAU) argument 1691 rebuildLoopAfterUnswitch(Loop &L, ArrayRef<BasicBlock *> ExitBlocks, LoopInfo &LI, SmallVectorImpl<Loop *> &HoistedLoops) argument 1918 unswitchNontrivialInvariants( Loop &L, Instruction &TI, ArrayRef<Value *> Invariants, SmallVectorImpl<BasicBlock *> &ExitBlocks, DominatorTree &DT, LoopInfo &LI, AssumptionCache &AC, function_ref<void(bool, ArrayRef<Loop *>)> UnswitchCB, ScalarEvolution *SE, MemorySSAUpdater *MSSAU) argument 2392 turnGuardIntoBranch(IntrinsicInst *GI, Loop &L, SmallVectorImpl<BasicBlock *> &ExitBlocks, DominatorTree &DT, LoopInfo &LI, MemorySSAUpdater *MSSAU) argument [all...] |
H A D | LICM.cpp | 409 SmallVector<BasicBlock *, 8> ExitBlocks; local 410 L->getUniqueExitBlocks(ExitBlocks); 413 bool HasCatchSwitch = llvm::any_of(ExitBlocks, [](BasicBlock *Exit) { 420 InsertPts.reserve(ExitBlocks.size()); 422 MSSAInsertPts.reserve(ExitBlocks.size()); 423 for (BasicBlock *ExitBlock : ExitBlocks) { 455 PointerMustAliases, ExitBlocks, InsertPts, MSSAInsertPts, PIC, LI, 1507 SmallVector<BasicBlock *, 32> ExitBlocks; local 1508 CurLoop->getUniqueExitBlocks(ExitBlocks); 1509 SmallPtrSet<BasicBlock *, 32> ExitBlockSet(ExitBlocks 1880 promoteLoopAccessesToScalars( const SmallSetVector<Value *, 8> &PointerMustAliases, SmallVectorImpl<BasicBlock *> &ExitBlocks, SmallVectorImpl<Instruction *> &InsertPts, SmallVectorImpl<MemoryAccess *> &MSSAInsertPts, PredIteratorCache &PIC, LoopInfo *LI, DominatorTree *DT, const TargetLibraryInfo *TLI, Loop *CurLoop, AliasSetTracker *CurAST, MemorySSAUpdater *MSSAU, ICFLoopSafetyInfo *SafetyInfo, OptimizationRemarkEmitter *ORE) argument [all...] |
H A D | LoopSimplifyCFG.cpp | 264 SmallVector<BasicBlock *, 8> ExitBlocks; local 265 L.getExitBlocks(ExitBlocks); 267 for (auto *ExitBlock : ExitBlocks)
|
H A D | LoopIdiomRecognize.cpp | 165 SmallVectorImpl<BasicBlock *> &ExitBlocks); 334 SmallVector<BasicBlock *, 8> ExitBlocks; 335 CurLoop->getUniqueExitBlocks(ExitBlocks); 357 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); 557 SmallVectorImpl<BasicBlock *> &ExitBlocks) { 561 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) 562 if (!DT->dominates(BB, ExitBlocks[i])) 555 runOnLoopBlock( BasicBlock *BB, const SCEV *BECount, SmallVectorImpl<BasicBlock *> &ExitBlocks) argument
|
H A D | IndVarSimplify.cpp | 590 SmallVector<BasicBlock*, 8> ExitBlocks; local 591 L->getUniqueExitBlocks(ExitBlocks); 597 for (BasicBlock *ExitBB : ExitBlocks) { 778 SmallVector<BasicBlock *, 8> ExitBlocks; local 779 L->getUniqueExitBlocks(ExitBlocks); 782 for (auto *ExitBB : ExitBlocks) { 856 SmallVector<BasicBlock *, 8> ExitBlocks; local 857 L->getUniqueExitBlocks(ExitBlocks); 858 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) 861 BasicBlock *ExitBlock = ExitBlocks[ [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | MachineLoopUtils.cpp | 136 SmallVector<MachineBasicBlock *, 4> ExitBlocks; local 137 Loop->getExitBlocks(ExitBlocks); 139 for (auto *MBB : ExitBlocks)
|
H A D | ShrinkWrap.cpp | 426 SmallVector<MachineBasicBlock*, 4> ExitBlocks; local 427 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); 431 for (MachineBasicBlock *LoopExitBB: ExitBlocks) {
|
H A D | MachineLICM.cpp | 141 SmallVector<MachineBasicBlock *, 8> ExitBlocks; member in class:__anon1756::MachineLICMBase 144 return is_contained(ExitBlocks, MBB); 380 ExitBlocks.clear(); 389 CurLoop->getExitBlocks(ExitBlocks);
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | InstrProfiling.cpp | 184 BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, 188 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), 196 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { 197 BasicBlock *ExitBlock = ExitBlocks[i]; 228 ArrayRef<BasicBlock *> ExitBlocks; member in class:__anon2631::PGOCounterPromoterHelper 242 : LoopToCandidates(LoopToCands), ExitBlocks(), InsertPts(), L(CurLoop), 251 ExitBlocks.push_back(ExitBlock); 259 if (ExitBlocks.size() == 0) 287 L.getLoopPreheader(), ExitBlocks, 182 PGOCounterPromoterHelper( Instruction *L, Instruction *S, SSAUpdater &SSA, Value *Init, BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, ArrayRef<Instruction *> InsertPts, DenseMap<Loop *, SmallVector<LoadStorePair, 8>> &LoopToCands, LoopInfo &LI) argument 367 SmallVector<BasicBlock *, 8> ExitBlocks; member in class:__anon2631::PGOCounterPromoter [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | MemorySSAUpdater.cpp | 654 ArrayRef<BasicBlock *> ExitBlocks, 720 for (auto BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) 723 for (auto BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) 747 ArrayRef<BasicBlock *> ExitBlocks, Iter ValuesBegin, Iter ValuesEnd, 751 for (auto *Exit : ExitBlocks) 761 ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, 764 privateUpdateExitBlocksForClonedLoop(ExitBlocks, std::begin(Arr), 769 ArrayRef<BasicBlock *> ExitBlocks, 779 privateUpdateExitBlocksForClonedLoop(ExitBlocks, MapBegin, MapEnd, DT); 653 updateForClonedLoop(const LoopBlocksRPO &LoopBlocks, ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, bool IgnoreIncomingWithNoClones) argument 746 privateUpdateExitBlocksForClonedLoop( ArrayRef<BasicBlock *> ExitBlocks, Iter ValuesBegin, Iter ValuesEnd, DominatorTree &DT) argument 760 updateExitBlocksForClonedLoop( ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, DominatorTree &DT) argument 768 updateExitBlocksForClonedLoop( ArrayRef<BasicBlock *> ExitBlocks, ArrayRef<std::unique_ptr<ValueToValueMapTy>> VMaps, DominatorTree &DT) argument
|
H A D | LoopInfo.cpp | 965 SmallVector<BasicBlock *, 8> ExitBlocks; 966 L.getExitBlocks(ExitBlocks); 967 if (!ExitBlocks.empty()) { 969 for (auto *Block : ExitBlocks)
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonLoopIdiomRecognition.cpp | 152 SmallVectorImpl<BasicBlock*> &ExitBlocks); 2136 SmallVector<BasicBlock*, 8> ExitBlocks; local 2137 CurLoop->getUniqueExitBlocks(ExitBlocks); 2138 if (ExitBlocks.size() != 1) 2140 ExitB = ExitBlocks[0]; 2356 const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) { 2363 if (!all_of(ExitBlocks, DominatedByBB)) 2391 SmallVector<BasicBlock *, 8> ExitBlocks; local 2392 L->getUniqueExitBlocks(ExitBlocks); 2401 Changed |= runOnLoopBlock(L, BB, BECount, ExitBlocks); 2355 runOnLoopBlock(Loop *CurLoop, BasicBlock *BB, const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
H A D | PPCTargetTransformInfo.cpp | 535 SmallVector<BasicBlock *, 4> ExitBlocks; local 536 L->getExitBlocks(ExitBlocks); 537 for (auto &BB : ExitBlocks) {
|