Lines Matching refs:LS

462                                  const LoopStructure &LS, ScalarEvolution &SE,  in LoopConstrainer()  argument
466 MainLoopStructure(LS), SR(SR) {} in LoopConstrainer()
520 const LoopStructure &LS, BasicBlock *Preheader, Value *ExitSubloopAt, in changeIterationSpaceEnd() argument
595 BasicBlock *BBInsertLocation = LS.Latch->getNextNode(); in changeIterationSpaceEnd()
596 RRI.ExitSelector = BasicBlock::Create(Ctx, Twine(LS.Tag) + ".exit.selector", in changeIterationSpaceEnd()
598 RRI.PseudoExit = BasicBlock::Create(Ctx, Twine(LS.Tag) + ".pseudo.exit", &F, in changeIterationSpaceEnd()
602 bool Increasing = LS.IndVarIncreasing; in changeIterationSpaceEnd()
603 bool IsSignedPredicate = LS.IsSignedPredicate; in changeIterationSpaceEnd()
619 Value *IndVarStart = NoopOrExt(LS.IndVarStart); in changeIterationSpaceEnd()
622 B.CreateCondBr(EnterLoopCond, LS.Header, RRI.PseudoExit); in changeIterationSpaceEnd()
625 LS.LatchBr->setSuccessor(LS.LatchBrExitIdx, RRI.ExitSelector); in changeIterationSpaceEnd()
626 B.SetInsertPoint(LS.LatchBr); in changeIterationSpaceEnd()
627 Value *IndVarBase = NoopOrExt(LS.IndVarBase); in changeIterationSpaceEnd()
630 Value *CondForBranch = LS.LatchBrExitIdx == 1 in changeIterationSpaceEnd()
634 LS.LatchBr->setCondition(CondForBranch); in changeIterationSpaceEnd()
641 Value *LoopExitAt = NoopOrExt(LS.LoopExitAt); in changeIterationSpaceEnd()
643 B.CreateCondBr(IterationsLeft, RRI.PseudoExit, LS.LatchExit); in changeIterationSpaceEnd()
651 for (PHINode &PN : LS.Header->phis()) { in changeIterationSpaceEnd()
656 NewPHI->addIncoming(PN.getIncomingValueForBlock(LS.Latch), in changeIterationSpaceEnd()
668 LS.LatchExit->replacePhiUsesWith(LS.Latch, RRI.ExitSelector); in changeIterationSpaceEnd()
674 LoopStructure &LS, BasicBlock *ContinuationBlock, in rewriteIncomingValuesForPHIs() argument
677 for (PHINode &PN : LS.Header->phis()) in rewriteIncomingValuesForPHIs()
681 LS.IndVarStart = RRI.IndVarEnd; in rewriteIncomingValuesForPHIs()
684 BasicBlock *LoopConstrainer::createPreheader(const LoopStructure &LS, in createPreheader() argument
687 BasicBlock *Preheader = BasicBlock::Create(Ctx, Tag, &F, LS.Header); in createPreheader()
688 BranchInst::Create(LS.Header, Preheader); in createPreheader()
690 LS.Header->replacePhiUsesWith(OldPreheader, Preheader); in createPreheader()