/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/ |
D | LCSSA.cpp | 76 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 …]
|
D | LoopSimplify.cpp | 214 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()
|
D | BreakCriticalEdges.cpp | 347 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/ |
D | LCSSA.cpp | 56 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 …]
|
D | LoopSimplify.cpp | 538 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()
|
D | LoopUnroll.cpp | 264 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local 265 L->getExitBlocks(ExitBlocks); in UnrollLoop() 275 std::any_of(ExitBlocks.begin(), ExitBlocks.end(), in UnrollLoop()
|
D | LoopUtils.cpp | 952 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/ |
D | LoopExtractor.cpp | 115 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/ |
D | LoopInstSimplify.cpp | 68 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()
|
D | LICM.cpp | 445 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 …]
|
D | LoopUnswitch.cpp | 139 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 …]
|
D | LoopIdiomRecognize.cpp | 80 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()
|
D | LoopRotation.cpp | 171 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/ |
D | LoopExtractor.cpp | 109 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/ |
D | LoopInstSimplify.cpp | 80 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()
|
D | LoopUnswitch.cpp | 237 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 …]
|
D | LICM.cpp | 251 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 …]
|
D | LoopIdiomRecognize.cpp | 106 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()
|
D | IndVarSimplify.cpp | 511 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/ |
D | LoopInfo.cpp | 308 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/ |
D | LoopInfoImpl.h | 64 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/ |
D | LoopInfo.cpp | 325 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/ |
D | ShrinkWrap.cpp | 364 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local 365 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints() 369 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
|
D | MachineLICM.cpp | 92 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/ |
D | LoopInfo.h | 216 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;
|