Home
last modified time | relevance | path

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

12

/openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp555 BasicBlock *OuterLoopLatch = OuterLoop->getLoopLatch(); in tightlyNested()
636 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in isLoopStructureUnderstood()
736 if (!L->getLoopLatch() || !L->getLoopPredecessor()) in findInductionAndReductions()
757 Value *V = followLCSSA(PHI.getIncomingValueForBlock(L->getLoopLatch())); in findInductionAndReductions()
777 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in currentLimitations()
782 OuterLoop->getExitingBlock() != OuterLoop->getLoopLatch() || in currentLimitations()
784 !isa<BranchInst>(OuterLoop->getLoopLatch()->getTerminator())) { in currentLimitations()
895 if (!IncomingI || IncomingI->getParent() != OuterLoop->getLoopLatch()) in areOuterLoopExitPHIsSupported()
908 if (OuterLoop->getLoopLatch()->getUniquePredecessor() == nullptr) in areOuterLoopExitPHIsSupported()
929 if (OuterLoop->getLoopLatch()->getUniquePredecessor() != nullptr) in areInnerLoopLatchPHIsSupported()
[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.cpp461 if (!L->getLoopLatch() || in rewriteFirstIterationLoopExitValues()
462 !DT->dominates(IncomingBB, L->getLoopLatch())) in rewriteFirstIterationLoopExitValues()
716 assert(L->getLoopLatch() && "Must be in simplified form"); in needsLFTR()
753 int Idx = Phi->getBasicBlockIndex(L->getLoopLatch()); in needsLFTR()
868 assert(L->getLoopLatch()); in isLoopCounter()
881 int LatchIdx = Phi->getBasicBlockIndex(L->getLoopLatch()); in isLoopCounter()
904 BasicBlock *LatchBlock = L->getLoopLatch(); in FindLoopCounter()
1065 assert(L->getLoopLatch() && "Loop no longer in simplified form?"); in linearFunctionTestReplace()
1068 cast<Instruction>(IndVar->getIncomingValueForBlock(L->getLoopLatch())); in linearFunctionTestReplace()
1077 if (ExitingBB == L->getLoopLatch()) { in linearFunctionTestReplace()
[all …]
H A DLoopSimplifyCFG.cpp281 DeleteCurrentLoop = !IsEdgeLive(L.getLoopLatch(), L.getHeader()); in analyze()
290 BlocksInLoopAfterFolding.insert(L.getLoopLatch()); in analyze()
537 assert(L.getLoopLatch() && "Should be single latch!"); in run()
654 if (!L.getLoopLatch()) in constantFoldTerminators()
H A DLoopFlatten.cpp398 BasicBlock *Latch = L->getLoopLatch(); in findLoopComponents()
492 InnerPHI.getIncomingValueForBlock(FI.InnerLoop->getLoopLatch()); in checkPHIs()
508 OuterPHI->getIncomingValueForBlock(FI.OuterLoop->getLoopLatch())); in checkPHIs()
752 FI.InnerInductionPHI->removeIncomingValue(FI.InnerLoop->getLoopLatch()); in DoFlattenLoopPair()
757 PHI->removeIncomingValue(FI.InnerLoop->getLoopLatch()); in DoFlattenLoopPair()
H A DLoopVersioningLICM.cpp230 if (CurLoop->getExitingBlock() != CurLoop->getLoopLatch()) { in legalLoopStructure()
538 Instruction *I = VerLoop->getLoopLatch()->getTerminator(); in setNoAliasToLoop()
H A DLoopPredication.cpp879 BasicBlock *LoopLatch = L->getLoopLatch(); in parseLoopLatchICmp()
959 auto *LatchBlock = L->getLoopLatch(); in isLoopProfitableToPredicate()
1084 assert(DT.dominates(ExitingBB, L->getLoopLatch()) && in getMinAnalyzeableBackedgeTakenCount()
1125 auto *Latch = L->getLoopLatch(); in predicateLoopExits()
H A DLoopUnrollAndJamPass.cpp377 BasicBlock *Latch = L->getLoopLatch(); in tryToUnrollAndJamLoop()
378 BasicBlock *SubLoopLatch = SubLoop->getLoopLatch(); in tryToUnrollAndJamLoop()
H A DLoopDeletion.cpp225 BasicBlock *Latch = L->getLoopLatch(); in canProveExitOnFirstIteration()
406 if (!L->getLoopLatch()) in breakBackedgeIfNotTaken()
/openbsd-src/gnu/llvm/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()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/
H A DLoopRotationUtils.cpp210 BasicBlock *Latch = L->getLoopLatch(); in canRotateDeoptimizingLatchExit()
268 BasicBlock *OrigLatch = L->getLoopLatch(); in rotateLoop()
633 SplitLatchEdge |= L->getLoopLatch() == ExitPred; in rotateLoop()
659 assert(L->getLoopLatch() && "Invalid loop latch after loop rotation"); in rotateLoop()
772 BasicBlock *Latch = L->getLoopLatch(); in simplifyLoopLatch()
823 assert((!MadeChange || L->isLoopExiting(L->getLoopLatch())) && in processLoop()
H A DLoopUnrollRuntime.cpp90 BasicBlock *Latch = L->getLoopLatch(); in ConnectProlog()
199 BasicBlock *Latch = L->getLoopLatch(); in ConnectEpilog()
323 BasicBlock *Latch = L->getLoopLatch(); in CloneLoopBlocks()
474 cast<BranchInst>(OrigLoop->getLoopLatch()->getTerminator()); in updateLatchBranchWeightsForRemainderLoop()
483 BasicBlock *Latch = RemainderLoop->getLoopLatch(); in updateLatchBranchWeightsForRemainderLoop()
580 BasicBlock *Latch = L->getLoopLatch(); in UnrollRuntimeLoopRemainder()
949 BasicBlock *RemainderLatch = remainderLoop->getLoopLatch(); in UnrollRuntimeLoopRemainder()
H A DLoopPeel.cpp227 Value *Input = Phi->getIncomingValueForBlock(L.getLoopLatch()); in calculate()
299 BasicBlock *Latch = L.getLoopLatch(); in peelToTurnInvariantLoadsDerefencebale()
354 if (L.getLoopLatch() == BB) in countToEliminateCompares()
451 BasicBlock *Latch = L->getLoopLatch(); in violatesLegacyMultiExitLoopCheck()
697 BasicBlock *Latch = L->getLoopLatch(); in cloneLoopBlocks()
866 BasicBlock *Latch = L->getLoopLatch(); in peelLoop()
H A DLoopUnrollAndJam.cpp73 BasicBlock *SubLoopLatch = SubLoop->getLoopLatch(); in partitionLoopBlocks()
295 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollAndJamLoop()
303 SubLoop->getLoopLatch()->getTerminator()->getSuccessor(0)); in UnrollAndJamLoop()
964 BasicBlock *Latch = L->getLoopLatch(); in isSafeToUnrollAndJam()
H A DLoopSimplify.cpp560 BasicBlock *LoopLatch = L->getLoopLatch(); in simplifyOneLoop()
881 if (!L->getLoopPreheader() || !L->getLoopLatch()) {
H A DLoopUnroll.cpp282 if (!L->getLoopLatch()) { in UnrollLoop()
306 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollLoop()
/openbsd-src/gnu/llvm/llvm/lib/CodeGen/
H A DMachineLoopInfo.cpp92 if (MachineBasicBlock *Latch = getLoopLatch()) { in findLoopControlBlock()
126 MachineBasicBlock *HB = L->getHeader(), *LB = L->getLoopLatch(); in findLoopPreheader()
/openbsd-src/gnu/llvm/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()
H A DMVETailPredication.cpp387 Processed->addIncoming(Remaining, L->getLoopLatch()); in InsertVCTPIntrinsic()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationLegality.cpp333 assert(Lp->getLoopLatch() && "Expected loop with a single latch."); in isUniformLoop()
348 BasicBlock *Latch = Lp->getLoopLatch(); in isUniformLoop()
594 AllowedExit.insert(Phi->getIncomingValueForBlock(TheLoop->getLoopLatch())); in addInductionPhi()
901 BasicBlock *LoopLatch = TheLoop->getLoopLatch(); in canVectorizeInstrs()
H A DVPlanHCFGBuilder.cpp344 BasicBlock *Exiting = L->getLoopLatch(); in buildPlainCFG()
/openbsd-src/gnu/llvm/llvm/lib/Target/Hexagon/
H A DHexagonHardwareLoops.cpp411 MachineBasicBlock *Latch = L->getLoopLatch(); in findInductionRegister()
609 MachineBasicBlock *Latch = L->getLoopLatch(); in getLoopTripCount()
1226 if (ExitingBlock != L->getLoopLatch()) { in convertToHardwareLoop()
1595 MachineBasicBlock *Latch = L->getLoopLatch(); in fixupInductionVariable()
1843 MachineBasicBlock *Latch = L->getLoopLatch(); in createPreheaderForLoop()
/openbsd-src/gnu/llvm/llvm/include/llvm/Analysis/
H A DLoopInfoImpl.h151 const BlockT *Latch = getLoopLatch(); in getUniqueNonLatchExitBlocks()
232 BlockT *LoopBase<BlockT, LoopT>::getLoopLatch() const { in getLoopLatch() function

12