Home
last modified time | relevance | path

Searched refs:LatchBlock (Results 1 – 10 of 10) sorted by relevance

/freebsd-src/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUnroll.cpp495 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollLoop()
576 BranchInst *LatchBI = dyn_cast<BranchInst>(LatchBlock->getTerminator()); in UnrollLoop()
580 bool LatchIsExiting = L->isLoopExiting(LatchBlock); in UnrollLoop()
669 Latches.push_back(LatchBlock); in UnrollLoop()
716 auto BlockInsertPt = std::next(LatchBlock->getIterator()); in UnrollLoop()
739 Value *InVal = NewPHI->getIncomingValueForBlock(LatchBlock); in UnrollLoop()
780 if (*BB == LatchBlock) in UnrollLoop()
830 Value *InVal = PN->removeIncomingValue(LatchBlock, false); in UnrollLoop()
837 assert(Latches.back() == LastValueMap[LatchBlock] && "bad last latch"); in UnrollLoop()
866 BasicBlock *NewIDom = DT->findNearestCommonDominator(BB, LatchBlock); in UnrollLoop()
332 BasicBlock *LatchBlock = L->getLoopLatch(); UnrollLoop() local
[all...]
H A DLoopUnrollAndJam.cpp294 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(), AftBlocks); in UnrollAndJamLoop()
H A DScalarEvolutionExpander.cpp850 /// Typically this is the LatchBlock terminator or IVIncInsertPos, but we may in IsIncrementNSW()
941 BasicBlock *LatchBlock = L->getLoopLatch(); in getAddRecExprPHILiterally()
942 if (LatchBlock) { in getAddRecExprPHILiterally()
952 SE.DT.properlyDominates(LatchBlock, IVIncInsertLoop->getHeader()); in getAddRecExprPHILiterally()
979 dyn_cast<Instruction>(PN.getIncomingValueForBlock(LatchBlock)); in getAddRecExprPHILiterally()
1143 BasicBlock *LatchBlock = L->getLoopLatch(); in expandAddRecExprLiterally()
1144 assert(LatchBlock && "PostInc mode requires a unique loop latch!");
1145 Result = PN->getIncomingValueForBlock(LatchBlock); in visitAddRecExpr()
1583 BasicBlock *LatchBlock = L->getLoopLatch(); in replaceCongruentIVs()
1584 if (!LatchBlock) in replaceCongruentIVs()
881 BasicBlock *LatchBlock = L->getLoopLatch(); getAddRecExprPHILiterally() local
1086 BasicBlock *LatchBlock = L->getLoopLatch(); expandAddRecExprLiterally() local
1602 if (BasicBlock *LatchBlock = L->getLoopLatch()) { replaceCongruentIVs() local
[all...]
H A DSimplifyIndVar.cpp2095 if (BasicBlock *LatchBlock = L->getLoopLatch()) { in calculatePostIncRange()
2097 dyn_cast<Instruction>(WidePhi->getIncomingValueForBlock(LatchBlock)); in calculatePostIncRange()
2103 cast<Instruction>(OrigPhi->getIncomingValueForBlock(LatchBlock)); in calculatePostIncRanges()
1979 if (BasicBlock *LatchBlock = L->getLoopLatch()) { createWideIV() local
H A DLoopUtils.cpp469 bool llvm::isAlmostDeadIV(PHINode *PN, BasicBlock *LatchBlock, Value *Cond) { in isAlmostDeadIV() argument
470 int LatchIdx = PN->getBasicBlockIndex(LatchBlock); in isAlmostDeadIV()
471 assert(LatchIdx != -1 && "LatchBlock is not a case in this PHINode"); in isAlmostDeadIV()
/freebsd-src/contrib/llvm-project/llvm/lib/Analysis/
H A DIVUsers.cpp103 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-src/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopPredication.cpp891 auto *LatchBlock = L->getLoopLatch(); in isLoopProfitableToPredicate() local
892 assert(LatchBlock && "Should have a single latch at this point!"); in isLoopProfitableToPredicate()
893 auto *LatchTerm = LatchBlock->getTerminator(); in isLoopProfitableToPredicate()
934 assert(LatchBlock != ExitingBlock && in isLoopProfitableToPredicate()
942 ComputeBranchProbability(LatchBlock, LatchExitBlock); in isLoopProfitableToPredicate()
H A DIndVarSimplify.cpp846 BasicBlock *LatchBlock = L->getLoopLatch(); in FindLoopCounter()
847 assert(LatchBlock && "Must be in simplified form"); in FindLoopCounter()
870 Value *IncPhi = Phi->getIncomingValueForBlock(LatchBlock); in FindLoopCounter()
890 if (BestPhi && !isAlmostDeadIV(BestPhi, LatchBlock, Cond)) { in FindLoopCounter()
892 if (isAlmostDeadIV(Phi, LatchBlock, Cond)) in FindLoopCounter()
834 BasicBlock *LatchBlock = L->getLoopLatch(); FindLoopCounter() local
H A DLoopStrengthReduce.cpp2619 BasicBlock *LatchBlock = L->getLoopLatch(); in getUse()
2622 if (!llvm::is_contained(ExitingBlocks, LatchBlock)) { in getUse()
2624 IVIncInsertPos = LatchBlock->getTerminator(); in getUse()
2659 if (!DT.dominates(ExitingBlock, LatchBlock))
2664 if (LatchBlock != ExitingBlock) in FindUseWithSimilarFormula()
2430 BasicBlock *LatchBlock = L->getLoopLatch(); OptimizeLoopTermCond() local
/freebsd-src/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h184 /// \p LatchBlock would become dead if the exit test \p Cond were removed.
186 bool isAlmostDeadIV(PHINode *IV, BasicBlock *LatchBlock, Value *Cond);