Lines Matching refs:RRI
593 RewrittenRangeInfo RRI; in changeIterationSpaceEnd() local
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()
622 B.CreateCondBr(EnterLoopCond, LS.Header, RRI.PseudoExit); in changeIterationSpaceEnd()
625 LS.LatchBr->setSuccessor(LS.LatchBrExitIdx, RRI.ExitSelector); in changeIterationSpaceEnd()
636 B.SetInsertPoint(RRI.ExitSelector); in changeIterationSpaceEnd()
643 B.CreateCondBr(IterationsLeft, RRI.PseudoExit, LS.LatchExit); in changeIterationSpaceEnd()
646 BranchInst::Create(ContinuationBlock, RRI.PseudoExit); in changeIterationSpaceEnd()
657 RRI.ExitSelector); in changeIterationSpaceEnd()
658 RRI.PHIValuesAtPseudoExit.push_back(NewPHI); in changeIterationSpaceEnd()
661 RRI.IndVarEnd = PHINode::Create(IndVarBase->getType(), 2, "indvar.end", in changeIterationSpaceEnd()
663 RRI.IndVarEnd->addIncoming(IndVarStart, Preheader); in changeIterationSpaceEnd()
664 RRI.IndVarEnd->addIncoming(IndVarBase, RRI.ExitSelector); in changeIterationSpaceEnd()
668 LS.LatchExit->replacePhiUsesWith(LS.Latch, RRI.ExitSelector); in changeIterationSpaceEnd()
670 return RRI; in changeIterationSpaceEnd()
675 const LoopConstrainer::RewrittenRangeInfo &RRI) const { in rewriteIncomingValuesForPHIs()
679 RRI.PHIValuesAtPseudoExit[PHIIndex++]); in rewriteIncomingValuesForPHIs()
681 LS.IndVarStart = RRI.IndVarEnd; in rewriteIncomingValuesForPHIs()