Searched refs:ExitBlocks (Results 1 - 15 of 15) 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.cpp215 SmallVector<BasicBlock*, 8> ExitBlocks; local
216 L->getExitBlocks(ExitBlocks);
218 SmallSetVector<BasicBlock *, 8> ExitBlockSet(ExitBlocks.begin(),
219 ExitBlocks.end());
286 if (!ExitBlocks.empty())
287 for (unsigned i = 1, e = ExitBlocks.size(); i != e; ++i)
288 if (ExitBlocks[i] != ExitBlocks[0]) {
H A DBreakCriticalEdges.cpp350 SmallVector<BasicBlock *, 4> ExitBlocks; local
351 TIL->getExitBlocks(ExitBlocks);
352 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
357 BasicBlock *Exit = ExitBlocks[i];
H A DCodeExtractor.cpp721 SmallPtrSet<BasicBlock *, 1> ExitBlocks; local
726 ExitBlocks.insert(*SI);
727 NumExitBlocks = ExitBlocks.size();
/external/llvm/lib/Transforms/Scalar/
H A DLoopInstSimplify.cpp72 SmallVector<BasicBlock*, 8> ExitBlocks; local
73 L->getUniqueExitBlocks(ExitBlocks);
74 array_pod_sort(ExitBlocks.begin(), ExitBlocks.end());
156 bool IsExitBlock = std::binary_search(ExitBlocks.begin(),
157 ExitBlocks.end(), SuccBB);
H A DLICM.cpp182 SmallVectorImpl<BasicBlock*> &ExitBlocks,
273 SmallVector<BasicBlock *, 8> ExitBlocks; local
279 PromoteAliasSet(*I, ExitBlocks, InsertPts);
480 SmallVector<BasicBlock*, 8> ExitBlocks; local
481 CurLoop->getUniqueExitBlocks(ExitBlocks);
491 if (ExitBlocks.size() == 1) {
492 if (!DT->dominates(I.getParent(), ExitBlocks[0])) {
504 I.moveBefore(ExitBlocks[0]->getFirstInsertionPt());
514 if (ExitBlocks.empty()) {
536 // ExitBlocks lis
717 PromoteAliasSet(AliasSet &AS, SmallVectorImpl<BasicBlock*> &ExitBlocks, SmallVectorImpl<Instruction*> &InsertPts) argument
[all...]
H A DLoopUnswitch.cpp197 void SplitExitEdges(Loop *L, const SmallVector<BasicBlock *, 8> &ExitBlocks);
743 const SmallVector<BasicBlock *, 8> &ExitBlocks){
745 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
746 BasicBlock *ExitBlock = ExitBlocks[i];
787 SmallVector<BasicBlock*, 8> ExitBlocks; local
788 L->getUniqueExitBlocks(ExitBlocks);
792 SplitExitEdges(L, ExitBlocks);
795 ExitBlocks.clear();
796 L->getUniqueExitBlocks(ExitBlocks);
799 LoopBlocks.insert(LoopBlocks.end(), ExitBlocks
742 SplitExitEdges(Loop *L, const SmallVector<BasicBlock *, 8> &ExitBlocks) argument
[all...]
H A DLoopIdiomRecognize.cpp80 SmallVectorImpl<BasicBlock*> &ExitBlocks);
204 SmallVector<BasicBlock*, 8> ExitBlocks; local
205 CurLoop->getUniqueExitBlocks(ExitBlocks);
219 MadeChange |= runOnLoopBlock(*BI, BECount, ExitBlocks);
228 SmallVectorImpl<BasicBlock*> &ExitBlocks) {
232 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
233 if (!DT->dominates(BB, ExitBlocks[i]))
227 runOnLoopBlock(BasicBlock *BB, const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) argument
H A DIndVarSimplify.cpp483 SmallVector<BasicBlock*, 8> ExitBlocks; local
484 L->getUniqueExitBlocks(ExitBlocks);
489 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
490 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.cpp232 SmallVector<BasicBlock *, 4> ExitBlocks; local
233 getExitBlocks(ExitBlocks);
234 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i)
235 for (pred_iterator PI = pred_begin(ExitBlocks[i]),
236 PE = pred_end(ExitBlocks[i]); PI != PE; ++PI)
248 Loop::getUniqueExitBlocks(SmallVectorImpl<BasicBlock *> &ExitBlocks) const {
273 // then only insert exit block in to the output ExitBlocks vector.
275 // ExitBlocks vector.
283 ExitBlocks.push_back(*I);
288 // only one edge in ExitBlocks
[all...]
H A DScalarEvolution.cpp6650 SmallVector<BasicBlock *, 8> ExitBlocks;
6651 L->getExitBlocks(ExitBlocks);
6652 if (ExitBlocks.size() != 1)
/external/llvm/include/llvm/Analysis/
H A DLoopInfoImpl.h66 getExitBlocks(SmallVectorImpl<BlockT*> &ExitBlocks) const {
79 ExitBlocks.push_back(*I);
86 SmallVector<BlockT*, 8> ExitBlocks; local
87 getExitBlocks(ExitBlocks);
88 if (ExitBlocks.size() == 1)
89 return ExitBlocks[0];
H A DLoopInfo.h202 void getExitBlocks(SmallVectorImpl<BlockT*> &ExitBlocks) const;
393 void getUniqueExitBlocks(SmallVectorImpl<BasicBlock *> &ExitBlocks) const;
/external/llvm/lib/CodeGen/
H A DMachineLICM.cpp84 SmallVector<MachineBasicBlock*, 8> ExitBlocks; member in class:__anon8681::MachineLICM
87 return std::find(ExitBlocks.begin(), ExitBlocks.end(), MBB) !=
88 ExitBlocks.end();
359 ExitBlocks.clear();
368 CurLoop->getExitBlocks(ExitBlocks);

Completed in 254 milliseconds