Lines Matching defs:IndVarSimplify
1 //===- IndVarSimplify.cpp - Induction Variable Elimination ----------------===//
26 #include "llvm/Transforms/Scalar/IndVarSimplify.h"
93 cl::desc("Choose the strategy to replace exit value in IndVarSimplify"),
109 cl::desc("Use post increment control-dependent ranges in IndVarSimplify"),
126 class IndVarSimplify {
163 IndVarSimplify(LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT,
204 bool IndVarSimplify::handleFloatingPointIV(Loop *L, PHINode *PN) {
403 bool IndVarSimplify::rewriteNonIntegerIVs(Loop *L) {
435 bool IndVarSimplify::rewriteFirstIterationLoopExitValues(Loop *L) {
593 bool IndVarSimplify::simplifyAndExtend(Loop *L,
947 bool IndVarSimplify::
1091 bool IndVarSimplify::sinkUnusedInvariants(Loop *L) {
1423 bool IndVarSimplify::canonicalizeExitCondition(Loop *L) {
1559 bool IndVarSimplify::optimizeLoopExits(Loop *L, SCEVExpander &Rewriter) {
1729 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,