Home
last modified time | relevance | path

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

/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DLoopUnroll.cpp306 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollLoop() local
383 BranchInst *LatchBI = dyn_cast<BranchInst>(LatchBlock->getTerminator()); in UnrollLoop()
387 bool LatchIsExiting = L->isLoopExiting(LatchBlock); in UnrollLoop()
485 Latches.push_back(LatchBlock); in UnrollLoop()
531 auto BlockInsertPt = std::next(LatchBlock->getIterator()); in UnrollLoop()
554 Value *InVal = NewPHI->getIncomingValueForBlock(LatchBlock); in UnrollLoop()
584 if (*BB == LatchBlock) in UnrollLoop()
634 Value *InVal = PN->removeIncomingValue(LatchBlock, false); in UnrollLoop()
641 assert(Latches.back() == LastValueMap[LatchBlock] && "bad last latch"); in UnrollLoop()
670 BasicBlock *NewIDom = DT->findNearestCommonDominator(BB, LatchBlock); in UnrollLoop()
[all …]
H A DLoopUnrollAndJam.cpp301 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollAndJamLoop() local
303 assert(LatchBlock && "No latch block"); in UnrollAndJamLoop()
304 BranchInst *BI = dyn_cast<BranchInst>(LatchBlock->getTerminator()); in UnrollAndJamLoop()
339 Header, LatchBlock, ForeBlocksLast[0]->getTerminator(), AftBlocks); in UnrollAndJamLoop()
H A DScalarEvolutionExpander.cpp1178 BasicBlock *LatchBlock = L->getLoopLatch(); in getAddRecExprPHILiterally() local
1179 if (LatchBlock) { in getAddRecExprPHILiterally()
1189 SE.DT.properlyDominates(LatchBlock, IVIncInsertLoop->getHeader()); in getAddRecExprPHILiterally()
1216 dyn_cast<Instruction>(PN.getIncomingValueForBlock(LatchBlock)); in getAddRecExprPHILiterally()
1419 BasicBlock *LatchBlock = L->getLoopLatch(); in expandAddRecExprLiterally() local
1420 assert(LatchBlock && "PostInc mode requires a unique loop latch!"); in expandAddRecExprLiterally()
1421 Result = PN->getIncomingValueForBlock(LatchBlock); in expandAddRecExprLiterally()
1984 if (BasicBlock *LatchBlock = L->getLoopLatch()) { in replaceCongruentIVs() local
1986 OrigPhiRef->getIncomingValueForBlock(LatchBlock)); in replaceCongruentIVs()
1988 dyn_cast<Instruction>(Phi->getIncomingValueForBlock(LatchBlock)); in replaceCongruentIVs()
H A DSimplifyIndVar.cpp1940 if (BasicBlock *LatchBlock = L->getLoopLatch()) { in createWideIV() local
1942 cast<Instruction>(WidePhi->getIncomingValueForBlock(LatchBlock)); in createWideIV()
1947 cast<Instruction>(OrigPhi->getIncomingValueForBlock(LatchBlock)); in createWideIV()
/llvm-project-15.0.7/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()
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DLoopPredication.cpp938 auto *LatchBlock = L->getLoopLatch(); in isLoopProfitableToPredicate() local
939 assert(LatchBlock && "Should have a single latch at this point!"); in isLoopProfitableToPredicate()
940 auto *LatchTerm = LatchBlock->getTerminator(); in isLoopProfitableToPredicate()
991 assert(LatchBlock != ExitingBlock && in isLoopProfitableToPredicate()
999 ComputeBranchProbability(LatchBlock, LatchExitBlock); in isLoopProfitableToPredicate()
H A DIndVarSimplify.cpp849 static bool AlmostDeadIV(PHINode *Phi, BasicBlock *LatchBlock, Value *Cond) { in AlmostDeadIV() argument
850 int LatchIdx = Phi->getBasicBlockIndex(LatchBlock); in AlmostDeadIV()
903 BasicBlock *LatchBlock = L->getLoopLatch(); in FindLoopCounter() local
904 assert(LatchBlock && "Must be in simplified form"); in FindLoopCounter()
931 Value *IncPhi = Phi->getIncomingValueForBlock(LatchBlock); in FindLoopCounter()
951 if (BestPhi && !AlmostDeadIV(BestPhi, LatchBlock, Cond)) { in FindLoopCounter()
953 if (AlmostDeadIV(Phi, LatchBlock, Cond)) in FindLoopCounter()
H A DLoopStrengthReduce.cpp2413 BasicBlock *LatchBlock = L->getLoopLatch(); in OptimizeLoopTermCond() local
2416 if (llvm::all_of(ExitingBlocks, [&LatchBlock](const BasicBlock *BB) { in OptimizeLoopTermCond()
2417 return LatchBlock != BB; in OptimizeLoopTermCond()
2420 IVIncInsertPos = LatchBlock->getTerminator(); in OptimizeLoopTermCond()
2455 if (!DT.dominates(ExitingBlock, LatchBlock)) in OptimizeLoopTermCond()
2460 if (LatchBlock != ExitingBlock) in OptimizeLoopTermCond()
/llvm-project-15.0.7/llvm/unittests/Frontend/
H A DOpenMPIRBuilderTest.cpp2128 BasicBlock *LatchBlock = CLI->getLatch(); in TEST_P() local
2203 &*(LatchBlock->getTerminator()->getPrevNonDebugInstruction(true))); in TEST_P()
2268 BasicBlock *LatchBlock = CLI->getLatch(); in TEST_F() local
2300 &*(LatchBlock->getTerminator()->getPrevNonDebugInstruction(true))); in TEST_F()