Searched refs:Latch (Results 1 - 11 of 11) sorted by relevance

/freebsd-11.0-release/contrib/llvm/lib/Transforms/Utils/
H A DLoopUnrollRuntime.cpp67 BasicBlock *Latch = L->getLoopLatch(); local
68 assert(Latch && "Loop must have a latch");
75 for (succ_iterator SBI = succ_begin(Latch), SBE = succ_end(Latch);
92 Value *V = PN->getIncomingValueForBlock(Latch);
149 BasicBlock *Latch = L->getLoopLatch(); local
181 if (Latch == *BB) {
216 BasicBlock *NewLatch = cast<BasicBlock>(VMap[Latch]);
217 idx = NewPHI->getBasicBlockIndex(Latch);
335 BasicBlock *Latch local
[all...]
/freebsd-11.0-release/contrib/llvm/lib/Transforms/Scalar/
H A DLoopRotation.cpp281 assert(L->getHeader() == NewHeader && "Latch block is our new header");
486 BasicBlock *Latch = L->getLoopLatch(); local
487 if (!Latch || Latch->hasAddressTaken())
490 BranchInst *Jmp = dyn_cast<BranchInst>(Latch->getTerminator());
494 BasicBlock *LastExit = Latch->getSinglePredecessor();
502 if (!shouldSpeculateInstrs(Latch->begin(), Jmp->getIterator(), L))
505 DEBUG(dbgs() << "Folding loop latch " << Latch->getName() << " into "
508 // Hoist the instructions from Latch into LastExit.
509 LastExit->getInstList().splice(BI->getIterator(), Latch
[all...]
H A DInductiveRangeCheckElimination.cpp443 BasicBlock *Latch; member in struct:__anon3193::__anon3194::LoopStructure
445 // `Latch's terminator instruction is `LatchBr', and it's `LatchBrExitIdx'th
457 : Tag(""), Header(nullptr), Latch(nullptr), LatchBr(nullptr),
465 Result.Latch = cast<BasicBlock>(Map(Latch));
656 BasicBlock *Latch = L.getLoopLatch(); local
657 if (!L.isLoopExiting(Latch)) {
669 BranchInst *LatchBr = dyn_cast<BranchInst>(&*Latch->rbegin());
691 const SCEV *LatchCount = SE.getExitCount(&L, Latch);
843 Result.Latch
[all...]
H A DLoopLoadElimination.cpp108 [&](const BasicBlock *Latch) {
109 return DT->dominates(StoreBlock, Latch);
H A DLoopUnswitch.cpp1218 BasicBlock *Latch = L->getLoopLatch(); local
1226 if (Latch && DT->dominates(SISucc, Latch))
H A DLoopStrengthReduce.cpp1852 unsigned Entry, Latch; local
1855 Latch = 1;
1858 Latch = 0;
1868 dyn_cast<BinaryOperator>(PH->getIncomingValue(Latch));
1900 NewPH->addIncoming(NewIncr, PH->getIncomingBlock(Latch));
/freebsd-11.0-release/contrib/llvm/lib/Target/Hexagon/
H A DHexagonHardwareLoops.cpp371 if (MachineBasicBlock *Latch = L->getLoopLatch()) {
372 if (L->isLoopExiting(Latch))
373 return Latch;
387 MachineBasicBlock *Latch = L->getLoopLatch(); local
389 if (!Header || !Preheader || !Latch || !ExitingBlock)
413 if (Phi->getOperand(i+1).getMBB() != Latch)
571 MachineBasicBlock *Latch = L->getLoopLatch(); local
576 else if (MBB == Latch)
593 if (ExitingBlock != Latch && (TB == Latch || F
1569 MachineBasicBlock *Latch = L->getLoopLatch(); local
1818 MachineBasicBlock *Latch = L->getLoopLatch(); local
[all...]
/freebsd-11.0-release/contrib/llvm/include/llvm/Analysis/
H A DLoopInfoImpl.h163 BlockT *Latch = nullptr; local
167 if (Latch) return nullptr;
168 Latch = N;
172 return Latch;
/freebsd-11.0-release/contrib/llvm/lib/Analysis/
H A DScalarEvolution.cpp5193 BasicBlock *Latch = L->getLoopLatch(); // may be NULL.
5221 if (EL.Max != getCouldNotCompute() && Latch &&
5222 DT.dominates(ExitBB, Latch)) {
5652 const BasicBlock *Latch = L->getLoopLatch();
5653 if (!Latch)
5715 Value *BEValue = PNOut->getIncomingValueForBlock(Latch);
5970 BasicBlock *Latch = L->getLoopLatch();
5971 if (!Latch)
5977 auto *StartCST = getOtherIncomingValue(PHI, Latch);
5984 Value *BEValue = PN->getIncomingValueForBlock(Latch);
[all...]
H A DLoopAccessAnalysis.cpp1593 BasicBlock* Latch = TheLoop->getLoopLatch();
1594 return !DT->dominates(BB, Latch);
/freebsd-11.0-release/contrib/llvm/lib/Transforms/Vectorize/
H A DLoopVectorize.cpp2619 BasicBlock *Latch = L->getLoopLatch(); local
2622 if (!Latch)
2623 Latch = Header;
2629 Builder.SetInsertPoint(Latch->getTerminator());
2634 Induction->addIncoming(Next, Latch);
2640 Latch->getTerminator()->eraseFromParent();
3369 BasicBlock *Latch = OrigLoop->getLoopLatch(); local
3370 Value *LoopVal = RdxPhi->getIncomingValueForBlock(Latch);
4424 BasicBlock *Latch = TheLoop->getLoopLatch(); local
4427 Worklist.push_back(Latch
[all...]

Completed in 129 milliseconds