Searched refs:LatchBlock (Results 1 – 11 of 11) sorted by relevance
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopUnroll.cpp | 491 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollLoop() local 572 BranchInst *LatchBI = dyn_cast<BranchInst>(LatchBlock->getTerminator()); in UnrollLoop() 576 bool LatchIsExiting = L->isLoopExiting(LatchBlock); in UnrollLoop() 666 Latches.push_back(LatchBlock); in UnrollLoop() 712 auto BlockInsertPt = std::next(LatchBlock->getIterator()); in UnrollLoop() 735 Value *InVal = NewPHI->getIncomingValueForBlock(LatchBlock); in UnrollLoop() 784 if (*BB == LatchBlock) in UnrollLoop() 835 Value *InVal = PN->removeIncomingValue(LatchBlock, false); in UnrollLoop() 842 assert(Latches.back() == LastValueMap[LatchBlock] && "bad last latch"); in UnrollLoop() 871 BasicBlock *NewIDom = DT->findNearestCommonDominator(BB, LatchBlock); in UnrollLoop() [all …]
|
| H A D | ScalarEvolutionExpander.cpp | 965 BasicBlock *LatchBlock = L->getLoopLatch(); in getAddRecExprPHILiterally() local 966 if (LatchBlock) { in getAddRecExprPHILiterally() 976 SE.DT.properlyDominates(LatchBlock, IVIncInsertLoop->getHeader()); in getAddRecExprPHILiterally() 1003 dyn_cast<Instruction>(PN.getIncomingValueForBlock(LatchBlock)); in getAddRecExprPHILiterally() 1167 BasicBlock *LatchBlock = L->getLoopLatch(); in expandAddRecExprLiterally() local 1168 assert(LatchBlock && "PostInc mode requires a unique loop latch!"); in expandAddRecExprLiterally() 1169 Result = PN->getIncomingValueForBlock(LatchBlock); in expandAddRecExprLiterally() 1611 BasicBlock *LatchBlock = L->getLoopLatch(); in replaceCongruentIVInc() local 1612 if (!LatchBlock) in replaceCongruentIVInc() 1616 dyn_cast<Instruction>(OrigPhi->getIncomingValueForBlock(LatchBlock)); in replaceCongruentIVInc() [all …]
|
| H A D | LoopUnrollAndJam.cpp | 294 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollAndJamLoop() local 296 assert(LatchBlock && "No latch block"); in UnrollAndJamLoop() 297 BranchInst *BI = dyn_cast<BranchInst>(LatchBlock->getTerminator()); in UnrollAndJamLoop() 332 Header, LatchBlock, ForeBlocksLast[0]->getTerminator()->getIterator(), in UnrollAndJamLoop()
|
| H A D | SimplifyIndVar.cpp | 2105 if (BasicBlock *LatchBlock = L->getLoopLatch()) { in createWideIV() local 2107 dyn_cast<Instruction>(WidePhi->getIncomingValueForBlock(LatchBlock)); in createWideIV() 2113 cast<Instruction>(OrigPhi->getIncomingValueForBlock(LatchBlock)); in createWideIV()
|
| H A D | LoopUtils.cpp | 471 bool llvm::isAlmostDeadIV(PHINode *PN, BasicBlock *LatchBlock, Value *Cond) { in isAlmostDeadIV() argument 472 int LatchIdx = PN->getBasicBlockIndex(LatchBlock); in isAlmostDeadIV()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | IVUsers.cpp | 103 BasicBlock *LatchBlock = L->getLoopLatch(); in IVUseShouldUsePostIncValue() local 104 if (!LatchBlock) in IVUseShouldUsePostIncValue() 109 if (DT->dominates(LatchBlock, User->getParent())) in IVUseShouldUsePostIncValue() 125 !DT->dominates(LatchBlock, PN->getIncomingBlock(i))) in IVUseShouldUsePostIncValue()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | EVLIndVarSimplify.cpp | 109 BasicBlock *LatchBlock = L.getLoopLatch(); in run() local 111 if (!LatchBlock || !OrigLatchCmp) in run() 262 auto *LatchBranch = cast<BranchInst>(LatchBlock->getTerminator()); in run()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopPredication.cpp | 890 auto *LatchBlock = L->getLoopLatch(); in isLoopProfitableToPredicate() local 891 assert(LatchBlock && "Should have a single latch at this point!"); in isLoopProfitableToPredicate() 892 auto *LatchTerm = LatchBlock->getTerminator(); in isLoopProfitableToPredicate() 933 assert(LatchBlock != ExitingBlock && in isLoopProfitableToPredicate() 941 ComputeBranchProbability(LatchBlock, LatchExitBlock); in isLoopProfitableToPredicate()
|
| H A D | IndVarSimplify.cpp | 837 BasicBlock *LatchBlock = L->getLoopLatch(); in FindLoopCounter() local 838 assert(LatchBlock && "Must be in simplified form"); in FindLoopCounter() 861 Value *IncPhi = Phi->getIncomingValueForBlock(LatchBlock); in FindLoopCounter() 881 if (BestPhi && !isAlmostDeadIV(BestPhi, LatchBlock, Cond)) { in FindLoopCounter() 883 if (isAlmostDeadIV(Phi, LatchBlock, Cond)) in FindLoopCounter()
|
| H A D | LoopStrengthReduce.cpp | 2608 BasicBlock *LatchBlock = L->getLoopLatch(); in OptimizeLoopTermCond() local 2611 if (!llvm::is_contained(ExitingBlocks, LatchBlock)) { in OptimizeLoopTermCond() 2613 IVIncInsertPos = LatchBlock->getTerminator(); in OptimizeLoopTermCond() 2648 if (!DT.dominates(ExitingBlock, LatchBlock)) in OptimizeLoopTermCond() 2653 if (LatchBlock != ExitingBlock) in OptimizeLoopTermCond()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | LoopUtils.h | 193 LLVM_ABI bool isAlmostDeadIV(PHINode *IV, BasicBlock *LatchBlock, Value *Cond);
|