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

/freebsd-10-stable/contrib/llvm/lib/Transforms/Utils/
H A DLCSSA.cpp79 const SmallVectorImpl<BasicBlock*> &ExitBlocks);
102 const SmallVectorImpl<BasicBlock*> &ExitBlocks,
105 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
106 if (DT->dominates(DomNode, DT->getNode(ExitBlocks[i])))
122 SmallVector<BasicBlock*, 8> ExitBlocks; local
123 L->getExitBlocks(ExitBlocks);
125 if (ExitBlocks.empty())
139 if (!BlockDominatesAnExit(BB, ExitBlocks, DT))
151 MadeChange |= ProcessInstruction(I, ExitBlocks);
169 const SmallVectorImpl<BasicBlock*> &ExitBlocks) {
101 BlockDominatesAnExit(BasicBlock *BB, const SmallVectorImpl<BasicBlock*> &ExitBlocks, DominatorTree *DT) argument
168 isExitBlock(BasicBlock *BB, const SmallVectorImpl<BasicBlock*> &ExitBlocks) argument
179 ProcessInstruction(Instruction *Inst, const SmallVectorImpl<BasicBlock*> &ExitBlocks) argument
[all...]
H A DLoopSimplify.cpp223 SmallVector<BasicBlock*, 8> ExitBlocks; local
224 L->getExitBlocks(ExitBlocks);
226 SmallSetVector<BasicBlock *, 8> ExitBlockSet(ExitBlocks.begin(),
227 ExitBlocks.end());
294 if (!ExitBlocks.empty())
295 for (unsigned i = 1, e = ExitBlocks.size(); i != e; ++i)
296 if (ExitBlocks[i] != ExitBlocks[0]) {
H A DBreakCriticalEdges.cpp315 SmallVector<BasicBlock *, 4> ExitBlocks; local
316 TIL->getExitBlocks(ExitBlocks);
317 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
322 BasicBlock *Exit = ExitBlocks[i];
H A DCodeExtractor.cpp721 SmallPtrSet<BasicBlock *, 1> ExitBlocks; local
726 ExitBlocks.insert(*SI);
727 NumExitBlocks = ExitBlocks.size();
/freebsd-10-stable/contrib/llvm/lib/Transforms/Scalar/
H A DLoopInstSimplify.cpp73 SmallVector<BasicBlock*, 8> ExitBlocks; local
74 L->getUniqueExitBlocks(ExitBlocks);
75 array_pod_sort(ExitBlocks.begin(), ExitBlocks.end());
157 bool IsExitBlock = std::binary_search(ExitBlocks.begin(),
158 ExitBlocks.end(), SuccBB);
H A DLICM.cpp185 SmallVectorImpl<BasicBlock*> &ExitBlocks,
276 SmallVector<BasicBlock *, 8> ExitBlocks; local
282 PromoteAliasSet(*I, ExitBlocks, InsertPts);
482 SmallVector<BasicBlock*, 8> ExitBlocks; local
483 CurLoop->getUniqueExitBlocks(ExitBlocks);
493 if (ExitBlocks.size() == 1) {
494 if (!DT->dominates(I.getParent(), ExitBlocks[0])) {
506 I.moveBefore(ExitBlocks[0]->getFirstInsertionPt());
516 if (ExitBlocks.empty()) {
538 // ExitBlocks lis
722 PromoteAliasSet(AliasSet &AS, SmallVectorImpl<BasicBlock*> &ExitBlocks, SmallVectorImpl<Instruction*> &InsertPts) argument
[all...]
H A DLoopUnswitch.cpp199 void SplitExitEdges(Loop *L, const SmallVectorImpl<BasicBlock *> &ExitBlocks);
754 const SmallVectorImpl<BasicBlock *> &ExitBlocks){
756 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
757 BasicBlock *ExitBlock = ExitBlocks[i];
798 SmallVector<BasicBlock*, 8> ExitBlocks; local
799 L->getUniqueExitBlocks(ExitBlocks);
803 SplitExitEdges(L, ExitBlocks);
806 ExitBlocks.clear();
807 L->getUniqueExitBlocks(ExitBlocks);
810 LoopBlocks.insert(LoopBlocks.end(), ExitBlocks
753 SplitExitEdges(Loop *L, const SmallVectorImpl<BasicBlock *> &ExitBlocks) argument
[all...]
H A DLoopIdiomRecognize.cpp148 SmallVectorImpl<BasicBlock*> &ExitBlocks);
679 SmallVector<BasicBlock*, 8> ExitBlocks; local
680 CurLoop->getUniqueExitBlocks(ExitBlocks);
694 MadeChange |= runOnLoopBlock(*BI, BECount, ExitBlocks);
730 SmallVectorImpl<BasicBlock*> &ExitBlocks) {
734 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
735 if (!DT->dominates(BB, ExitBlocks[i]))
729 runOnLoopBlock(BasicBlock *BB, const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) argument
H A DIndVarSimplify.cpp481 SmallVector<BasicBlock*, 8> ExitBlocks; local
482 L->getUniqueExitBlocks(ExitBlocks);
487 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
488 BasicBlock *ExitBB = ExitBlocks[i];
/freebsd-10-stable/contrib/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()) {
/freebsd-10-stable/contrib/llvm/lib/Analysis/
H A DLoopInfo.cpp338 SmallVector<BasicBlock *, 4> ExitBlocks; local
339 getExitBlocks(ExitBlocks);
340 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
341 for (pred_iterator PI = pred_begin(ExitBlocks[i]),
342 PE = pred_end(ExitBlocks[i]); PI != PE; ++PI)
354 Loop::getUniqueExitBlocks(SmallVectorImpl<BasicBlock *> &ExitBlocks) const {
374 // then only insert exit block in to the output ExitBlocks vector.
376 // ExitBlocks vector.
384 ExitBlocks.push_back(*I);
389 // only one edge in ExitBlocks
[all...]
H A DScalarEvolution.cpp7327 SmallVector<BasicBlock *, 8> ExitBlocks;
7328 L->getExitBlocks(ExitBlocks);
7329 if (ExitBlocks.size() != 1)
/freebsd-10-stable/contrib/llvm/include/llvm/Analysis/
H A DLoopInfoImpl.h62 getExitBlocks(SmallVectorImpl<BlockT*> &ExitBlocks) const {
70 ExitBlocks.push_back(*I);
77 SmallVector<BlockT*, 8> ExitBlocks; local
78 getExitBlocks(ExitBlocks);
79 if (ExitBlocks.size() == 1)
80 return ExitBlocks[0];
H A DLoopInfo.h199 void getExitBlocks(SmallVectorImpl<BlockT*> &ExitBlocks) const;
433 void getUniqueExitBlocks(SmallVectorImpl<BasicBlock *> &ExitBlocks) const;
/freebsd-10-stable/contrib/llvm/lib/CodeGen/
H A DMachineLICM.cpp84 SmallVector<MachineBasicBlock*, 8> ExitBlocks; member in class:__anon2282::MachineLICM
87 return std::find(ExitBlocks.begin(), ExitBlocks.end(), MBB) !=
88 ExitBlocks.end();
359 ExitBlocks.clear();
368 CurLoop->getExitBlocks(ExitBlocks);

Completed in 419 milliseconds