Home
last modified time | relevance | path

Searched refs:ExitingBlock (Results 1 – 11 of 11) sorted by relevance

/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopSimplify.cpp523 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 DLoopUnroll.cpp359 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 DLoopPeel.cpp661 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 DLoopFuse.cpp155 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 DLoopUnrollPass.cpp1212 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 DLoopPredication.cpp916 [&](const BasicBlock *ExitingBlock, in isLoopProfitableToPredicate()
918 auto *Term = ExitingBlock->getTerminator(); in isLoopProfitableToPredicate()
934 assert(LatchBlock != ExitingBlock && in isLoopProfitableToPredicate()
H A DLoopStrengthReduce.cpp2440 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 DHexagonHardwareLoops.cpp412 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 DScalarEvolution.h827 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 DScalarEvolution.cpp8191 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 DVPlan.h2599 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()