Searched refs:LatchExit (Results 1 – 3 of 3) sorted by relevance
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | LoopUnrollRuntime.cpp | 420 Loop *L, SmallVectorImpl<BasicBlock *> &OtherExits, BasicBlock *LatchExit, in canProfitablyUnrollMultiExitLoop() argument 593 BasicBlock *LatchExit = LatchBR->getSuccessor(ExitIndex); in UnrollRuntimeLoopRemainder() local 595 if (L->contains(LatchExit)) { in UnrollRuntimeLoopRemainder() 615 if (!canProfitablyUnrollMultiExitLoop(L, OtherExits, LatchExit, in UnrollRuntimeLoopRemainder() 691 NewExit = SplitBlockPredecessors(LatchExit, {Latch}, ".unr-lcssa", DT, LI, in UnrollRuntimeLoopRemainder() 709 if (LI->getLoopFor(LatchExit) != ParentL) { in UnrollRuntimeLoopRemainder() 802 BasicBlock *InsertBot = UseEpilogRemainder ? LatchExit : PrologExit; in UnrollRuntimeLoopRemainder() 850 assert(!(llvm::is_contained(OtherExits, SuccBB) || SuccBB == LatchExit) && in UnrollRuntimeLoopRemainder() 907 ConnectEpilog(L, ModVal, NewExit, LatchExit, PreHeader, EpilogPreHeader, in UnrollRuntimeLoopRemainder() 931 ConnectProlog(L, BECount, Count, PrologExit, LatchExit, PreHeader, in UnrollRuntimeLoopRemainder()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | InductiveRangeCheckElimination.cpp | 468 BasicBlock *LatchExit = nullptr; member 495 Result.LatchExit = cast<BasicBlock>(Map(LatchExit)); in map() 1015 BasicBlock *LatchExit = LatchBr->getSuccessor(LatchBrExitIdx); in parseLoopStructure() local 1021 assert(!L.contains(LatchExit) && "expected an exit block!"); in parseLoopStructure() 1039 Result.LatchExit = LatchExit; in parseLoopStructure() 1317 B.CreateCondBr(IterationsLeft, RRI.PseudoExit, LS.LatchExit); in changeIterationSpaceEnd() 1342 LS.LatchExit->replacePhiUsesWith(LS.Latch, RRI.ExitSelector); in changeIterationSpaceEnd()
|
| /llvm-project-15.0.7/llvm/test/Transforms/LoopUnroll/ |
| H A D | runtime-loop-multiple-exits.ll | 1255 ; Three exiting blocks where header and latch exit to same LatchExit.
|