Home
last modified time | relevance | path

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

12

/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp299 if (L->getLoopLatch() == nullptr || L->getLoopPredecessor() == nullptr) in getInductionVariable()
586 BasicBlock *OuterLoopLatch = OuterLoop->getLoopLatch(); in tightlyNested()
666 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in isLoopStructureUnderstood()
755 if (!L->getLoopLatch() || !L->getLoopPredecessor()) in findInductionAndReductions()
776 Value *V = followLCSSA(PHI.getIncomingValueForBlock(L->getLoopLatch())); in findInductionAndReductions()
797 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in currentLimitations()
802 OuterLoop->getExitingBlock() != OuterLoop->getLoopLatch() || in currentLimitations()
804 !isa<BranchInst>(OuterLoop->getLoopLatch()->getTerminator())) { in currentLimitations()
1005 if (!IncomingI || IncomingI->getParent() != OuterLoop->getLoopLatch()) in areOuterLoopExitPHIsSupported()
1018 if (OuterLoop->getLoopLatch()->getUniquePredecessor() == nullptr) in areOuterLoopExitPHIsSupported()
[all …]
H A DIndVarSimplify.cpp459 if (!L->getLoopLatch() || in rewriteFirstIterationLoopExitValues()
460 !DT->dominates(IncomingBB, L->getLoopLatch())) in rewriteFirstIterationLoopExitValues()
713 assert(L->getLoopLatch() && "Must be in simplified form"); in needsLFTR()
750 int Idx = Phi->getBasicBlockIndex(L->getLoopLatch()); in needsLFTR()
863 assert(L->getLoopLatch()); in isLoopCounter()
876 int LatchIdx = Phi->getBasicBlockIndex(L->getLoopLatch()); in isLoopCounter()
899 BasicBlock *LatchBlock = L->getLoopLatch(); in FindLoopCounter()
1067 assert(L->getLoopLatch() && "Loop no longer in simplified form?"); in linearFunctionTestReplace()
1070 cast<Instruction>(IndVar->getIncomingValueForBlock(L->getLoopLatch())); in linearFunctionTestReplace()
1079 if (ExitingBB == L->getLoopLatch()) { in linearFunctionTestReplace()
[all …]
H A DLoopFlatten.cpp109 BasicBlock *Latch = L->getLoopLatch(); in findLoopComponents()
229 InnerPHI.getIncomingValueForBlock(FI.InnerLoop->getLoopLatch()); in checkPHIs()
245 OuterPHI->getIncomingValueForBlock(FI.OuterLoop->getLoopLatch())); in checkPHIs()
537 FI.InnerInductionPHI->removeIncomingValue(FI.InnerLoop->getLoopLatch()); in DoFlattenLoopPair()
542 PHI->removeIncomingValue(FI.InnerLoop->getLoopLatch()); in DoFlattenLoopPair()
H A DLoopSimplifyCFG.cpp283 DeleteCurrentLoop = !IsEdgeLive(L.getLoopLatch(), L.getHeader()); in analyze()
292 BlocksInLoopAfterFolding.insert(L.getLoopLatch()); in analyze()
538 assert(L.getLoopLatch() && "Should be single latch!"); in run()
640 if (!L.getLoopLatch()) in constantFoldTerminators()
H A DLoopVersioningLICM.cpp252 if (CurLoop->getExitingBlock() != CurLoop->getLoopLatch()) { in legalLoopStructure()
551 Instruction *I = VerLoop->getLoopLatch()->getTerminator(); in setNoAliasToLoop()
H A DLoopPredication.cpp849 BasicBlock *LoopLatch = L->getLoopLatch(); in parseLoopLatchICmp()
930 auto *LatchBlock = L->getLoopLatch(); in isLoopProfitableToPredicate()
1015 assert(DT.dominates(ExitingBB, L->getLoopLatch()) && in getMinAnalyzeableBackedgeTakenCount()
1056 auto *Latch = L->getLoopLatch(); in predicateLoopExits()
H A DLoopUnrollAndJamPass.cpp369 BasicBlock *Latch = L->getLoopLatch(); in tryToUnrollAndJamLoop()
370 BasicBlock *SubLoopLatch = SubLoop->getLoopLatch(); in tryToUnrollAndJamLoop()
H A DLoopDeletion.cpp147 if (!L->getLoopLatch()) in breakBackedgeIfNotTaken()
H A DLoopUnrollPass.cpp428 PhiI->getIncomingValueForBlock(L->getLoopLatch()))) in analyzeLoopUnrollCost()
500 Iteration == 0 ? L->getLoopPreheader() : L->getLoopLatch()); in analyzeLoopUnrollCost()
1115 BasicBlock *ExitingBlock = L->getLoopLatch(); in tryToUnrollLoop()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/
H A DLoopNestAnalysis.cpp81 const BasicBlock *Latch = OuterLoop.getLoopLatch(); in arePerfectlyNested()
141 const BasicBlock *OuterLoopLatch = OuterLoop.getLoopLatch(); in arePerfectlyNested()
247 const BasicBlock *OuterLoopLatch = OuterLoop.getLoopLatch(); in checkLoopsStructure()
249 const BasicBlock *InnerLoopLatch = InnerLoop.getLoopLatch(); in checkLoopsStructure()
H A DLoopInfo.cpp175 if (BasicBlock *Latch = L.getLoopLatch()) in getLatchCmpInst()
233 BasicBlock *Latch = L.getLoopLatch(); in getCanonicalPredicate()
371 assert(Preheader && getLoopLatch() && in getLoopGuardBranch()
481 return getLoopPreheader() && getLoopLatch() && hasDedicatedExits(); in isLoopSimplifyForm()
H A DIVDescriptors.cpp728 auto *Latch = TheLoop->getLoopLatch(); in isFirstOrderRecurrence()
1101 BasicBlock *Latch = L->getLoopLatch(); in getCastsForInductionPHI()
1213 BasicBlock *Latch = AR->getLoop()->getLoopLatch(); in isInductionPHI()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
H A DLoopPeel.cpp101 const BasicBlock *Latch = L->getLoopLatch(); in canPeel()
118 const BasicBlock *Latch = L->getLoopLatch(); in canPeel()
147 assert(BackEdge == L->getLoopLatch() && "Wrong latch?"); in calculateIterationsToInvariance()
200 if (L.getLoopLatch() == BB) in countToEliminateCompares()
346 BasicBlock *BackEdge = L->getLoopLatch(); in computePeelCount()
512 BasicBlock *Latch = L->getLoopLatch(); in cloneLoopBlocks()
678 BasicBlock *Latch = L->getLoopLatch(); in peelLoop()
H A DLoopRotationUtils.cpp220 BasicBlock *Latch = L->getLoopLatch(); in canRotateDeoptimizingLatchExit()
278 BasicBlock *OrigLatch = L->getLoopLatch(); in rotateLoop()
632 SplitLatchEdge |= L->getLoopLatch() == ExitPred; in rotateLoop()
657 assert(L->getLoopLatch() && "Invalid loop latch after loop rotation"); in rotateLoop()
770 BasicBlock *Latch = L->getLoopLatch(); in simplifyLoopLatch()
816 assert((!MadeChange || L->isLoopExiting(L->getLoopLatch())) && in processLoop()
H A DLoopUnrollRuntime.cpp87 BasicBlock *Latch = L->getLoopLatch(); in ConnectProlog()
191 BasicBlock *Latch = L->getLoopLatch(); in ConnectEpilog()
311 BasicBlock *Latch = L->getLoopLatch(); in CloneLoopBlocks()
525 cast<BranchInst>(OrigLoop->getLoopLatch()->getTerminator()); in updateLatchBranchWeightsForRemainderLoop()
533 BasicBlock *Latch = RemainderLoop->getLoopLatch(); in updateLatchBranchWeightsForRemainderLoop()
599 BasicBlock *Latch = L->getLoopLatch(); in UnrollRuntimeLoopRemainder()
H A DLoopUnrollAndJam.cpp77 BasicBlock *SubLoopLatch = SubLoop->getLoopLatch(); in partitionLoopBlocks()
303 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollAndJamLoop()
311 SubLoop->getLoopLatch()->getTerminator()->getSuccessor(0)); in UnrollAndJamLoop()
974 BasicBlock *Latch = L->getLoopLatch(); in isSafeToUnrollAndJam()
H A DLoopUnroll.cpp294 if (!L->getLoopLatch()) { in UnrollLoop()
355 BasicBlock *ExitingBlock = L->getLoopLatch(); in UnrollLoop()
367 BasicBlock *LatchBlock = L->getLoopLatch(); in UnrollLoop()
H A DLoopSimplify.cpp566 BasicBlock *LoopLatch = L->getLoopLatch(); in simplifyOneLoop()
895 if (!L->getLoopPreheader() || !L->getLoopLatch()) {
/netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/
H A DMachineLoopInfo.cpp92 if (MachineBasicBlock *Latch = getLoopLatch()) { in findLoopControlBlock()
126 MachineBasicBlock *HB = L->getHeader(), *LB = L->getLoopLatch(); in findLoopPreheader()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/ARM/
H A DMVETPAndVPTOptimisationsPass.cpp110 MachineBasicBlock *Latch = ML->getLoopLatch(); in findLoopComponents()
391 if (LoopPhi->getOperand(2).getMBB() == ML->getLoopLatch()) { in MergeLoopEnd()
472 (Phi->getOperand(2).getMBB() != ML->getLoopLatch() && in ConvertTailPredLoop()
473 Phi->getOperand(4).getMBB() != ML->getLoopLatch())) { in ConvertTailPredLoop()
477 CountReg = Phi->getOperand(2).getMBB() == ML->getLoopLatch() in ConvertTailPredLoop()
H A DMVETailPredication.cpp387 Processed->addIncoming(Remaining, L->getLoopLatch()); in InsertVCTPIntrinsic()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationLegality.cpp297 assert(Lp->getLoopLatch() && "Expected loop with a single latch."); in isUniformLoop()
312 BasicBlock *Latch = Lp->getLoopLatch(); in isUniformLoop()
539 AllowedExit.insert(Phi->getIncomingValueForBlock(TheLoop->getLoopLatch())); in addInductionPhi()
846 BasicBlock *LoopLatch = TheLoop->getLoopLatch(); in canVectorizeInstrs()
H A DLoopVectorize.cpp1569 if (TheLoop->getExitingBlock() != TheLoop->getLoopLatch()) in requiresScalarEpilogue()
2331 auto *LoopVectorLatch = LI->getLoopFor(LoopVectorBody)->getLoopLatch(); in createVectorIntOrFpInductionPHI()
3065 BasicBlock *Latch = L->getLoopLatch(); in createInductionVariable()
3452 auto *ScalarLatchTerm = OrigLoop->getLoopLatch()->getTerminator(); in createVectorLoopSkeleton()
3563 auto *ScalarLatchTerm = OrigLoop->getLoopLatch()->getTerminator(); in completeLoopSkeleton()
3727 Value *PostInc = OrigPhi->getIncomingValueForBlock(OrigLoop->getLoopLatch()); in fixupIVUsers()
4184 auto *Latch = OrigLoop->getLoopLatch(); in fixFirstOrderRecurrence()
4259 VecPhi->addIncoming(Incoming, LI->getLoopFor(LoopVectorBody)->getLoopLatch()); in fixFirstOrderRecurrence()
4344 BasicBlock *VectorLoopLatch = LI->getLoopFor(LoopVectorBody)->getLoopLatch(); in fixReduction()
4399 LI->getLoopFor(LoopVectorBody)->getLoopLatch(), Sel); in fixReduction()
[all …]
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/
H A DHexagonHardwareLoops.cpp409 MachineBasicBlock *Latch = L->getLoopLatch(); in findInductionRegister()
606 MachineBasicBlock *Latch = L->getLoopLatch(); in getLoopTripCount()
1223 if (ExitingBlock != L->getLoopLatch()) { in convertToHardwareLoop()
1607 MachineBasicBlock *Latch = L->getLoopLatch(); in fixupInductionVariable()
1855 MachineBasicBlock *Latch = L->getLoopLatch(); in createPreheaderForLoop()
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/
H A DLoopInfoImpl.h131 const BlockT *Latch = getLoopLatch(); in getUniqueNonLatchExitBlocks()
216 BlockT *LoopBase<BlockT, LoopT>::getLoopLatch() const { in getLoopLatch() function

12