Home | History | Annotate | Download | only in Scalar

Lines Matching refs:Rewriter

106     void SimplifyAndExtend(Loop *L, SCEVExpander &Rewriter, LPPassManager &LPM);
108 void RewriteLoopExitValues(Loop *L, SCEVExpander &Rewriter);
111 PHINode *IndVar, SCEVExpander &Rewriter);
133 /// rewriter can replace the original value. SCEV guarantees that it
477 void IndVarSimplify::RewriteLoopExitValues(Loop *L, SCEVExpander &Rewriter) {
538 Value *ExitVal = Rewriter.expandCodeFor(ExitValue, PN->getType(), Inst);
576 // so that the rewriter doesn't trip over it later.
577 Rewriter.clearInsertPoint();
699 PHINode *CreateWideIV(SCEVExpander &Rewriter);
711 Instruction *WidenIVUse(NarrowIVDefUse DU, SCEVExpander &Rewriter);
854 Instruction *WidenIV::WidenIVUse(NarrowIVDefUse DU, SCEVExpander &Rewriter) {
922 && Rewriter.hoistIVInc(WideInc, DU.NarrowUse))
970 PHINode *WidenIV::CreateWideIV(SCEVExpander &Rewriter) {
996 // The rewriter provides a value for the desired IV expression. This may
1001 WidePhi = cast<PHINode>(Rewriter.expandCodeFor(AddRec, WideType, InsertPt));
1027 Instruction *WideUse = WidenIVUse(DU, Rewriter);
1052 SCEVExpander &Rewriter,
1086 if (PHINode *WidePhi = Widener.CreateWideIV(Rewriter)) {
1362 SCEVExpander &Rewriter, ScalarEvolution *SE) {
1381 Value *GEPOffset = Rewriter.expandCodeFor(IVOffset, OfsTy, BI);
1431 return Rewriter.expandCodeFor(IVLimit, LimitTy, BI);
1444 SCEVExpander &Rewriter) {
1487 Value *ExitCnt = genLoopLimit(IndVar, IVCount, L, Rewriter, SE);
1648 // Create a rewriter object which we'll use to transform the code with.
1649 SCEVExpander Rewriter(*SE, "indvars");
1651 Rewriter.setDebugType(DEBUG_TYPE);
1660 Rewriter.disableCanonicalMode();
1661 SimplifyAndExtend(L, Rewriter, LPM);
1670 RewriteLoopExitValues(L, Rewriter);
1673 NumElimIV += Rewriter.replaceCongruentIVs(L, DT, DeadInsts);
1691 Rewriter);
1694 // Clear the rewriter cache, because values that are in the rewriter's cache
1697 Rewriter.clear();
1706 // The Rewriter may not be used from this point on.