Searched refs:LatchBlock (Results 1 – 8 of 8) sorted by relevance
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopUnroll.cpp | 296 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollLoop() local 373 BranchInst *LatchBI = dyn_cast<BranchInst>(LatchBlock->getTerminator()); in UnrollLoop() 377 bool LatchIsExiting = L->isLoopExiting(LatchBlock); in UnrollLoop() 475 Latches.push_back(LatchBlock); in UnrollLoop() 540 Value *InVal = NewPHI->getIncomingValueForBlock(LatchBlock); in UnrollLoop() 570 if (*BB == LatchBlock) in UnrollLoop() 620 Value *InVal = PN->removeIncomingValue(LatchBlock, false); in UnrollLoop() 627 assert(Latches.back() == LastValueMap[LatchBlock] && "bad last latch"); in UnrollLoop() 656 BasicBlock *NewIDom = DT->findNearestCommonDominator(BB, LatchBlock); in UnrollLoop() 723 bool IsLatch = Pair.first == LatchBlock; in UnrollLoop()
|
| H A D | LoopUnrollAndJam.cpp | 303 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollAndJamLoop() local 305 assert(LatchBlock && "No latch block"); in UnrollAndJamLoop() 306 BranchInst *BI = dyn_cast<BranchInst>(LatchBlock->getTerminator()); in UnrollAndJamLoop() 341 Header, LatchBlock, ForeBlocksLast[0]->getTerminator(), AftBlocks); in UnrollAndJamLoop()
|
| H A D | ScalarEvolutionExpander.cpp | 1221 BasicBlock *LatchBlock = L->getLoopLatch(); in getAddRecExprPHILiterally() local 1222 if (LatchBlock) { in getAddRecExprPHILiterally() 1232 SE.DT.properlyDominates(LatchBlock, IVIncInsertLoop->getHeader()); in getAddRecExprPHILiterally() 1259 dyn_cast<Instruction>(PN.getIncomingValueForBlock(LatchBlock)); in getAddRecExprPHILiterally() 1469 BasicBlock *LatchBlock = L->getLoopLatch(); in expandAddRecExprLiterally() local 1470 assert(LatchBlock && "PostInc mode requires a unique loop latch!"); in expandAddRecExprLiterally() 1471 Result = PN->getIncomingValueForBlock(LatchBlock); in expandAddRecExprLiterally() 2131 if (BasicBlock *LatchBlock = L->getLoopLatch()) { in replaceCongruentIVs() local 2133 OrigPhiRef->getIncomingValueForBlock(LatchBlock)); in replaceCongruentIVs() 2135 dyn_cast<Instruction>(Phi->getIncomingValueForBlock(LatchBlock)); in replaceCongruentIVs()
|
| H A D | SimplifyIndVar.cpp | 1892 if (BasicBlock *LatchBlock = L->getLoopLatch()) { in createWideIV() local 1894 cast<Instruction>(WidePhi->getIncomingValueForBlock(LatchBlock)); in createWideIV() 1899 cast<Instruction>(OrigPhi->getIncomingValueForBlock(LatchBlock)); in createWideIV()
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | IVUsers.cpp | 135 BasicBlock *LatchBlock = L->getLoopLatch(); in IVUseShouldUsePostIncValue() local 136 if (!LatchBlock) in IVUseShouldUsePostIncValue() 141 if (DT->dominates(LatchBlock, User->getParent())) in IVUseShouldUsePostIncValue() 157 !DT->dominates(LatchBlock, PN->getIncomingBlock(i))) in IVUseShouldUsePostIncValue()
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | IndVarSimplify.cpp | 845 static bool AlmostDeadIV(PHINode *Phi, BasicBlock *LatchBlock, Value *Cond) { in AlmostDeadIV() argument 846 int LatchIdx = Phi->getBasicBlockIndex(LatchBlock); in AlmostDeadIV() 899 BasicBlock *LatchBlock = L->getLoopLatch(); in FindLoopCounter() local 900 assert(LatchBlock && "Must be in simplified form"); in FindLoopCounter() 927 Value *IncPhi = Phi->getIncomingValueForBlock(LatchBlock); in FindLoopCounter() 947 if (BestPhi && !AlmostDeadIV(BestPhi, LatchBlock, Cond)) { in FindLoopCounter() 949 if (AlmostDeadIV(Phi, LatchBlock, Cond)) in FindLoopCounter()
|
| H A D | LoopPredication.cpp | 930 auto *LatchBlock = L->getLoopLatch(); in isLoopProfitableToPredicate() local 931 assert(LatchBlock && "Should have a single latch at this point!"); in isLoopProfitableToPredicate() 932 auto *LatchTerm = LatchBlock->getTerminator(); in isLoopProfitableToPredicate() 938 BPI->getEdgeProbability(LatchBlock, LatchBrExitIdx); in isLoopProfitableToPredicate()
|
| H A D | LoopStrengthReduce.cpp | 2410 BasicBlock *LatchBlock = L->getLoopLatch(); in OptimizeLoopTermCond() local 2413 if (llvm::all_of(ExitingBlocks, [&LatchBlock](const BasicBlock *BB) { in OptimizeLoopTermCond() 2414 return LatchBlock != BB; in OptimizeLoopTermCond() 2417 IVIncInsertPos = LatchBlock->getTerminator(); in OptimizeLoopTermCond() 2452 if (!DT.dominates(ExitingBlock, LatchBlock)) in OptimizeLoopTermCond() 2457 if (LatchBlock != ExitingBlock) in OptimizeLoopTermCond()
|