/external/llvm/lib/Transforms/Scalar/ |
D | LoopRotation.cpp | 277 BasicBlock *Latch = L->getLoopLatch(); in simplifyLoopLatch() local 278 if (!Latch || Latch->hasAddressTaken()) in simplifyLoopLatch() 281 BranchInst *Jmp = dyn_cast<BranchInst>(Latch->getTerminator()); in simplifyLoopLatch() 285 BasicBlock *LastExit = Latch->getSinglePredecessor(); in simplifyLoopLatch() 293 if (!shouldSpeculateInstrs(Latch->begin(), Jmp, L)) in simplifyLoopLatch() 296 DEBUG(dbgs() << "Folding loop latch " << Latch->getName() << " into " in simplifyLoopLatch() 300 LastExit->getInstList().splice(BI, Latch->getInstList(), Latch->begin(), Jmp); in simplifyLoopLatch() 302 unsigned FallThruPath = BI->getSuccessor(0) == Latch ? 0 : 1; in simplifyLoopLatch() 308 Latch->replaceSuccessorsPhiUsesWith(LastExit); in simplifyLoopLatch() 312 assert(Latch->empty() && "unable to evacuate Latch"); in simplifyLoopLatch() [all …]
|
D | InductiveRangeCheckElimination.cpp | 436 BasicBlock *Latch; member 450 : Tag(""), Header(nullptr), Latch(nullptr), LatchBr(nullptr), in LoopStructure() 458 Result.Latch = cast<BasicBlock>(Map(Latch)); in map() 649 BasicBlock *Latch = L.getLoopLatch(); in parseLoopStructure() local 650 if (!L.isLoopExiting(Latch)) { in parseLoopStructure() 662 BranchInst *LatchBr = dyn_cast<BranchInst>(&*Latch->rbegin()); in parseLoopStructure() 684 const SCEV *LatchCount = SE.getExitCount(&L, Latch); in parseLoopStructure() 836 Result.Latch = Latch; in parseLoopStructure() 1045 auto BBInsertLocation = std::next(Function::iterator(LS.Latch)); in changeIterationSpaceEnd() 1101 NewPHI->addIncoming(PN->getIncomingValueForBlock(LS.Latch), in changeIterationSpaceEnd() [all …]
|
D | LoopInterchange.cpp | 523 BasicBlock *Latch = L->getLoopLatch(); in processLoopList() local 525 if (Latch && Latch != Header && isa<PHINode>(Latch->begin())) { in processLoopList()
|
D | LoopUnswitch.cpp | 1029 BasicBlock *Latch = L->getLoopLatch(); in RewriteLoopBodyWithConditionConstant() local 1037 if (Latch && DT->dominates(SISucc, Latch)) in RewriteLoopBodyWithConditionConstant()
|
D | LoopStrengthReduce.cpp | 1866 unsigned Entry, Latch; in OptimizeShadowIV() local 1869 Latch = 1; in OptimizeShadowIV() 1872 Latch = 0; in OptimizeShadowIV() 1882 dyn_cast<BinaryOperator>(PH->getIncomingValue(Latch)); in OptimizeShadowIV() 1914 NewPH->addIncoming(NewIncr, PH->getIncomingBlock(Latch)); in OptimizeShadowIV()
|
/external/llvm/lib/Transforms/Utils/ |
D | LoopUnrollRuntime.cpp | 67 BasicBlock *Latch = L->getLoopLatch(); in ConnectProlog() local 68 assert(Latch && "Loop must have a latch"); in ConnectProlog() 75 for (succ_iterator SBI = succ_begin(Latch), SBE = succ_end(Latch); in ConnectProlog() 92 Value *V = PN->getIncomingValueForBlock(Latch); in ConnectProlog() 149 BasicBlock *Latch = L->getLoopLatch(); in CloneLoopBlocks() local 181 if (Latch == *BB) { in CloneLoopBlocks() 217 BasicBlock *NewLatch = cast<BasicBlock>(VMap[Latch]); in CloneLoopBlocks() 218 idx = NewPHI->getBasicBlockIndex(Latch); in CloneLoopBlocks() 342 BasicBlock *Latch = L->getLoopLatch(); in UnrollRuntimeLoopProlog() local 417 BasicBlock *LastLoopBB = cast<BasicBlock>(VMap[Latch]); in UnrollRuntimeLoopProlog()
|
/external/llvm/lib/Target/Hexagon/ |
D | HexagonHardwareLoops.cpp | 321 MachineBasicBlock *Latch = L->getLoopLatch(); in findInductionRegister() local 322 if (!Header || !Preheader || !Latch) in findInductionRegister() 346 if (Phi->getOperand(i+1).getMBB() != Latch) in findInductionRegister() 369 bool NotAnalyzed = TII->AnalyzeBranch(*Latch, TB, FB, Cond, false); in findInductionRegister() 450 MachineBasicBlock *Latch = L->getLoopLatch(); in getLoopTripCount() local 451 if (!Latch) in getLoopTripCount() 469 else if (MBB == Latch) in getLoopTripCount() 477 bool NotAnalyzed = TII->AnalyzeBranch(*Latch, TB, FB, Cond, false); in getLoopTripCount() 1242 MachineBasicBlock *Latch = L->getLoopLatch(); in fixupInductionVariable() local 1244 if (!Header || !Preheader || !Latch) in fixupInductionVariable() [all …]
|
/external/llvm/include/llvm/Analysis/ |
D | LoopInfoImpl.h | 163 BlockT *Latch = nullptr; in getLoopLatch() local 167 if (Latch) return nullptr; in getLoopLatch() 168 Latch = N; in getLoopLatch() 172 return Latch; in getLoopLatch()
|
/external/llvm/lib/Analysis/ |
D | LoopAccessAnalysis.cpp | 1191 BasicBlock* Latch = TheLoop->getLoopLatch(); in blockNeedsPredication() local 1192 return !DT->dominates(BB, Latch); in blockNeedsPredication()
|
D | ScalarEvolution.cpp | 4830 BasicBlock *Latch = L->getLoopLatch(); // may be NULL. in ComputeBackedgeTakenCount() local 4858 if (EL.Max != getCouldNotCompute() && Latch && in ComputeBackedgeTakenCount() 4859 DT->dominates(ExitBB, Latch)) { in ComputeBackedgeTakenCount() 6677 BasicBlock *Latch = L->getLoopLatch(); in isLoopBackedgeGuardedByCond() local 6678 if (!Latch) in isLoopBackedgeGuardedByCond() 6682 dyn_cast<BranchInst>(Latch->getTerminator()); in isLoopBackedgeGuardedByCond() 6694 if (!DT->dominates(CI, Latch->getTerminator())) in isLoopBackedgeGuardedByCond() 6726 for (DomTreeNode *DTN = (*DT)[Latch], *HeaderDTN = (*DT)[L->getHeader()]; in isLoopBackedgeGuardedByCond() 6752 assert(DT->dominates(DominatingEdge, Latch) && "should be!"); in isLoopBackedgeGuardedByCond()
|
/external/llvm/lib/Transforms/Vectorize/ |
D | LoopVectorize.cpp | 2829 BasicBlock *Latch = OrigLoop->getLoopLatch(); in vectorizeLoop() local 2830 Value *LoopVal = RdxPhi->getIncomingValueForBlock(Latch); in vectorizeLoop() 3971 BasicBlock *Latch = TheLoop->getLoopLatch(); in collectLoopUniforms() local 3974 Worklist.push_back(Latch->getTerminator()->getOperand(0)); in collectLoopUniforms()
|