Home
last modified time | relevance | path

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

/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
H A DLoopSimplify.cpp530 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 DLoopUnroll.cpp355 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 DLoopFuse.cpp155 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 DLoopUnrollPass.cpp1115 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 DLoopStrengthReduce.cpp2390 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 DHexagonHardwareLoops.cpp410 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 DScalarEvolution.h723 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 DScalarEvolution.cpp6954 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 …]