Home
last modified time | relevance | path

Searched refs:ExitBlocks (Results 1 – 25 of 49) sorted by relevance

12

/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/
DLCSSA.cpp76 const SmallVectorImpl<BasicBlock*> &ExitBlocks);
104 const SmallVectorImpl<BasicBlock*> &ExitBlocks, in BlockDominatesAnExit() argument
107 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in BlockDominatesAnExit()
108 if (DT->dominates(DomNode, DT->getNode(ExitBlocks[i]))) in BlockDominatesAnExit()
122 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local
123 L->getExitBlocks(ExitBlocks); in runOnLoop()
125 if (ExitBlocks.empty()) in runOnLoop()
144 if (!BlockDominatesAnExit(BB, ExitBlocks, DT)) in runOnLoop()
156 MadeChange |= ProcessInstruction(I, ExitBlocks); in runOnLoop()
168 const SmallVectorImpl<BasicBlock*> &ExitBlocks) { in isExitBlock() argument
[all …]
DLoopSimplify.cpp214 SmallVector<BasicBlock*, 8> ExitBlocks; in ProcessLoop() local
215 L->getExitBlocks(ExitBlocks); in ProcessLoop()
217 SmallSetVector<BasicBlock *, 8> ExitBlockSet(ExitBlocks.begin(), in ProcessLoop()
218 ExitBlocks.end()); in ProcessLoop()
285 if (!ExitBlocks.empty()) in ProcessLoop()
286 for (unsigned i = 1, e = ExitBlocks.size(); i != e; ++i) in ProcessLoop()
287 if (ExitBlocks[i] != ExitBlocks[0]) { in ProcessLoop()
DBreakCriticalEdges.cpp347 SmallVector<BasicBlock *, 4> ExitBlocks; in SplitCriticalEdge() local
348 TIL->getExitBlocks(ExitBlocks); in SplitCriticalEdge()
349 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in SplitCriticalEdge()
354 BasicBlock *Exit = ExitBlocks[i]; in SplitCriticalEdge()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/IPO/
DLoopExtractor.cpp116 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local
117 L->getExitBlocks(ExitBlocks); in runOnLoop()
118 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoop()
119 if (!isa<ReturnInst>(ExitBlocks[i]->getTerminator())) { in runOnLoop()
130 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local
131 L->getExitBlocks(ExitBlocks); in runOnLoop()
132 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoop()
133 if (ExitBlocks[i]->isEHPad()) { in runOnLoop()
/external/llvm/lib/Transforms/Utils/
DLCSSA.cpp56 const SmallVectorImpl<BasicBlock *> &ExitBlocks) { in isExitBlock() argument
57 return find(ExitBlocks, BB) != ExitBlocks.end(); in isExitBlock()
64 const SmallVectorImpl<BasicBlock *> &ExitBlocks, in processInstruction() argument
111 for (BasicBlock *ExitBB : ExitBlocks) { in processInstruction()
165 if (isa<PHINode>(UserBB->begin()) && isExitBlock(UserBB, ExitBlocks)) { in processInstruction()
209 const SmallVectorImpl<BasicBlock *> &ExitBlocks) { in blockDominatesAnExit() argument
211 return llvm::any_of(ExitBlocks, [&](BasicBlock * EB) { in blockDominatesAnExit()
221 SmallVector<BasicBlock *, 8> ExitBlocks; in formLCSSA() local
222 L.getExitBlocks(ExitBlocks); in formLCSSA()
224 if (ExitBlocks.empty()) in formLCSSA()
[all …]
DLoopSimplify.cpp538 SmallVector<BasicBlock*, 8> ExitBlocks; in simplifyOneLoop() local
539 L->getExitBlocks(ExitBlocks); in simplifyOneLoop()
541 SmallSetVector<BasicBlock *, 8> ExitBlockSet(ExitBlocks.begin(), in simplifyOneLoop()
542 ExitBlocks.end()); in simplifyOneLoop()
614 if (!ExitBlocks.empty()) in simplifyOneLoop()
615 for (unsigned i = 1, e = ExitBlocks.size(); i != e; ++i) in simplifyOneLoop()
616 if (ExitBlocks[i] != ExitBlocks[0]) { in simplifyOneLoop()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/Utils/
DLCSSA.cpp68 const SmallVectorImpl<BasicBlock *> &ExitBlocks) { in isExitBlock() argument
69 return is_contained(ExitBlocks, BB); in isExitBlock()
98 const SmallVectorImpl<BasicBlock *> &ExitBlocks = LoopExitBlocks[L]; in formLCSSAForInstructions() local
100 if (ExitBlocks.empty()) in formLCSSAForInstructions()
138 for (BasicBlock *ExitBB : ExitBlocks) { in formLCSSAForInstructions()
193 if (isa<PHINode>(UserBB->begin()) && isExitBlock(UserBB, ExitBlocks)) { in formLCSSAForInstructions()
261 Loop &L, DominatorTree &DT, SmallVector<BasicBlock *, 8> &ExitBlocks, in computeBlocksDominatingExits() argument
267 for (BasicBlock *BB : ExitBlocks) in computeBlocksDominatingExits()
309 SmallVector<BasicBlock *, 8> ExitBlocks; in formLCSSA() local
310 L.getExitBlocks(ExitBlocks); in formLCSSA()
[all …]
/external/llvm/lib/Transforms/IPO/
DLoopExtractor.cpp115 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local
116 L->getExitBlocks(ExitBlocks); in runOnLoop()
117 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoop()
118 if (!isa<ReturnInst>(ExitBlocks[i]->getTerminator())) { in runOnLoop()
129 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local
130 L->getExitBlocks(ExitBlocks); in runOnLoop()
131 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoop()
132 if (ExitBlocks[i]->isEHPad()) { in runOnLoop()
/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/
DLoopInstSimplify.cpp68 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local
69 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop()
70 array_pod_sort(ExitBlocks.begin(), ExitBlocks.end()); in runOnLoop()
152 bool IsExitBlock = std::binary_search(ExitBlocks.begin(), in runOnLoop()
153 ExitBlocks.end(), SuccBB); in runOnLoop()
DLICM.cpp445 SmallVector<BasicBlock*, 8> ExitBlocks; in sink() local
446 CurLoop->getUniqueExitBlocks(ExitBlocks); in sink()
456 if (ExitBlocks.size() == 1) { in sink()
457 if (!DT->dominates(I.getParent(), ExitBlocks[0])) { in sink()
469 I.moveBefore(ExitBlocks[0]->getFirstInsertionPt()); in sink()
479 if (ExitBlocks.empty()) { in sink()
505 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in sink()
506 BasicBlock *ExitBlock = ExitBlocks[i]; in sink()
600 SmallVector<BasicBlock*, 8> ExitBlocks; in isGuaranteedToExecute() local
601 CurLoop->getExitBlocks(ExitBlocks); in isGuaranteedToExecute()
[all …]
DLoopUnswitch.cpp139 void SplitExitEdges(Loop *L, const SmallVector<BasicBlock *, 8> &ExitBlocks);
558 const SmallVector<BasicBlock *, 8> &ExitBlocks){ in SplitExitEdges() argument
560 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in SplitExitEdges()
561 BasicBlock *ExitBlock = ExitBlocks[i]; in SplitExitEdges()
603 SmallVector<BasicBlock*, 8> ExitBlocks; in UnswitchNontrivialCondition() local
604 L->getUniqueExitBlocks(ExitBlocks); in UnswitchNontrivialCondition()
608 SplitExitEdges(L, ExitBlocks); in UnswitchNontrivialCondition()
611 ExitBlocks.clear(); in UnswitchNontrivialCondition()
612 L->getUniqueExitBlocks(ExitBlocks); in UnswitchNontrivialCondition()
615 LoopBlocks.insert(LoopBlocks.end(), ExitBlocks.begin(), ExitBlocks.end()); in UnswitchNontrivialCondition()
[all …]
DLoopIdiomRecognize.cpp80 SmallVectorImpl<BasicBlock*> &ExitBlocks);
202 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local
203 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnLoop()
217 MadeChange |= runOnLoopBlock(*BI, BECount, ExitBlocks); in runOnLoop()
226 SmallVectorImpl<BasicBlock*> &ExitBlocks) { in runOnLoopBlock() argument
230 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoopBlock()
231 if (!DT->dominates(BB, ExitBlocks[i])) in runOnLoopBlock()
/external/swiftshader/third_party/LLVM/lib/Transforms/IPO/
DLoopExtractor.cpp109 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local
110 L->getExitBlocks(ExitBlocks); in runOnLoop()
111 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoop()
112 if (!isa<ReturnInst>(ExitBlocks[i]->getTerminator())) { in runOnLoop()
123 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local
124 L->getExitBlocks(ExitBlocks); in runOnLoop()
125 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoop()
126 if (ExitBlocks[i]->isLandingPad()) { in runOnLoop()
/external/llvm/lib/Transforms/Scalar/
DLoopInstSimplify.cpp80 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local
81 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop()
82 array_pod_sort(ExitBlocks.begin(), ExitBlocks.end()); in runOnLoop()
170 bool IsExitBlock = std::binary_search(ExitBlocks.begin(), in runOnLoop()
171 ExitBlocks.end(), SuccBB); in runOnLoop()
DLoopUnswitch.cpp237 const SmallVectorImpl<BasicBlock *> &ExitBlocks);
1009 const SmallVectorImpl<BasicBlock *> &ExitBlocks){ in SplitExitEdges() argument
1011 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in SplitExitEdges()
1012 BasicBlock *ExitBlock = ExitBlocks[i]; in SplitExitEdges()
1048 SmallVector<BasicBlock*, 8> ExitBlocks; in UnswitchNontrivialCondition() local
1049 L->getUniqueExitBlocks(ExitBlocks); in UnswitchNontrivialCondition()
1053 SplitExitEdges(L, ExitBlocks); in UnswitchNontrivialCondition()
1056 ExitBlocks.clear(); in UnswitchNontrivialCondition()
1057 L->getUniqueExitBlocks(ExitBlocks); in UnswitchNontrivialCondition()
1060 LoopBlocks.insert(LoopBlocks.end(), ExitBlocks.begin(), ExitBlocks.end()); in UnswitchNontrivialCondition()
[all …]
DLICM.cpp251 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnLoop() local
258 AS, ExitBlocks, InsertPts, PIC, LI, DT, TLI, L, CurAST, &SafetyInfo); in runOnLoop()
663 SmallVector<BasicBlock *, 32> ExitBlocks; in sink() local
664 CurLoop->getUniqueExitBlocks(ExitBlocks); in sink()
665 SmallPtrSet<BasicBlock *, 32> ExitBlockSet(ExitBlocks.begin(), in sink()
666 ExitBlocks.end()); in sink()
843 AliasSet &AS, SmallVectorImpl<BasicBlock *> &ExitBlocks, in promoteLoopAccessesToScalars() argument
1018 if (ExitBlocks.empty()) { in promoteLoopAccessesToScalars()
1019 CurLoop->getUniqueExitBlocks(ExitBlocks); in promoteLoopAccessesToScalars()
1021 InsertPts.reserve(ExitBlocks.size()); in promoteLoopAccessesToScalars()
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/Analysis/
DLoopInfoImpl.h64 SmallVectorImpl<BlockT *> &ExitBlocks) const { in getExitBlocks() argument
70 ExitBlocks.push_back(Succ); in getExitBlocks()
78 SmallVector<BlockT *, 8> ExitBlocks; in getExitBlock() local
79 getExitBlocks(ExitBlocks); in getExitBlock()
80 if (ExitBlocks.size() == 1) in getExitBlock()
81 return ExitBlocks[0]; in getExitBlock()
89 SmallVector<BlockT *, 4> ExitBlocks; in hasDedicatedExits() local
90 getExitBlocks(ExitBlocks); in hasDedicatedExits()
91 for (BlockT *EB : ExitBlocks) in hasDedicatedExits()
101 SmallVectorImpl<BlockT *> &ExitBlocks) const { in getUniqueExitBlocks() argument
[all …]
/external/swiftshader/third_party/LLVM/lib/Analysis/
DLoopInfo.cpp308 SmallVector<BasicBlock *, 4> ExitBlocks; in hasDedicatedExits() local
309 getExitBlocks(ExitBlocks); in hasDedicatedExits()
310 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in hasDedicatedExits()
311 for (pred_iterator PI = pred_begin(ExitBlocks[i]), in hasDedicatedExits()
312 PE = pred_end(ExitBlocks[i]); PI != PE; ++PI) in hasDedicatedExits()
324 Loop::getUniqueExitBlocks(SmallVectorImpl<BasicBlock *> &ExitBlocks) const { in getUniqueExitBlocks()
359 ExitBlocks.push_back(*I); in getUniqueExitBlocks()
369 ExitBlocks.push_back(*I); in getUniqueExitBlocks()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/Scalar/
DLICM.cpp292 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnLoop() local
293 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop()
296 bool HasCatchSwitch = llvm::any_of(ExitBlocks, [](BasicBlock *Exit) { in runOnLoop()
302 InsertPts.reserve(ExitBlocks.size()); in runOnLoop()
303 for (BasicBlock *ExitBlock : ExitBlocks) in runOnLoop()
327 Promoted |= promoteLoopAccessesToScalars(PointerMustAliases, ExitBlocks, in runOnLoop()
862 SmallVector<BasicBlock *, 32> ExitBlocks; in splitPredecessorsOfLoopExit() local
863 CurLoop->getUniqueExitBlocks(ExitBlocks); in splitPredecessorsOfLoopExit()
864 SmallPtrSet<BasicBlock *, 32> ExitBlockSet(ExitBlocks.begin(), in splitPredecessorsOfLoopExit()
865 ExitBlocks.end()); in splitPredecessorsOfLoopExit()
[all …]
DSimpleLoopUnswitch.cpp872 ArrayRef<BasicBlock *> ExitBlocks, BasicBlock *ParentBB, in buildClonedLoopBlocks() argument
879 NewBlocks.reserve(L.getNumBlocks() + ExitBlocks.size()); in buildClonedLoopBlocks()
913 for (auto *ExitBB : ExitBlocks) { in buildClonedLoopBlocks()
1101 static void buildClonedLoops(Loop &OrigL, ArrayRef<BasicBlock *> ExitBlocks, in buildClonedLoops() argument
1119 ClonedExitsInLoops.reserve(ExitBlocks.size()); in buildClonedLoops()
1120 for (auto *ExitBB : ExitBlocks) in buildClonedLoops()
1352 deleteDeadClonedBlocks(Loop &L, ArrayRef<BasicBlock *> ExitBlocks, in deleteDeadClonedBlocks() argument
1357 for (BasicBlock *BB : llvm::concat<BasicBlock *const>(L.blocks(), ExitBlocks)) in deleteDeadClonedBlocks()
1376 SmallVectorImpl<BasicBlock *> &ExitBlocks, in deleteDeadBlocksFromLoop() argument
1380 for (BasicBlock *BB : llvm::concat<BasicBlock *const>(L.blocks(), ExitBlocks)) in deleteDeadBlocksFromLoop()
[all …]
DLoopUnswitch.cpp235 const SmallVectorImpl<BasicBlock *> &ExitBlocks);
1184 const SmallVectorImpl<BasicBlock *> &ExitBlocks){ in SplitExitEdges() argument
1186 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in SplitExitEdges()
1187 BasicBlock *ExitBlock = ExitBlocks[i]; in SplitExitEdges()
1225 SmallVector<BasicBlock*, 8> ExitBlocks; in UnswitchNontrivialCondition() local
1226 L->getUniqueExitBlocks(ExitBlocks); in UnswitchNontrivialCondition()
1230 SplitExitEdges(L, ExitBlocks); in UnswitchNontrivialCondition()
1233 ExitBlocks.clear(); in UnswitchNontrivialCondition()
1234 L->getUniqueExitBlocks(ExitBlocks); in UnswitchNontrivialCondition()
1237 LoopBlocks.insert(LoopBlocks.end(), ExitBlocks.begin(), ExitBlocks.end()); in UnswitchNontrivialCondition()
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Analysis/
DMustExecute.cpp144 SmallVector<BasicBlock *, 8> ExitBlocks; in isGuaranteedToExecute() local
145 CurLoop->getExitBlocks(ExitBlocks); in isGuaranteedToExecute()
148 for (BasicBlock *ExitBlock : ExitBlocks) in isGuaranteedToExecute()
156 if (ExitBlocks.empty()) in isGuaranteedToExecute()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/Instrumentation/
DInstrProfiling.cpp174 BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, in PGOCounterPromoterHelper() argument
178 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), in PGOCounterPromoterHelper()
186 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in doExtraRewritesBeforeFinalDeletion()
187 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion()
217 ArrayRef<BasicBlock *> ExitBlocks; member in __anon2547670e0111::PGOCounterPromoterHelper
231 : LoopToCandidates(LoopToCands), ExitBlocks(), InsertPts(), L(CurLoop), in PGOCounterPromoter()
240 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter()
248 if (ExitBlocks.size() == 0) in run()
262 L.getLoopPreheader(), ExitBlocks, in run()
337 SmallVector<BasicBlock *, 8> ExitBlocks; member in __anon2547670e0111::PGOCounterPromoter
/external/llvm/include/llvm/Analysis/
DLoopInfoImpl.h64 getExitBlocks(SmallVectorImpl<BlockT*> &ExitBlocks) const { in getExitBlocks() argument
72 ExitBlocks.push_back(*I); in getExitBlocks()
79 SmallVector<BlockT*, 8> ExitBlocks; in getExitBlock() local
80 getExitBlocks(ExitBlocks); in getExitBlock()
81 if (ExitBlocks.size() == 1) in getExitBlock()
82 return ExitBlocks[0]; in getExitBlock()
/external/llvm/lib/Analysis/
DLoopInfo.cpp325 SmallVector<BasicBlock *, 4> ExitBlocks; in hasDedicatedExits() local
326 getExitBlocks(ExitBlocks); in hasDedicatedExits()
327 for (BasicBlock *BB : ExitBlocks) in hasDedicatedExits()
336 Loop::getUniqueExitBlocks(SmallVectorImpl<BasicBlock *> &ExitBlocks) const { in getUniqueExitBlocks()
362 ExitBlocks.push_back(Successor); in getUniqueExitBlocks()
372 ExitBlocks.push_back(Successor); in getUniqueExitBlocks()

12