/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopInterchange.cpp | 550 BasicBlock *OuterLoopLatch = OuterLoop->getLoopLatch(); in tightlyNested() 631 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in isLoopStructureUnderstood() 731 if (!L->getLoopLatch() || !L->getLoopPredecessor()) in findInductionAndReductions() 751 Value *V = followLCSSA(PHI.getIncomingValueForBlock(L->getLoopLatch())); in findInductionAndReductions() 771 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in currentLimitations() 776 OuterLoop->getExitingBlock() != OuterLoop->getLoopLatch() || in currentLimitations() 778 !isa<BranchInst>(OuterLoop->getLoopLatch()->getTerminator())) { in currentLimitations() 889 if (!IncomingI || IncomingI->getParent() != OuterLoop->getLoopLatch()) in areOuterLoopExitPHIsSupported() 902 if (OuterLoop->getLoopLatch()->getUniquePredecessor() == nullptr) in areOuterLoopExitPHIsSupported() 923 if (OuterLoop->getLoopLatch()->getUniquePredecessor() != nullptr) in areInnerLoopLatchPHIsSupported() [all …]
|
H A D | LoopBoundSplit.cpp | 75 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 D | IndVarSimplify.cpp | 459 if (!L->getLoopLatch() || in rewriteFirstIterationLoopExitValues() 460 !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() 810 assert(L->getLoopLatch()); in isLoopCounter() 823 int LatchIdx = Phi->getBasicBlockIndex(L->getLoopLatch()); in isLoopCounter() 846 BasicBlock *LatchBlock = L->getLoopLatch(); in FindLoopCounter() 954 assert(L->getLoopLatch() && "Loop no longer in simplified form?"); in linearFunctionTestReplace() 957 cast<Instruction>(IndVar->getIncomingValueForBlock(L->getLoopLatch())); in linearFunctionTestReplace() 966 if (ExitingBB == L->getLoopLatch()) { in linearFunctionTestReplace() [all …]
|
H A D | LoopSimplifyCFG.cpp | 278 DeleteCurrentLoop = !IsEdgeLive(L.getLoopLatch(), L.getHeader()); in analyze() 287 BlocksInLoopAfterFolding.insert(L.getLoopLatch()); in analyze() 534 assert(L.getLoopLatch() && "Should be single latch!"); in run() 651 if (!L.getLoopLatch()) in constantFoldTerminators()
|
H A D | LoopFlatten.cpp | 408 BasicBlock *Latch = L->getLoopLatch(); in findLoopComponents() 502 InnerPHI.getIncomingValueForBlock(FI.InnerLoop->getLoopLatch()); in checkPHIs() 518 OuterPHI->getIncomingValueForBlock(FI.OuterLoop->getLoopLatch())); in checkPHIs() 772 FI.InnerInductionPHI->removeIncomingValue(FI.InnerLoop->getLoopLatch()); in DoFlattenLoopPair() 777 PHI->removeIncomingValue(FI.InnerLoop->getLoopLatch()); in DoFlattenLoopPair()
|
H A D | LoopVersioningLICM.cpp | 200 if (CurLoop->getExitingBlock() != CurLoop->getLoopLatch()) { in legalLoopStructure() 513 Instruction *I = VerLoop->getLoopLatch()->getTerminator(); in setNoAliasToLoop()
|
H A D | LoopUnrollAndJamPass.cpp | 366 BasicBlock *Latch = L->getLoopLatch(); in tryToUnrollAndJamLoop() 367 BasicBlock *SubLoopLatch = SubLoop->getLoopLatch(); in tryToUnrollAndJamLoop()
|
H A D | LoopDeletion.cpp | 223 BasicBlock *Latch = L->getLoopLatch(); in canProveExitOnFirstIteration() 404 if (!L->getLoopLatch()) in breakBackedgeIfNotTaken()
|
H A D | LoopPredication.cpp | 811 BasicBlock *LoopLatch = L->getLoopLatch(); in widenGuardConditions() 891 auto *LatchBlock = L->getLoopLatch(); in parseLoopLatchICmp() 1015 assert(DT.dominates(ExitingBB, L->getLoopLatch()) && in isLoopProfitableToPredicate() 1056 auto *Latch = L->getLoopLatch(); in FindWidenableTerminatorAboveLoop()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | LoopNestAnalysis.cpp | 54 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 D | LoopInfo.cpp | 176 if (BasicBlock *Latch = getLoopLatch()) in getLatchCmpInst() 234 BasicBlock *Latch = L.getLoopLatch(); in getCanonicalPredicate() 313 BasicBlock *Latch = getLoopLatch(); in getInductionVariable() 373 assert(Preheader && getLoopLatch() && in getLoopGuardBranch() 483 return getLoopPreheader() && getLoopLatch() && hasDedicatedExits(); in isLoopSimplifyForm()
|
H A D | IVUsers.cpp | 103 BasicBlock *LatchBlock = L->getLoopLatch(); in IVUseShouldUsePostIncValue()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | VPlanHCFGBuilder.cpp | 92 assert(SinglePred == LI->getLoopFor(SinglePred)->getLoopLatch() && in setVPBBPredsFromBB() 142 BasicBlock *LoopLatch = L->getLoopLatch(); in fixPhiNodes() 360 if (TheLoop->getHeader() != TheLoop->getLoopLatch()) { in buildPlainCFG() 361 BB2VPBB[TheLoop->getLoopLatch()] = VectorLatchVPBB; in buildPlainCFG() 423 if (!LoopForBB || BB != LoopForBB->getLoopLatch()) { in buildPlainCFG()
|
H A D | LoopVectorizationLegality.cpp | 338 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()
|
H A D | LoopVectorize.cpp | 1406 if (TheLoop->getExitingBlock() != TheLoop->getLoopLatch()) { in requiresScalarEpilogue() 2521 if (hasBranchWeightMD(*OrigLoop->getLoopLatch()->getTerminator())) in emitIterationCountCheck() 2784 Value *PostInc = OrigPhi->getIncomingValueForBlock(OrigLoop->getLoopLatch()); in fixupIVUsers() 3132 auto *Latch = TheLoop->getLoopLatch(); in collectLoopScalars() 3746 BasicBlock *Latch = TheLoop->getLoopLatch(); in collectLoopUniforms() 4053 if (TheLoop->getExitingBlock() != TheLoop->getLoopLatch()) { in computeMaxVF() 4609 Entry.first->getIncomingValueForBlock(OrigLoop->getLoopLatch()); in isCandidateForEpilogueVectorization() 4622 if (OrigLoop->getExitingBlock() != OrigLoop->getLoopLatch()) in isCandidateForEpilogueVectorization() 6402 BI->getParent() != TheLoop->getLoopLatch()) in getInstructionCost() 6417 } else if (I->getParent() == TheLoop->getLoopLatch() || VF.isScalar()) in getInstructionCost() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | LoopRotationUtils.cpp | 239 BasicBlock *Latch = L->getLoopLatch(); in canRotateDeoptimizingLatchExit() 424 BasicBlock *OrigLatch = L->getLoopLatch(); in rotateLoop() 877 SplitLatchEdge |= L->getLoopLatch() == ExitPred; in rotateLoop() 903 assert(L->getLoopLatch() && "Invalid loop latch after loop rotation"); in rotateLoop() 1016 BasicBlock *Latch = L->getLoopLatch(); in simplifyLoopLatch() 1067 assert((!MadeChange || L->isLoopExiting(L->getLoopLatch())) && in processLoop()
|
H A D | LoopPeel.cpp | 227 Value *Input = Phi->getIncomingValueForBlock(L.getLoopLatch()); in calculate() 299 BasicBlock *Latch = L.getLoopLatch(); in peelToTurnInvariantLoadsDerefencebale() 503 if (L.getLoopLatch() == BB) in countToEliminateCompares() 517 BasicBlock *Latch = L->getLoopLatch(); in violatesLegacyMultiExitLoopCheck() 758 BasicBlock *Latch = L->getLoopLatch(); in cloneLoopBlocks() 927 BasicBlock *Latch = L->getLoopLatch(); in peelLoop()
|
H A D | LoopUnrollRuntime.cpp | 101 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 D | LoopUnrollAndJam.cpp | 72 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 D | LoopConstrainer.cpp | 118 SE.getExitCount(&L, L.getLoopLatch(), ScalarEvolution::SymbolicMaximum); in getNarrowestLatchMaxTakenCountEstimate() 133 BasicBlock *Latch = L.getLoopLatch(); in parseLoopStructure() 485 cast<BasicBlock>(GetClonedValue(OriginalLoop.getLoopLatch())); in cloneLoop()
|
H A D | LoopSimplify.cpp | 559 BasicBlock *LoopLatch = L->getLoopLatch(); in simplifyOneLoop() 880 if (!L->getLoopPreheader() || !L->getLoopLatch()) {
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | MachineLoopInfo.cpp | 120 if (MachineBasicBlock *Latch = getLoopLatch()) { in findLoopControlBlock() 154 MachineBasicBlock *HB = L->getHeader(), *LB = L->getLoopLatch(); in findLoopPreheader()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | MVETPAndVPTOptimisationsPass.cpp | 115 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/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonHardwareLoops.cpp | 411 MachineBasicBlock *Latch = L->getLoopLatch(); in findInductionRegister() 609 MachineBasicBlock *Latch = L->getLoopLatch(); in getLoopTripCount() 1224 if (ExitingBlock != L->getLoopLatch()) { in convertToHardwareLoop() 1593 MachineBasicBlock *Latch = L->getLoopLatch(); in fixupInductionVariable() 1839 MachineBasicBlock *Latch = L->getLoopLatch(); in createPreheaderForLoop()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/ |
H A D | GenericLoopInfoImpl.h | 151 const BlockT *Latch = getLoopLatch(); in getUniqueNonLatchExitBlocks() 245 BlockT *LoopBase<BlockT, LoopT>::getLoopLatch() const { in getLoopLatch() function
|