| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopSimplify.cpp | 523 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 D | LoopUnroll.cpp | 522 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 D | LoopPeel.cpp | 701 for (BasicBlock *ExitingBlock : ExitingBlocks) { in initBranchWeights() 702 Instruction *Term = ExitingBlock->getTerminator(); in initBranchWeights()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopFuse.cpp | 155 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 D | LoopUnrollPass.cpp | 1258 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 D | LoopPredication.cpp | 916 [&](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 D | LoopStrengthReduce.cpp | 2629 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 D | HexagonHardwareLoops.cpp | 412 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 D | ScalarEvolution.h | 828 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 D | ScalarEvolution.cpp | 8205 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 D | VPlan.h | 3205 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 D | SIInstrInfo.cpp | 217 for (MachineBasicBlock *ExitingBlock : ExitingBlocks) { in isSafeToSink() 218 if (hasDivergentBranch(ExitingBlock)) in isSafeToSink()
|