Home
last modified time | relevance | path

Searched refs:getLoopLatch (Results 1 – 25 of 52) sorted by relevance

123

/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp550 BasicBlock *OuterLoopLatch = OuterLoop->getLoopLatch(); in tightlyNested()
631 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in isLoopStructureUnderstood()
731 if (!L->getLoopLatch() || !L->getLoopPredecessor()) in findInductionAndReductions()
771 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in currentLimitations()
776 OuterLoop->getExitingBlock() != OuterLoop->getLoopLatch() || in currentLimitations()
923 if (OuterLoop->getLoopLatch()->getUniquePredecessor() != nullptr) in areInnerLoopLatchPHIsSupported()
932 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in areInnerLoopLatchPHIsSupported()
1264 BasicBlock *OuterLatch = NewOuter->getLoopLatch(); in restructureLoops()
1312 SplitBlock(InnerLoop->getLoopLatch(), in transform()
1565 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in adjustLoopBranches()
[all …]
H A DLoopBoundSplit.cpp75 Cond.NonPHIAddRecValue = PN->getIncomingValueForBlock(L.getLoopLatch()); in analyzeICmp()
248 if (L.getLoopLatch() == BB) in findSplitCandidate()
363 (L.getExitingBlock() == L.getLoopLatch()) ? true : false; in splitLoopBound()
373 isExitingLatch ? PN.getIncomingValueForBlock(L.getLoopLatch()) : &PN, in splitLoopBound()
388 PN.getIncomingValueForBlock(L.getLoopLatch())) in splitLoopBound()
H A DIndVarSimplify.cpp449 if (!L->getLoopLatch() || in rewriteFirstIterationLoopExitValues()
450 !DT->dominates(IncomingBB, L->getLoopLatch())) in rewriteFirstIterationLoopExitValues()
704 assert(L->getLoopLatch() && "Must be in simplified form"); in needsLFTR()
741 int Idx = Phi->getBasicBlockIndex(L->getLoopLatch()); in needsLFTR()
798 assert(L->getLoopLatch()); in isLoopCounter()
811 int LatchIdx = Phi->getBasicBlockIndex(L->getLoopLatch()); in isLoopCounter()
834 BasicBlock *LatchBlock = L->getLoopLatch(); in FindLoopCounter()
942 assert(L->getLoopLatch() && "Loop no longer in simplified form?"); in linearFunctionTestReplace()
954 if (ExitingBB == L->getLoopLatch()) { in linearFunctionTestReplace()
1567 if (!DT->dominates(ExitingBB, L->getLoopLatch())) in optimizeLoopExits()
[all …]
H A DLoopSimplifyCFG.cpp279 DeleteCurrentLoop = !IsEdgeLive(L.getLoopLatch(), L.getHeader()); in analyze()
288 BlocksInLoopAfterFolding.insert(L.getLoopLatch()); in analyze()
535 assert(L.getLoopLatch() && "Should be single latch!"); in run()
652 if (!L.getLoopLatch()) in constantFoldTerminators()
H A DLoopFlatten.cpp401 BasicBlock *Latch = L->getLoopLatch(); in findLoopComponents()
495 InnerPHI.getIncomingValueForBlock(FI.InnerLoop->getLoopLatch()); in checkPHIs()
511 OuterPHI->getIncomingValueForBlock(FI.OuterLoop->getLoopLatch())); in checkPHIs()
763 FI.InnerInductionPHI->removeIncomingValue(FI.InnerLoop->getLoopLatch()); in DoFlattenLoopPair()
768 PHI->removeIncomingValue(FI.InnerLoop->getLoopLatch()); in DoFlattenLoopPair()
H A DLoopVersioningLICM.cpp200 if (CurLoop->getExitingBlock() != CurLoop->getLoopLatch()) { in legalLoopStructure()
513 Instruction *I = VerLoop->getLoopLatch()->getTerminator(); in setNoAliasToLoop()
H A DLoopUnrollAndJamPass.cpp364 BasicBlock *Latch = L->getLoopLatch(); in tryToUnrollAndJamLoop()
365 BasicBlock *SubLoopLatch = SubLoop->getLoopLatch(); in tryToUnrollAndJamLoop()
H A DLoopPredication.cpp811 BasicBlock *LoopLatch = L->getLoopLatch(); in parseLoopLatchICmp()
891 auto *LatchBlock = L->getLoopLatch(); in isLoopProfitableToPredicate()
1015 assert(DT.dominates(ExitingBB, L->getLoopLatch()) && in getMinAnalyzeableBackedgeTakenCount()
1056 auto *Latch = L->getLoopLatch(); in predicateLoopExits()
H A DLoopDeletion.cpp223 BasicBlock *Latch = L->getLoopLatch(); in canProveExitOnFirstIteration()
404 if (!L->getLoopLatch()) in breakBackedgeIfNotTaken()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/
H A DLoopNestAnalysis.cpp54 const BasicBlock *Latch = OuterLoop.getLoopLatch(); in getOuterLoopLatchCmp()
162 const BasicBlock *OuterLoopLatch = OuterLoop.getLoopLatch(); in analyzeLoopNestForPerfectNest()
226 const BasicBlock *OuterLoopLatch = OuterLoop.getLoopLatch(); in getInterveningInstructions()
327 const BasicBlock *OuterLoopLatch = OuterLoop.getLoopLatch(); in checkLoopsStructure()
329 const BasicBlock *InnerLoopLatch = InnerLoop.getLoopLatch(); in checkLoopsStructure()
H A DLoopInfo.cpp175 if (BasicBlock *Latch = getLoopLatch()) in getLatchCmpInst()
233 BasicBlock *Latch = L.getLoopLatch(); in getCanonicalPredicate()
312 BasicBlock *Latch = getLoopLatch(); in getInductionVariable()
372 assert(Preheader && getLoopLatch() && in getLoopGuardBranch()
482 return getLoopPreheader() && getLoopLatch() && hasDedicatedExits(); in isLoopSimplifyForm()
H A DIVUsers.cpp103 BasicBlock *LatchBlock = L->getLoopLatch(); in IVUseShouldUsePostIncValue()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopRotationUtils.cpp239 BasicBlock *Latch = L->getLoopLatch(); in canRotateDeoptimizingLatchExit()
414 BasicBlock *OrigLatch = L->getLoopLatch(); in rotateLoop()
848 SplitLatchEdge |= L->getLoopLatch() == ExitPred; in rotateLoop()
874 assert(L->getLoopLatch() && "Invalid loop latch after loop rotation"); in rotateLoop()
987 BasicBlock *Latch = L->getLoopLatch(); in simplifyLoopLatch()
1038 assert((!MadeChange || L->isLoopExiting(L->getLoopLatch())) && in processLoop()
H A DLoopPeel.cpp227 Value *Input = Phi->getIncomingValueForBlock(L.getLoopLatch()); in calculate()
299 BasicBlock *Latch = L.getLoopLatch(); in peelToTurnInvariantLoadsDerefencebale()
463 if (L.getLoopLatch() == BB) in countToEliminateCompares()
477 BasicBlock *Latch = L->getLoopLatch(); in violatesLegacyMultiExitLoopCheck()
718 BasicBlock *Latch = L->getLoopLatch(); in cloneLoopBlocks()
887 BasicBlock *Latch = L->getLoopLatch(); in peelLoop()
H A DLoopUnrollRuntime.cpp101 BasicBlock *Latch = L->getLoopLatch(); in ConnectProlog()
217 BasicBlock *Latch = L->getLoopLatch(); in ConnectEpilog()
348 BasicBlock *Latch = L->getLoopLatch(); in CloneLoopBlocks()
599 BasicBlock *Latch = L->getLoopLatch(); in UnrollRuntimeLoopRemainder()
972 BasicBlock *RemainderLatch = remainderLoop->getLoopLatch(); in UnrollRuntimeLoopRemainder()
H A DLoopUnrollAndJam.cpp72 BasicBlock *SubLoopLatch = SubLoop->getLoopLatch(); in partitionLoopBlocks()
294 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollAndJamLoop()
302 SubLoop->getLoopLatch()->getTerminator()->getSuccessor(0)); in UnrollAndJamLoop()
963 BasicBlock *Latch = L->getLoopLatch(); in isSafeToUnrollAndJam()
H A DLoopConstrainer.cpp112 SE.getExitCount(&L, L.getLoopLatch(), ScalarEvolution::SymbolicMaximum); in getNarrowestLatchMaxTakenCountEstimate()
127 BasicBlock *Latch = L.getLoopLatch(); in parseLoopStructure()
479 cast<BasicBlock>(GetClonedValue(OriginalLoop.getLoopLatch())); in cloneLoop()
H A DLoopSimplify.cpp559 BasicBlock *LoopLatch = L->getLoopLatch(); in simplifyOneLoop()
881 if (!L->getLoopPreheader() || !L->getLoopLatch()) {
H A DLoopUnroll.cpp308 if (!L->getLoopLatch()) { in UnrollLoop()
332 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollLoop()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanHCFGBuilder.cpp92 assert(SinglePred == LI->getLoopFor(SinglePred)->getLoopLatch() && in setVPBBPredsFromBB()
142 BasicBlock *LoopLatch = L->getLoopLatch(); in fixPhiNodes()
409 if (!LoopForBB || BB != LoopForBB->getLoopLatch()) { in buildPlainCFG()
H A DLoopVectorizationLegality.cpp338 assert(Lp->getLoopLatch() && "Expected loop with a single latch."); in isUniformLoop()
353 BasicBlock *Latch = Lp->getLoopLatch(); in isUniformLoop()
727 AllowedExit.insert(Phi->getIncomingValueForBlock(TheLoop->getLoopLatch())); in addInductionPhi()
/freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineLoopInfo.cpp92 if (MachineBasicBlock *Latch = getLoopLatch()) { in findLoopControlBlock()
126 MachineBasicBlock *HB = L->getHeader(), *LB = L->getLoopLatch(); in findLoopPreheader()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMVETPAndVPTOptimisationsPass.cpp115 MachineBasicBlock *Latch = ML->getLoopLatch(); in findLoopComponents()
399 if (LoopPhi->getOperand(2).getMBB() == ML->getLoopLatch()) { in MergeLoopEnd()
496 (Phi->getOperand(2).getMBB() != ML->getLoopLatch() && in ConvertTailPredLoop()
497 Phi->getOperand(4).getMBB() != ML->getLoopLatch())) { in ConvertTailPredLoop()
501 CountReg = Phi->getOperand(2).getMBB() == ML->getLoopLatch() in ConvertTailPredLoop()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonHardwareLoops.cpp411 MachineBasicBlock *Latch = L->getLoopLatch(); in findInductionRegister()
609 MachineBasicBlock *Latch = L->getLoopLatch(); in getLoopTripCount()
1225 if (ExitingBlock != L->getLoopLatch()) { in convertToHardwareLoop()
1594 MachineBasicBlock *Latch = L->getLoopLatch(); in fixupInductionVariable()
1840 MachineBasicBlock *Latch = L->getLoopLatch(); in createPreheaderForLoop()
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Support/
H A DGenericLoopInfoImpl.h151 const BlockT *Latch = getLoopLatch(); in getUniqueNonLatchExitBlocks()
245 BlockT *LoopBase<BlockT, LoopT>::getLoopLatch() const { in getLoopLatch() function

123