diff options
Diffstat (limited to 'gcc/tree-ssa-loop-ivcanon.c')
-rw-r--r-- | gcc/tree-ssa-loop-ivcanon.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c index 88fa967..ab21465 100644 --- a/gcc/tree-ssa-loop-ivcanon.c +++ b/gcc/tree-ssa-loop-ivcanon.c @@ -262,24 +262,23 @@ canonicalize_induction_variables (struct loops *loops) { unsigned i; struct loop *loop; + bool changed = false; for (i = 1; i < loops->num; i++) { loop = loops->parray[i]; if (loop) - canonicalize_loop_induction_variables (loops, loop, true, false, true); + changed |= canonicalize_loop_induction_variables (loops, loop, + true, false, true); } /* Clean up the information about numbers of iterations, since brute force evaluation could reveal new information. */ scev_reset (); -#if 0 - /* The necessary infrastructure is not in yet. */ if (changed) cleanup_tree_cfg_loop (); -#endif } /* Unroll LOOPS completely if they iterate just few times. */ @@ -307,9 +306,6 @@ tree_unroll_loops_completely (struct loops *loops) unrolling might have invalidated it. */ scev_reset (); -#if 0 - /* The necessary infrastructure is not in yet. */ if (changed) cleanup_tree_cfg_loop (); -#endif } |