| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| H A D | LoopSimplify.cpp | 530 for (BasicBlock *ExitingBlock : ExitingBlocks) in simplifyOneLoop() 531 if (BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator())) in simplifyOneLoop() 537 << ExitingBlock->getName() << "\n"); in simplifyOneLoop() 641 BasicBlock *ExitingBlock = ExitingBlocks[i]; in simplifyOneLoop() local 642 if (!ExitingBlock->getSinglePredecessor()) continue; in simplifyOneLoop() 643 BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in simplifyOneLoop() 646 if (!CI || CI->getParent() != ExitingBlock) continue; in simplifyOneLoop() 652 for (auto I = ExitingBlock->instructionsWithoutDebug().begin(); &*I != BI; ) { in simplifyOneLoop() 681 << ExitingBlock->getName() << "\n"); in simplifyOneLoop() 683 assert(pred_empty(ExitingBlock)); in simplifyOneLoop() [all …]
|
| H A D | LoopUnroll.cpp | 355 BasicBlock *ExitingBlock = L->getLoopLatch(); in UnrollLoop() local 356 assert(ExitingBlock && "Loop without exiting block?"); in UnrollLoop() 357 assert(L->isLoopExiting(ExitingBlock) && "Latch is not exiting?"); in UnrollLoop() 358 ULO.TripCount = SE->getSmallConstantTripCount(L, ExitingBlock); in UnrollLoop() 359 ULO.TripMultiple = SE->getSmallConstantTripMultiple(L, ExitingBlock); in UnrollLoop() 397 else if (BasicBlock *ExitingBlock = L->getExitingBlock()) in UnrollLoop() local 398 ExitingBI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in UnrollLoop()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
| H A D | LoopFuse.cpp | 155 BasicBlock *ExitingBlock; member 190 ExitingBlock(L->getExitingBlock()), ExitBlock(L->getExitBlock()), in FusionCandidate() 236 return Preheader && Header && ExitingBlock && ExitBlock && Latch && L && in isValid() 246 assert(ExitingBlock == L->getExitingBlock() && in verify() 269 ExitingBlock = L->getExitingBlock(); in updateAfterPeeling() 306 << (ExitingBlock ? ExitingBlock->getName() : "nullptr") << "\n" in dump() 326 if (!ExitingBlock) in isEligibleForFusion() 1356 if (FC0.ExitingBlock != FC0.Latch) in performFusion() 1385 FC0.ExitingBlock->getTerminator()->replaceUsesOfWith(FC1.Preheader, in performFusion() 1388 DominatorTree::Delete, FC0.ExitingBlock, FC1.Preheader)); in performFusion() [all …]
|
| H A D | LoopUnrollPass.cpp | 1115 BasicBlock *ExitingBlock = L->getLoopLatch(); in tryToUnrollLoop() local 1116 if (!ExitingBlock || !L->isLoopExiting(ExitingBlock)) in tryToUnrollLoop() 1117 ExitingBlock = L->getExitingBlock(); in tryToUnrollLoop() 1118 if (ExitingBlock) { in tryToUnrollLoop() 1119 TripCount = SE.getSmallConstantTripCount(L, ExitingBlock); in tryToUnrollLoop() 1120 TripMultiple = SE.getSmallConstantTripMultiple(L, ExitingBlock); in tryToUnrollLoop()
|
| H A D | LoopStrengthReduce.cpp | 2390 for (BasicBlock *ExitingBlock : ExitingBlocks) { in OptimizeLoopTermCond() 2396 BranchInst *TermBr = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in OptimizeLoopTermCond() 2420 if (!DT.dominates(ExitingBlock, LatchBlock)) in OptimizeLoopTermCond() 2425 if (LatchBlock != ExitingBlock) in OptimizeLoopTermCond() 2430 !DT.properlyDominates(UI->getUser()->getParent(), ExitingBlock)) { in OptimizeLoopTermCond() 2488 ExitingBlock->getInstList().insert(TermBr->getIterator(), Cond); in OptimizeLoopTermCond()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/ |
| H A D | HexagonHardwareLoops.cpp | 410 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in findInductionRegister() local 411 if (!Header || !Preheader || !Latch || !ExitingBlock) in findInductionRegister() 458 bool NotAnalyzed = TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false); in findInductionRegister() 591 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in getLoopTripCount() local 592 if (!ExitingBlock) in getLoopTripCount() 619 bool NotAnalyzed = TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false); in getLoopTripCount() 628 if (ExitingBlock != Latch && (TB == Latch || FB == Latch)) { in getLoopTripCount() 1221 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in convertToHardwareLoop() local 1223 if (ExitingBlock != L->getLoopLatch()) { in convertToHardwareLoop() 1227 if (TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false)) in convertToHardwareLoop() [all …]
|
| /netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| H A D | ScalarEvolution.h | 723 const BasicBlock *ExitingBlock); 745 const BasicBlock *ExitingBlock); 766 const SCEV *getExitCount(const Loop *L, const BasicBlock *ExitingBlock, 1352 PoisoningVH<BasicBlock> ExitingBlock; 1357 explicit ExitNotTakenInfo(PoisoningVH<BasicBlock> ExitingBlock, 1361 : ExitingBlock(ExitingBlock), ExactNotTaken(ExactNotTaken), 1442 const SCEV *getExact(const BasicBlock *ExitingBlock, 1449 const SCEV *getConstantMax(const BasicBlock *ExitingBlock, 1633 ExitLimit computeExitLimit(const Loop *L, BasicBlock *ExitingBlock,
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| H A D | ScalarEvolution.cpp | 6954 const BasicBlock *ExitingBlock) { in getSmallConstantTripCount() argument 6955 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripCount() 6956 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripCount() 6959 dyn_cast<SCEVConstant>(getExitCount(L, ExitingBlock)); in getSmallConstantTripCount() 6991 const BasicBlock *ExitingBlock) { in getSmallConstantTripMultiple() argument 6992 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripMultiple() 6993 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripMultiple() 6995 const SCEV *ExitCount = getExitCount(L, ExitingBlock); in getSmallConstantTripMultiple() 7023 const BasicBlock *ExitingBlock, in getExitCount() argument 7028 return getBackedgeTakenInfo(L).getExact(ExitingBlock, this); in getExitCount() [all …]
|