Searched refs:ExitBlocks (Results 1 - 14 of 14) sorted by relevance

/external/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 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 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 DCodeExtractor.cpp209 std::set<BasicBlock*> ExitBlocks; local
234 ExitBlocks.insert(TI->getSuccessor(i));
237 NumExitBlocks = ExitBlocks.size();
/external/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 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 DLoopRotation.cpp171 SmallVector<BasicBlock*, 8> ExitBlocks;
172 L->getExitBlocks(ExitBlocks);
173 if (ExitBlocks.size() > 1)
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 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/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/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...]
H A DScalarEvolution.cpp6436 SmallVector<BasicBlock *, 8> ExitBlocks;
6437 L->getExitBlocks(ExitBlocks);
6438 if (ExitBlocks.size() != 1)
/external/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 122 milliseconds