Searched refs:ExitingBlock (Results 1 – 11 of 11) sorted by relevance
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopSimplify.cpp | 523 for (BasicBlock *ExitingBlock : ExitingBlocks) in simplifyOneLoop() 530 << ExitingBlock->getName() << "\n"); in simplifyOneLoop() 634 BasicBlock *ExitingBlock = ExitingBlocks[i]; in simplifyOneLoop() local 635 if (!ExitingBlock->getSinglePredecessor()) continue; in simplifyOneLoop() 639 if (!CI || CI->getParent() != ExitingBlock) continue; in simplifyOneLoop() 671 assert(pred_empty(ExitingBlock)); in simplifyOneLoop() 673 LI->removeBlock(ExitingBlock); in simplifyOneLoop() 675 DomTreeNode *Node = DT->getNode(ExitingBlock); in simplifyOneLoop() 680 DT->eraseNode(ExitingBlock); in simplifyOneLoop() 683 ExitBlockSet.insert(ExitingBlock); in simplifyOneLoop() [all …]
|
| H A D | LoopUnroll.cpp | 359 for (auto *ExitingBlock : ExitingBlocks) { in UnrollLoop() local 362 auto *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in UnrollLoop() 366 ExitInfo &Info = ExitInfos.try_emplace(ExitingBlock).first->second; in UnrollLoop() 367 Info.TripCount = SE->getSmallConstantTripCount(L, ExitingBlock); in UnrollLoop() 368 Info.TripMultiple = SE->getSmallConstantTripMultiple(L, ExitingBlock); in UnrollLoop() 377 Info.ExitingBlocks.push_back(ExitingBlock); in UnrollLoop() 378 LLVM_DEBUG(dbgs() << " Exiting block %" << ExitingBlock->getName() in UnrollLoop()
|
| H A D | LoopPeel.cpp | 661 for (BasicBlock *ExitingBlock : ExitingBlocks) { in initBranchWeights() 662 Instruction *Term = ExitingBlock->getTerminator(); in initBranchWeights()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopFuse.cpp | 155 BasicBlock *ExitingBlock; member 245 assert(ExitingBlock == L->getExitingBlock() && in verify() 268 ExitingBlock = L->getExitingBlock(); in updateAfterPeeling() 305 << (ExitingBlock ? ExitingBlock->getName() : "nullptr") << "\n" in dump() 325 if (!ExitingBlock) in isEligibleForFusion() 1604 if (FC0.ExitingBlock != FC0.Latch) in performFusion() 1688 FC0.ExitingBlock); in performFusion() 1703 if (FC0.Latch != FC0.ExitingBlock) in performFusion() 1894 if (FC0.ExitingBlock != FC0.Latch) in fuseGuardedLoops() 1971 FC0.ExitingBlock); in fuseGuardedLoops() [all …]
|
| H A D | LoopUnrollPass.cpp | 1212 for (BasicBlock *ExitingBlock : ExitingBlocks) in tryToUnrollLoop() 1213 if (unsigned TC = SE.getSmallConstantTripCount(L, ExitingBlock)) in tryToUnrollLoop() 1221 BasicBlock *ExitingBlock = L->getLoopLatch(); in tryToUnrollLoop() local 1222 if (!ExitingBlock || !L->isLoopExiting(ExitingBlock)) in tryToUnrollLoop() 1223 ExitingBlock = L->getExitingBlock(); in tryToUnrollLoop() 1224 if (ExitingBlock) in tryToUnrollLoop() 1225 TripMultiple = SE.getSmallConstantTripMultiple(L, ExitingBlock); in tryToUnrollLoop()
|
| H A D | LoopPredication.cpp | 916 [&](const BasicBlock *ExitingBlock, in isLoopProfitableToPredicate() 918 auto *Term = ExitingBlock->getTerminator(); in isLoopProfitableToPredicate() 934 assert(LatchBlock != ExitingBlock && in isLoopProfitableToPredicate()
|
| H A D | LoopStrengthReduce.cpp | 2440 for (BasicBlock *ExitingBlock : ExitingBlocks) { in OptimizeLoopTermCond() 2446 BranchInst *TermBr = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in OptimizeLoopTermCond() 2470 if (!DT.dominates(ExitingBlock, LatchBlock)) in OptimizeLoopTermCond() 2475 if (LatchBlock != ExitingBlock) in OptimizeLoopTermCond() 2480 !DT.properlyDominates(UI->getUser()->getParent(), ExitingBlock)) { in OptimizeLoopTermCond() 2538 Cond->insertInto(ExitingBlock, TermBr->getIterator()); in OptimizeLoopTermCond()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonHardwareLoops.cpp | 412 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in findInductionRegister() local 413 if (!Header || !Preheader || !Latch || !ExitingBlock) in findInductionRegister() 594 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in getLoopTripCount() local 595 if (!ExitingBlock) in getLoopTripCount() 631 if (ExitingBlock != Latch && (TB == Latch || FB == Latch)) { in getLoopTripCount() 1223 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in convertToHardwareLoop() local 1225 if (ExitingBlock != L->getLoopLatch()) { in convertToHardwareLoop() 1595 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in fixupInductionVariable() local 1597 if (!(Header && Latch && ExitingBlock)) in fixupInductionVariable() 1850 if (!Latch || !ExitingBlock || Header->hasAddressTaken()) in createPreheaderForLoop() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | ScalarEvolution.h | 827 const BasicBlock *ExitingBlock); 855 const BasicBlock *ExitingBlock); 876 const SCEV *getExitCount(const Loop *L, const BasicBlock *ExitingBlock, 1446 PoisoningVH<BasicBlock> ExitingBlock; 1453 PoisoningVH<BasicBlock> ExitingBlock, const SCEV *ExactNotTaken, 1456 : ExitingBlock(ExitingBlock), ExactNotTaken(ExactNotTaken), 1540 const SCEV *getExact(const BasicBlock *ExitingBlock, 1547 const SCEV *getConstantMax(const BasicBlock *ExitingBlock, 1554 const SCEV *getSymbolicMax(const BasicBlock *ExitingBlock, 1760 ExitLimit computeExitLimit(const Loop *L, BasicBlock *ExitingBlock,
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | ScalarEvolution.cpp | 8191 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripCount() 8250 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripMultiple() 8598 if (ENT.ExitingBlock == ExitingBlock && ENT.hasAlwaysTruePredicate()) in getExact() 8607 if (ENT.ExitingBlock == ExitingBlock && ENT.hasAlwaysTruePredicate()) in getConstantMax() 8616 if (ENT.ExitingBlock == ExitingBlock && ENT.hasAlwaysTruePredicate()) in getSymbolicMax() 8835 if (!Latch || !DT.dominates(ExitingBlock, Latch)) in computeExitLimit() 8839 Instruction *Term = ExitingBlock->getTerminator(); in computeExitLimit() 8854 for (auto *SBB : successors(ExitingBlock)) in computeExitLimit() 9238 if (Switch->getDefaultDest() == ExitingBlock) in computeExitLimitFromSingleExitSwitch() 13486 for (BasicBlock *ExitingBlock : ExitingBlocks) { in PrintLoopInfo() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlan.h | 2599 void setExiting(VPBlockBase *ExitingBlock) { in setExiting() argument 2600 assert(ExitingBlock->getSuccessors().empty() && in setExiting() 2602 Exiting = ExitingBlock; in setExiting() 2603 ExitingBlock->setParent(this); in setExiting()
|