Lines Matching defs:Rewriter
143 bool simplifyAndExtend(Loop *L, SCEVExpander &Rewriter, LoopInfo *LI);
149 bool optimizeLoopExits(Loop *L, SCEVExpander &Rewriter);
152 bool predicateLoopExits(Loop *L, SCEVExpander &Rewriter);
158 PHINode *IndVar, SCEVExpander &Rewriter);
594 SCEVExpander &Rewriter,
625 Rewriter, &Visitor);
641 if (PHINode *WidePhi = createWideIV(WideIVs.back(), LI, SE, Rewriter,
915 SCEVExpander &Rewriter, ScalarEvolution *SE) {
938 return Rewriter.expandCodeFor(IVLimit, ARBase->getType(),
950 PHINode *IndVar, SCEVExpander &Rewriter) {
999 IndVar, ExitingBB, ExitCount, UsePostInc, L, Rewriter, SE);
1245 SCEVExpander &Rewriter) {
1249 Rewriter.setInsertPoint(Preheader->getTerminator());
1250 auto *LHSV = Rewriter.expandCodeFor(LIP.LHS);
1251 auto *RHSV = Rewriter.expandCodeFor(LIP.RHS);
1264 ScalarEvolution *SE, SCEVExpander &Rewriter) {
1316 return createInvariantCond(L, ExitingBB, *LIP, Rewriter);
1321 bool SkipLastIter, ScalarEvolution *SE, SCEVExpander &Rewriter,
1404 OptimisticSkipLastIter, SE, Rewriter)) {
1559 bool IndVarSimplify::optimizeLoopExits(Loop *L, SCEVExpander &Rewriter) {
1649 SE, Rewriter, DeadInsts);
1729 bool IndVarSimplify::predicateLoopExits(Loop *L, SCEVExpander &Rewriter) {
1749 if (isa<SCEVCouldNotCompute>(ExactBTC) || !Rewriter.isSafeToExpand(ExactBTC))
1781 !Rewriter.isSafeToExpand(ExitCount))
1858 Rewriter.setInsertPoint(L->getLoopPreheader()->getTerminator());
1870 Value *ECV = Rewriter.expandCodeFor(ExitCount);
1872 ExactBTCV = Rewriter.expandCodeFor(ExactBTC);
1921 SCEVExpander Rewriter(*SE, DL, "indvars");
1923 Rewriter.setDebugType(DEBUG_TYPE);
1932 Rewriter.disableCanonicalMode();
1933 Changed |= simplifyAndExtend(L, Rewriter, LI);
1940 if (int Rewrites = rewriteLoopExitValues(L, LI, TLI, SE, TTI, Rewriter, DT,
1948 NumElimIV += Rewriter.replaceCongruentIVs(L, DT, DeadInsts, TTI);
1955 if (optimizeLoopExits(L, Rewriter)) {
1965 if (predicateLoopExits(L, Rewriter)) {
2009 if (Rewriter.isHighCostExpansion(ExitCount, L, SCEVCheapExpansionBudget,
2013 if (!Rewriter.isSafeToExpand(ExitCount))
2018 Rewriter);
2024 Rewriter.clear();
2038 // The Rewriter may not be used from this point on.