| /freebsd-12.1/contrib/llvm/lib/Transforms/Utils/ |
| H A D | LoopUnrollRuntime.cpp | 84 BasicBlock *Latch = L->getLoopLatch(); in ConnectProlog() local 85 assert(Latch && "Loop must have a latch"); in ConnectProlog() 93 for (BasicBlock *Succ : successors(Latch)) { in ConnectProlog() 189 BasicBlock *Latch = L->getLoopLatch(); in ConnectEpilog() local 190 assert(Latch && "Loop must have a latch"); in ConnectEpilog() 251 for (BasicBlock *Succ : successors(Latch)) { in ConnectEpilog() 263 NewPN->addIncoming(PN.getIncomingValueForBlock(Latch), Latch); in ConnectEpilog() 309 BasicBlock *Latch = L->getLoopLatch(); in CloneLoopBlocks() local 349 if (Latch == *BB) { in CloneLoopBlocks() 573 BasicBlock *Latch = L->getLoopLatch(); in UnrollRuntimeLoopRemainder() local [all …]
|
| H A D | LoopRotationUtils.cpp | 594 BasicBlock *Latch = L->getLoopLatch(); in simplifyLoopLatch() local 595 if (!Latch || Latch->hasAddressTaken()) in simplifyLoopLatch() 598 BranchInst *Jmp = dyn_cast<BranchInst>(Latch->getTerminator()); in simplifyLoopLatch() 602 BasicBlock *LastExit = Latch->getSinglePredecessor(); in simplifyLoopLatch() 617 Instruction *FirstLatchInst = &*(Latch->begin()); in simplifyLoopLatch() 625 unsigned FallThruPath = BI->getSuccessor(0) == Latch ? 0 : 1; in simplifyLoopLatch() 631 Latch->replaceSuccessorsPhiUsesWith(LastExit); in simplifyLoopLatch() 635 assert(Latch->empty() && "unable to evacuate Latch"); in simplifyLoopLatch() 636 LI->removeBlock(Latch); in simplifyLoopLatch() 638 DT->eraseNode(Latch); in simplifyLoopLatch() [all …]
|
| H A D | LoopUnrollPeel.cpp | 402 BasicBlock *Latch = L->getLoopLatch(); in cloneLoopBlocks() local 444 BasicBlock *NewLatch = cast<BasicBlock>(VMap[Latch]); in cloneLoopBlocks() 465 Value *LatchVal = NewPHI->getIncomingValueForBlock(Latch); in cloneLoopBlocks() 481 Value *LatchVal = PHI->getIncomingValueForBlock(Latch); in cloneLoopBlocks() 485 PHI->addIncoming(LatchVal, cast<BasicBlock>(VMap[Latch])); in cloneLoopBlocks() 514 BasicBlock *Latch = L->getLoopLatch(); in peelLoop() local 579 cast<BranchInst>(cast<BasicBlock>(Latch)->getTerminator()); in peelLoop() 617 DT->changeImmediateDominator(Exit, cast<BasicBlock>(LVMap[Latch])); in peelLoop() 643 Value *NewVal = PHI->getIncomingValueForBlock(Latch); in peelLoop()
|
| H A D | LoopUnrollAndJam.cpp | 93 static bool processHeaderPhiOperands(BasicBlock *Header, BasicBlock *Latch, in processHeaderPhiOperands() argument 97 Value *V = Phi.getIncomingValueForBlock(Latch); in processHeaderPhiOperands() 119 BasicBlock *Latch, in moveHeaderPhiOperandsToForeBlocks() argument 125 processHeaderPhiOperands(Header, Latch, AftBlocks, in moveHeaderPhiOperandsToForeBlocks() 730 BasicBlock *Latch = L->getLoopLatch(); in isSafeToUnrollAndJam() local 736 if (Latch != Exit) in isSafeToUnrollAndJam() 789 Header, Latch, AftBlocks, [&AftBlocks, &SubLoop](Instruction *I) { in isSafeToUnrollAndJam()
|
| H A D | LoopUnroll.cpp | 816 for (BasicBlock *Latch : Latches) { in UnrollLoop() 817 BranchInst *Term = cast<BranchInst>(Latch->getTerminator()); in UnrollLoop()
|
| /freebsd-12.1/contrib/llvm/lib/Target/Hexagon/ |
| H A D | HexagonHardwareLoops.cpp | 409 MachineBasicBlock *Latch = L->getLoopLatch(); in findInductionRegister() local 611 else if (MBB == Latch) in getLoopTripCount() 628 if (ExitingBlock != Latch && (TB == Latch || FB == Latch)) { in getLoopTripCount() 634 if (TB == Latch) in getLoopTripCount() 1612 if (!(Header && Latch && ExitingBlock)) in fixupInductionVariable() 1665 if (ExitingBlock != Latch && (TB == Latch || FB == Latch)) { in fixupInductionVariable() 1674 if (TB == Latch) in fixupInductionVariable() 1918 if (PredB == Latch) in createPreheaderForLoop() 1931 if (PredB != Latch) { in createPreheaderForLoop() 1952 if (MO.getMBB() != Latch) in createPreheaderForLoop() [all …]
|
| /freebsd-12.1/contrib/llvm/lib/CodeGen/ |
| H A D | MachineLoopInfo.cpp | 82 if (MachineBasicBlock *Latch = getLoopLatch()) { in findLoopControlBlock() local 83 if (isLoopExiting(Latch)) in findLoopControlBlock() 84 return Latch; in findLoopControlBlock()
|
| /freebsd-12.1/contrib/llvm/include/llvm/Support/ |
| H A D | Parallel.h | 49 class Latch { 55 explicit Latch(uint32_t Count = 0) : Count(Count) {} in Count() 56 ~Latch() { sync(); } in ~Latch() 76 Latch L;
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Scalar/ |
| H A D | InductiveRangeCheckElimination.cpp | 443 BasicBlock *Latch = nullptr; member 473 Result.Latch = cast<BasicBlock>(Map(Latch)); in map() 753 BasicBlock *Latch = L.getLoopLatch(); in parseLoopStructure() local 754 assert(Latch && "Simplified loops only have one latch!"); in parseLoopStructure() 756 if (Latch->getTerminator()->getMetadata(ClonedLoopTag)) { in parseLoopStructure() 761 if (!L.isLoopExiting(Latch)) { in parseLoopStructure() 797 const SCEV *LatchCount = SE.getExitCount(&L, Latch); in parseLoopStructure() 1032 Result.Latch = Latch; in parseLoopStructure() 1249 BasicBlock *BBInsertLocation = LS.Latch->getNextNode(); in changeIterationSpaceEnd() 1302 NewPHI->addIncoming(PN.getIncomingValueForBlock(LS.Latch), in changeIterationSpaceEnd() [all …]
|
| H A D | LoopUnrollAndJamPass.cpp | 289 BasicBlock *Latch = L->getLoopLatch(); in tryToUnrollAndJamLoop() local 294 if (Latch != Exit || SubLoopLatch != SubLoopExit) in tryToUnrollAndJamLoop() 373 unsigned OuterTripCount = SE.getSmallConstantTripCount(L, Latch); in tryToUnrollAndJamLoop() 374 unsigned OuterTripMultiple = SE.getSmallConstantTripMultiple(L, Latch); in tryToUnrollAndJamLoop()
|
| H A D | LoopLoadElimination.cpp | 146 return llvm::all_of(Latches, [&](const BasicBlock *Latch) { in doesStoreDominatesAllLatches() argument 147 return DT->dominates(StoreBlock, Latch); in doesStoreDominatesAllLatches()
|
| H A D | LoopUnswitch.cpp | 1520 BasicBlock *Latch = L->getLoopLatch(); in RewriteLoopBodyWithConditionConstant() local 1526 if (Latch && DT->dominates(SISucc, Latch)) in RewriteLoopBodyWithConditionConstant()
|
| H A D | SimpleLoopUnswitch.cpp | 2430 BasicBlock *Latch = L.getLoopLatch(); in calculateUnswitchCostMultiplier() local 2432 if (DT.dominates(CondBlock, Latch) && in calculateUnswitchCostMultiplier() 2450 bool SkipExitingSuccessors = DT.dominates(CondBlock, Latch); in calculateUnswitchCostMultiplier()
|
| H A D | LoopStrengthReduce.cpp | 2100 unsigned Entry, Latch; in OptimizeShadowIV() local 2103 Latch = 1; in OptimizeShadowIV() 2106 Latch = 0; in OptimizeShadowIV() 2116 dyn_cast<BinaryOperator>(PH->getIncomingValue(Latch)); in OptimizeShadowIV() 2148 NewPH->addIncoming(NewIncr, PH->getIncomingBlock(Latch)); in OptimizeShadowIV()
|
| /freebsd-12.1/contrib/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 678 auto *Latch = TheLoop->getLoopLatch(); in isFirstOrderRecurrence() local 679 if (!Preheader || !Latch) in isFirstOrderRecurrence() 684 Phi->getBasicBlockIndex(Latch) < 0) in isFirstOrderRecurrence() 689 auto *Previous = dyn_cast<Instruction>(Phi->getIncomingValueForBlock(Latch)); in isFirstOrderRecurrence() 941 BasicBlock *Latch = L->getLoopLatch(); in getCastsForInductionPHI() local 942 if (!Latch) in getCastsForInductionPHI() 944 Value *Val = PN->getIncomingValueForBlock(Latch); in getCastsForInductionPHI()
|
| H A D | ScalarEvolution.cpp | 6859 const BasicBlock *Latch = L->getLoopLatch(); in getExact() local 6861 if (!Latch) in getExact() 7051 DT.dominates(ExitBB, Latch)) { in computeBackedgeTakenCount() 7084 if (!Latch || !DT.dominates(ExitingBlock, Latch)) in computeExitLimit() 7513 if (!Latch) in computeShiftCompareExitLimit() 7831 BasicBlock *Latch = L->getLoopLatch(); in getConstantEvolutionLoopExitValue() local 7832 if (!Latch) in getConstantEvolutionLoopExitValue() 7911 BasicBlock *Latch = L->getLoopLatch(); in computeExitCountExhaustively() local 9387 BasicBlock *Latch = L->getLoopLatch(); in isLoopBackedgeGuardedByCond() local 9388 if (!Latch) in isLoopBackedgeGuardedByCond() [all …]
|
| H A D | LoopAccessAnalysis.cpp | 2022 BasicBlock* Latch = TheLoop->getLoopLatch(); in blockNeedsPredication() local 2023 return !DT->dominates(BB, Latch); in blockNeedsPredication()
|
| /freebsd-12.1/contrib/llvm/include/llvm/Analysis/ |
| H A D | LoopInfoImpl.h | 228 BlockT *Latch = nullptr; in getLoopLatch() local 231 if (Latch) in getLoopLatch() 233 Latch = Pred; in getLoopLatch() 237 return Latch; in getLoopLatch()
|
| /freebsd-12.1/contrib/llvm/lib/Support/ |
| H A D | Parallel.cpp | 112 parallel::detail::Latch Done;
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.cpp | 359 BasicBlock *Latch = Lp->getLoopLatch(); in isUniformLoop() local 360 auto *LatchBr = dyn_cast<BranchInst>(Latch->getTerminator()); in isUniformLoop() 376 Value *IVUpdate = IV->getIncomingValueForBlock(Latch); in isUniformLoop()
|
| H A D | LoopVectorize.cpp | 2361 BasicBlock *Latch = L->getLoopLatch(); in createInductionVariable() local 2364 if (!Latch) in createInductionVariable() 2365 Latch = Header; in createInductionVariable() 2378 Induction->addIncoming(Next, Latch); in createInductionVariable() 2384 Latch->getTerminator()->eraseFromParent(); in createInductionVariable() 3370 auto *Latch = OrigLoop->getLoopLatch(); in fixFirstOrderRecurrence() local 3546 BasicBlock *Latch = OrigLoop->getLoopLatch(); in fixReduction() local 4271 auto *Latch = TheLoop->getLoopLatch(); in collectLoopScalars() local 4472 BasicBlock *Latch = TheLoop->getLoopLatch(); in collectLoopUniforms() local 6728 auto *Latch = OrigLoop->getLoopLatch(); in buildVPlansWithVPRecipes() local [all …]
|
| /freebsd-12.1/contrib/llvm/lib/Target/ARM/ |
| H A D | ARMParallelDSP.cpp | 464 const BasicBlock *Latch = TheLoop->getLoopLatch(); in MatchReductions() local 484 Instruction *Acc = dyn_cast<Instruction>(Phi.getIncomingValueForBlock(Latch)); in MatchReductions()
|