Home
last modified time | relevance | path

Searched refs:ExitBlocks (Results 1 – 25 of 31) 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/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()
DLoopUnroll.cpp264 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local
265 L->getExitBlocks(ExitBlocks); in UnrollLoop()
275 std::any_of(ExitBlocks.begin(), ExitBlocks.end(), in UnrollLoop()
DLoopUtils.cpp952 SmallVector<BasicBlock *, 8> ExitBlocks; in isGuaranteedToExecute() local
953 CurLoop->getExitBlocks(ExitBlocks); in isGuaranteedToExecute()
956 for (BasicBlock *ExitBlock : ExitBlocks) in isGuaranteedToExecute()
962 if (ExitBlocks.empty()) in isGuaranteedToExecute()
/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()
DLoopRotation.cpp171 SmallVector<BasicBlock*, 8> ExitBlocks; in rotateLoop() local
172 L->getExitBlocks(ExitBlocks); in rotateLoop()
173 if (ExitBlocks.size() > 1) in rotateLoop()
/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 …]
DLoopIdiomRecognize.cpp106 SmallVectorImpl<BasicBlock *> &ExitBlocks);
255 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local
256 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop()
277 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop()
461 SmallVectorImpl<BasicBlock *> &ExitBlocks) { in runOnLoopBlock() argument
465 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoopBlock()
466 if (!DT->dominates(BB, ExitBlocks[i])) in runOnLoopBlock()
DIndVarSimplify.cpp511 SmallVector<BasicBlock*, 8> ExitBlocks; in rewriteLoopExitValues() local
512 L->getUniqueExitBlocks(ExitBlocks); in rewriteLoopExitValues()
518 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues()
674 SmallVector<BasicBlock *, 8> ExitBlocks; in rewriteFirstIterationLoopExitValues() local
675 L->getUniqueExitBlocks(ExitBlocks); in rewriteFirstIterationLoopExitValues()
679 for (auto *ExitBB : ExitBlocks) { in rewriteFirstIterationLoopExitValues()
752 SmallVector<BasicBlock *, 8> ExitBlocks; in canLoopBeDeleted() local
753 L->getUniqueExitBlocks(ExitBlocks); in canLoopBeDeleted()
754 if (ExitBlocks.size() > 1 || ExitingBlocks.size() > 1) in canLoopBeDeleted()
757 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted()
/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/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()
/external/llvm/lib/CodeGen/
DShrinkWrap.cpp364 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local
365 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints()
369 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
DMachineLICM.cpp92 SmallVector<MachineBasicBlock*, 8> ExitBlocks; member in __anon2d7e0c2f0111::MachineLICM
95 return std::find(ExitBlocks.begin(), ExitBlocks.end(), MBB) != in isExitBlock()
96 ExitBlocks.end(); in isExitBlock()
302 ExitBlocks.clear(); in runOnMachineFunction()
311 CurLoop->getExitBlocks(ExitBlocks); in runOnMachineFunction()
/external/swiftshader/third_party/LLVM/include/llvm/Analysis/
DLoopInfo.h216 void getExitBlocks(SmallVectorImpl<BlockT*> &ExitBlocks) const { in getExitBlocks() argument
229 ExitBlocks.push_back(*I); in getExitBlocks()
235 SmallVector<BlockT*, 8> ExitBlocks; in getExitBlock() local
236 getExitBlocks(ExitBlocks); in getExitBlock()
237 if (ExitBlocks.size() == 1) in getExitBlock()
238 return ExitBlocks[0]; in getExitBlock()
621 void getUniqueExitBlocks(SmallVectorImpl<BasicBlock *> &ExitBlocks) const;

12