Lines Matching defs:IndVarSimplify
1 //===- IndVarSimplify.cpp - Induction Variable Elimination ----------------===//
26 #include "llvm/Transforms/Scalar/IndVarSimplify.h"
96 cl::desc("Choose the strategy to replace exit value in IndVarSimplify"),
112 cl::desc("Use post increment control-dependent ranges in IndVarSimplify"),
129 class IndVarSimplify {
166 IndVarSimplify(LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT,
207 bool IndVarSimplify::handleFloatingPointIV(Loop *L, PHINode *PN) {
406 bool IndVarSimplify::rewriteNonIntegerIVs(Loop *L) {
438 bool IndVarSimplify::rewriteFirstIterationLoopExitValues(Loop *L) {
596 bool IndVarSimplify::simplifyAndExtend(Loop *L,
950 bool IndVarSimplify::
1094 bool IndVarSimplify::sinkUnusedInvariants(Loop *L) {
1426 bool IndVarSimplify::canonicalizeExitCondition(Loop *L) {
1560 bool IndVarSimplify::optimizeLoopExits(Loop *L, SCEVExpander &Rewriter) {
1730 bool IndVarSimplify::predicateLoopExits(Loop *L, SCEVExpander &Rewriter) {
1895 // IndVarSimplify driver. Manage several subpasses of IV simplification.
1898 bool IndVarSimplify::run(Loop *L) {
2067 IndVarSimplify IVS(&AR.LI, &AR.SE, &AR.DT, DL, &AR.TLI, &AR.TTI, AR.MSSA,