Searched defs:ExitBlocks (Results 1 - 25 of 25) sorted by relevance

/external/llvm/lib/Transforms/Utils/
H A DLCSSA.cpp56 const SmallVectorImpl<BasicBlock *> &ExitBlocks) {
57 return find(ExitBlocks, BB) != ExitBlocks.end();
64 const SmallVectorImpl<BasicBlock *> &ExitBlocks,
111 for (BasicBlock *ExitBB : ExitBlocks) {
165 if (isa<PHINode>(UserBB->begin()) && isExitBlock(UserBB, ExitBlocks)) {
209 const SmallVectorImpl<BasicBlock *> &ExitBlocks) {
211 return llvm::any_of(ExitBlocks, [&](BasicBlock * EB) {
221 SmallVector<BasicBlock *, 8> ExitBlocks;
222 L.getExitBlocks(ExitBlocks);
55 isExitBlock(BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &ExitBlocks) argument
63 processInstruction(Loop &L, Instruction &Inst, DominatorTree &DT, const SmallVectorImpl<BasicBlock *> &ExitBlocks, PredIteratorCache &PredCache, LoopInfo *LI) argument
207 blockDominatesAnExit(BasicBlock *BB, DominatorTree &DT, const SmallVectorImpl<BasicBlock *> &ExitBlocks) argument
[all...]
H A DLoopSimplify.cpp538 SmallVector<BasicBlock*, 8> ExitBlocks; local
539 L->getExitBlocks(ExitBlocks);
541 SmallSetVector<BasicBlock *, 8> ExitBlockSet(ExitBlocks.begin(),
542 ExitBlocks.end());
614 if (!ExitBlocks.empty())
615 for (unsigned i = 1, e = ExitBlocks.size(); i != e; ++i)
616 if (ExitBlocks[i] != ExitBlocks[0]) {
H A DLoopUnroll.cpp264 SmallVector<BasicBlock *, 4> ExitBlocks; local
265 L->getExitBlocks(ExitBlocks);
275 std::any_of(ExitBlocks.begin(), ExitBlocks.end(),
H A DCodeExtractor.cpp708 SmallPtrSet<BasicBlock *, 1> ExitBlocks; local
713 ExitBlocks.insert(*SI);
714 NumExitBlocks = ExitBlocks.size();
/external/llvm/lib/Transforms/IPO/
H A DLoopExtractor.cpp115 SmallVector<BasicBlock*, 8> ExitBlocks; local
116 L->getExitBlocks(ExitBlocks);
117 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
118 if (!isa<ReturnInst>(ExitBlocks[i]->getTerminator())) {
129 SmallVector<BasicBlock*, 8> ExitBlocks; local
130 L->getExitBlocks(ExitBlocks);
131 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
132 if (ExitBlocks[i]->isEHPad()) {
/external/llvm/lib/Transforms/Scalar/
H A DLoopInstSimplify.cpp80 SmallVector<BasicBlock*, 8> ExitBlocks; local
81 L->getUniqueExitBlocks(ExitBlocks);
82 array_pod_sort(ExitBlocks.begin(), ExitBlocks.end());
170 bool IsExitBlock = std::binary_search(ExitBlocks.begin(),
171 ExitBlocks.end(), SuccBB);
H A DLICM.cpp251 SmallVector<BasicBlock *, 8> ExitBlocks; local
258 AS, ExitBlocks, InsertPts, PIC, LI, DT, TLI, L, CurAST, &SafetyInfo);
663 SmallVector<BasicBlock *, 32> ExitBlocks; local
664 CurLoop->getUniqueExitBlocks(ExitBlocks);
665 SmallPtrSet<BasicBlock *, 32> ExitBlockSet(ExitBlocks.begin(),
666 ExitBlocks.end());
843 AliasSet &AS, SmallVectorImpl<BasicBlock *> &ExitBlocks,
1018 if (ExitBlocks.empty()) {
1019 CurLoop->getUniqueExitBlocks(ExitBlocks);
1021 InsertPts.reserve(ExitBlocks
842 promoteLoopAccessesToScalars( AliasSet &AS, SmallVectorImpl<BasicBlock *> &ExitBlocks, SmallVectorImpl<Instruction *> &InsertPts, PredIteratorCache &PIC, LoopInfo *LI, DominatorTree *DT, const TargetLibraryInfo *TLI, Loop *CurLoop, AliasSetTracker *CurAST, LoopSafetyInfo *SafetyInfo) argument
[all...]
H A DLoopUnswitch.cpp237 const SmallVectorImpl<BasicBlock *> &ExitBlocks);
1009 const SmallVectorImpl<BasicBlock *> &ExitBlocks){
1011 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
1012 BasicBlock *ExitBlock = ExitBlocks[i];
1048 SmallVector<BasicBlock*, 8> ExitBlocks; local
1049 L->getUniqueExitBlocks(ExitBlocks);
1053 SplitExitEdges(L, ExitBlocks);
1056 ExitBlocks.clear();
1057 L->getUniqueExitBlocks(ExitBlocks);
1060 LoopBlocks.insert(LoopBlocks.end(), ExitBlocks
1008 SplitExitEdges(Loop *L, const SmallVectorImpl<BasicBlock *> &ExitBlocks) argument
[all...]
H A DIndVarSimplify.cpp511 SmallVector<BasicBlock*, 8> ExitBlocks; local
512 L->getUniqueExitBlocks(ExitBlocks);
518 for (BasicBlock *ExitBB : ExitBlocks) {
674 SmallVector<BasicBlock *, 8> ExitBlocks; local
675 L->getUniqueExitBlocks(ExitBlocks);
679 for (auto *ExitBB : ExitBlocks) {
752 SmallVector<BasicBlock *, 8> ExitBlocks; local
753 L->getUniqueExitBlocks(ExitBlocks);
754 if (ExitBlocks.size() > 1 || ExitingBlocks.size() > 1)
757 BasicBlock *ExitBlock = ExitBlocks[
[all...]
H A DLoopIdiomRecognize.cpp106 SmallVectorImpl<BasicBlock *> &ExitBlocks);
255 SmallVector<BasicBlock *, 8> ExitBlocks;
256 CurLoop->getUniqueExitBlocks(ExitBlocks);
277 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks);
461 SmallVectorImpl<BasicBlock *> &ExitBlocks) {
465 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
466 if (!DT->dominates(BB, ExitBlocks[i]))
459 runOnLoopBlock( BasicBlock *BB, const SCEV *BECount, SmallVectorImpl<BasicBlock *> &ExitBlocks) argument
/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/
H A DLoopInstSimplify.cpp68 SmallVector<BasicBlock*, 8> ExitBlocks; local
69 L->getUniqueExitBlocks(ExitBlocks);
70 array_pod_sort(ExitBlocks.begin(), ExitBlocks.end());
152 bool IsExitBlock = std::binary_search(ExitBlocks.begin(),
153 ExitBlocks.end(), SuccBB);
H A DLoopIdiomRecognize.cpp80 SmallVectorImpl<BasicBlock*> &ExitBlocks);
202 SmallVector<BasicBlock*, 8> ExitBlocks; local
203 CurLoop->getUniqueExitBlocks(ExitBlocks);
217 MadeChange |= runOnLoopBlock(*BI, BECount, ExitBlocks);
226 SmallVectorImpl<BasicBlock*> &ExitBlocks) {
230 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
231 if (!DT->dominates(BB, ExitBlocks[i]))
225 runOnLoopBlock(BasicBlock *BB, const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) argument
H A DLICM.cpp445 SmallVector<BasicBlock*, 8> ExitBlocks; local
446 CurLoop->getUniqueExitBlocks(ExitBlocks);
456 if (ExitBlocks.size() == 1) {
457 if (!DT->dominates(I.getParent(), ExitBlocks[0])) {
469 I.moveBefore(ExitBlocks[0]->getFirstInsertionPt());
479 if (ExitBlocks.empty()) {
501 // ExitBlocks list once.
505 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
506 BasicBlock *ExitBlock = ExitBlocks[i];
600 SmallVector<BasicBlock*, 8> ExitBlocks;
779 SmallVector<BasicBlock*, 8> ExitBlocks; local
[all...]
H A DLoopUnswitch.cpp139 void SplitExitEdges(Loop *L, const SmallVector<BasicBlock *, 8> &ExitBlocks);
558 const SmallVector<BasicBlock *, 8> &ExitBlocks){
560 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
561 BasicBlock *ExitBlock = ExitBlocks[i];
603 SmallVector<BasicBlock*, 8> ExitBlocks; local
604 L->getUniqueExitBlocks(ExitBlocks);
608 SplitExitEdges(L, ExitBlocks);
611 ExitBlocks.clear();
612 L->getUniqueExitBlocks(ExitBlocks);
615 LoopBlocks.insert(LoopBlocks.end(), ExitBlocks
557 SplitExitEdges(Loop *L, const SmallVector<BasicBlock *, 8> &ExitBlocks) argument
[all...]
H A DIndVarSimplify.cpp498 SmallVector<BasicBlock*, 8> ExitBlocks; local
499 L->getUniqueExitBlocks(ExitBlocks);
504 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
505 BasicBlock *ExitBB = ExitBlocks[i];
/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/
H A DLCSSA.cpp76 const SmallVectorImpl<BasicBlock*> &ExitBlocks);
104 const SmallVectorImpl<BasicBlock*> &ExitBlocks,
107 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
108 if (DT->dominates(DomNode, DT->getNode(ExitBlocks[i])))
122 SmallVector<BasicBlock*, 8> ExitBlocks; local
123 L->getExitBlocks(ExitBlocks);
125 if (ExitBlocks.empty())
144 if (!BlockDominatesAnExit(BB, ExitBlocks, DT))
156 MadeChange |= ProcessInstruction(I, ExitBlocks);
168 const SmallVectorImpl<BasicBlock*> &ExitBlocks) {
103 BlockDominatesAnExit(BasicBlock *BB, const SmallVectorImpl<BasicBlock*> &ExitBlocks, DominatorTree *DT) argument
167 isExitBlock(BasicBlock *BB, const SmallVectorImpl<BasicBlock*> &ExitBlocks) argument
178 ProcessInstruction(Instruction *Inst, const SmallVectorImpl<BasicBlock*> &ExitBlocks) argument
[all...]
H A DBreakCriticalEdges.cpp347 SmallVector<BasicBlock *, 4> ExitBlocks; local
348 TIL->getExitBlocks(ExitBlocks);
349 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
354 BasicBlock *Exit = ExitBlocks[i];
H A DLoopSimplify.cpp214 SmallVector<BasicBlock*, 8> ExitBlocks; local
215 L->getExitBlocks(ExitBlocks);
217 SmallSetVector<BasicBlock *, 8> ExitBlockSet(ExitBlocks.begin(),
218 ExitBlocks.end());
285 if (!ExitBlocks.empty())
286 for (unsigned i = 1, e = ExitBlocks.size(); i != e; ++i)
287 if (ExitBlocks[i] != ExitBlocks[0]) {
H A DCodeExtractor.cpp209 std::set<BasicBlock*> ExitBlocks; local
234 ExitBlocks.insert(TI->getSuccessor(i));
237 NumExitBlocks = ExitBlocks.size();
/external/llvm/include/llvm/Analysis/
H A DLoopInfoImpl.h64 getExitBlocks(SmallVectorImpl<BlockT*> &ExitBlocks) const {
72 ExitBlocks.push_back(*I);
79 SmallVector<BlockT*, 8> ExitBlocks; local
80 getExitBlocks(ExitBlocks);
81 if (ExitBlocks.size() == 1)
82 return ExitBlocks[0];
/external/llvm/lib/CodeGen/
H A DShrinkWrap.cpp364 SmallVector<MachineBasicBlock*, 4> ExitBlocks; local
365 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks);
369 for (MachineBasicBlock *LoopExitBB: ExitBlocks) {
H A DMachineLICM.cpp92 SmallVector<MachineBasicBlock*, 8> ExitBlocks; member in class:__anon13931::MachineLICM
95 return std::find(ExitBlocks.begin(), ExitBlocks.end(), MBB) !=
96 ExitBlocks.end();
302 ExitBlocks.clear();
311 CurLoop->getExitBlocks(ExitBlocks);
/external/swiftshader/third_party/LLVM/lib/Transforms/IPO/
H A DLoopExtractor.cpp109 SmallVector<BasicBlock*, 8> ExitBlocks; local
110 L->getExitBlocks(ExitBlocks);
111 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
112 if (!isa<ReturnInst>(ExitBlocks[i]->getTerminator())) {
123 SmallVector<BasicBlock*, 8> ExitBlocks; local
124 L->getExitBlocks(ExitBlocks);
125 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
126 if (ExitBlocks[i]->isLandingPad()) {
/external/swiftshader/third_party/LLVM/lib/Analysis/
H A DLoopInfo.cpp308 SmallVector<BasicBlock *, 4> ExitBlocks; local
309 getExitBlocks(ExitBlocks);
310 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
311 for (pred_iterator PI = pred_begin(ExitBlocks[i]),
312 PE = pred_end(ExitBlocks[i]); PI != PE; ++PI)
324 Loop::getUniqueExitBlocks(SmallVectorImpl<BasicBlock *> &ExitBlocks) const {
349 // then only insert exit block in to the output ExitBlocks vector.
351 // ExitBlocks vector.
359 ExitBlocks.push_back(*I);
364 // only one edge in ExitBlocks
[all...]
/external/swiftshader/third_party/LLVM/include/llvm/Analysis/
H A DLoopInfo.h216 void getExitBlocks(SmallVectorImpl<BlockT*> &ExitBlocks) const {
229 ExitBlocks.push_back(*I);
235 SmallVector<BlockT*, 8> ExitBlocks; local
236 getExitBlocks(ExitBlocks);
237 if (ExitBlocks.size() == 1)
238 return ExitBlocks[0];
621 void getUniqueExitBlocks(SmallVectorImpl<BasicBlock *> &ExitBlocks) const;

Completed in 474 milliseconds