Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopSimplify.cpp523 for (BasicBlock *ExitingBlock : ExitingBlocks) in simplifyOneLoop()
524 if (BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator())) in simplifyOneLoop()
530 << ExitingBlock->getName() << "\n"); in simplifyOneLoop()
633 for (BasicBlock *ExitingBlock : ExitingBlocks) { in simplifyOneLoop()
634 if (!ExitingBlock->getSinglePredecessor()) continue; in simplifyOneLoop()
635 BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in simplifyOneLoop()
638 if (!CI || CI->getParent() != ExitingBlock) continue; in simplifyOneLoop()
644 for (auto I = ExitingBlock->instructionsWithoutDebug().begin(); &*I != BI; ) { in simplifyOneLoop()
668 << ExitingBlock->getName() << "\n"); in simplifyOneLoop()
670 assert(pred_empty(ExitingBlock)); in simplifyOneLoop()
[all …]
H A DLoopUnroll.cpp522 for (auto *ExitingBlock : ExitingBlocks) { in UnrollLoop() local
525 auto *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in UnrollLoop()
529 ExitInfo &Info = ExitInfos.try_emplace(ExitingBlock).first->second; in UnrollLoop()
530 Info.TripCount = SE->getSmallConstantTripCount(L, ExitingBlock); in UnrollLoop()
531 Info.TripMultiple = SE->getSmallConstantTripMultiple(L, ExitingBlock); in UnrollLoop()
540 Info.ExitingBlocks.push_back(ExitingBlock); in UnrollLoop()
541 LLVM_DEBUG(dbgs() << " Exiting block %" << ExitingBlock->getName() in UnrollLoop()
H A DLoopPeel.cpp701 for (BasicBlock *ExitingBlock : ExitingBlocks) { in initBranchWeights()
702 Instruction *Term = ExitingBlock->getTerminator(); in initBranchWeights()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopFuse.cpp155 BasicBlock *ExitingBlock; member
189 ExitingBlock(L->getExitingBlock()), ExitBlock(L->getExitBlock()), in FusionCandidate()
235 return Preheader && Header && ExitingBlock && ExitBlock && Latch && L && in isValid()
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()
1633 FC0.ExitingBlock->getTerminator()->replaceUsesOfWith(FC1.Preheader, in performFusion()
1636 DominatorTree::Delete, FC0.ExitingBlock, FC1.Preheader)); in performFusion()
[all …]
H A DLoopUnrollPass.cpp1258 for (BasicBlock *ExitingBlock : ExitingBlocks) in tryToUnrollLoop()
1259 if (unsigned TC = SE.getSmallConstantTripCount(L, ExitingBlock)) in tryToUnrollLoop()
1267 BasicBlock *ExitingBlock = L->getLoopLatch(); in tryToUnrollLoop() local
1268 if (!ExitingBlock || !L->isLoopExiting(ExitingBlock)) in tryToUnrollLoop()
1269 ExitingBlock = L->getExitingBlock(); in tryToUnrollLoop()
1270 if (ExitingBlock) in tryToUnrollLoop()
1271 TripMultiple = SE.getSmallConstantTripMultiple(L, ExitingBlock); in tryToUnrollLoop()
H A DLoopPredication.cpp916 [&](const BasicBlock *ExitingBlock, in parseLoopLatchICmp()
918 auto *Term = ExitingBlock->getTerminator(); in parseLoopLatchICmp()
934 assert(LatchBlock != ExitingBlock && in parseLoopLatchICmp()
999 __anon4970eb7f0302(const BasicBlock *ExitingBlock, const BasicBlock *ExitBlock) isLoopProfitableToPredicate() argument
H A DLoopStrengthReduce.cpp2629 for (BasicBlock *ExitingBlock : ExitingBlocks) { in OptimizeLoopTermCond()
2635 BranchInst *TermBr = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in OptimizeLoopTermCond()
2659 if (!DT.dominates(ExitingBlock, LatchBlock)) in OptimizeLoopTermCond()
2664 if (LatchBlock != ExitingBlock) in OptimizeLoopTermCond()
2669 !DT.properlyDominates(UI->getUser()->getParent(), ExitingBlock)) { in OptimizeLoopTermCond()
2727 Cond->insertInto(ExitingBlock, TermBr->getIterator()); in OptimizeLoopTermCond()
/freebsd/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()
460 bool NotAnalyzed = TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false); in findInductionRegister()
594 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in getLoopTripCount() local
595 if (!ExitingBlock) in getLoopTripCount()
622 bool NotAnalyzed = TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false); in getLoopTripCount()
631 if (ExitingBlock != Latch && (TB == Latch || FB == Latch)) { in getLoopTripCount()
1222 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in convertToHardwareLoop() local
1224 if (ExitingBlock != L->getLoopLatch()) { in convertToHardwareLoop()
1228 if (TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false)) in convertToHardwareLoop()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DScalarEvolution.h828 const BasicBlock *ExitingBlock);
856 const BasicBlock *ExitingBlock);
877 const SCEV *getExitCount(const Loop *L, const BasicBlock *ExitingBlock,
1473 PoisoningVH<BasicBlock> ExitingBlock;
1480 PoisoningVH<BasicBlock> ExitingBlock, const SCEV *ExactNotTaken,
1483 : ExitingBlock(ExitingBlock), ExactNotTaken(ExactNotTaken),
1567 const SCEV *getExact(const BasicBlock *ExitingBlock,
1574 const SCEV *getConstantMax(const BasicBlock *ExitingBlock,
1583 const SCEV *getSymbolicMax(const BasicBlock *ExitingBlock,
1787 ExitLimit computeExitLimit(const Loop *L, BasicBlock *ExitingBlock,
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DScalarEvolution.cpp8205 const BasicBlock *ExitingBlock) { in getSmallConstantTripCount() argument
8206 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripCount()
8207 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripCount()
8210 dyn_cast<SCEVConstant>(getExitCount(L, ExitingBlock)); in getSmallConstantTripCount()
8264 const BasicBlock *ExitingBlock) { in getSmallConstantTripMultiple() argument
8265 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripMultiple()
8266 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripMultiple()
8268 const SCEV *ExitCount = getExitCount(L, ExitingBlock); in getSmallConstantTripMultiple()
8273 const BasicBlock *ExitingBlock, in getExitCount() argument
8277 return getBackedgeTakenInfo(L).getExact(ExitingBlock, this); in getExitCount()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlan.h3205 void setExiting(VPBlockBase *ExitingBlock) { in setExiting() argument
3206 assert(ExitingBlock->getSuccessors().empty() && in setExiting()
3208 Exiting = ExitingBlock; in setExiting()
3209 ExitingBlock->setParent(this); in setExiting()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIInstrInfo.cpp217 for (MachineBasicBlock *ExitingBlock : ExitingBlocks) { in isSafeToSink()
218 if (hasDivergentBranch(ExitingBlock)) in isSafeToSink()