Hi!

path vector has been only released when return false; later in the function,
but not in this case.  Bootstrapped/regtested on x86_64-linux and
i686-linux, ok for trunk?

2013-03-01  Jakub Jelinek  <ja...@redhat.com>

        PR middle-end/56461
        * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
        vector even when returning true.  Fix up function comment formatting.

--- gcc/tree-ssa-loop-ivcanon.c.jj      2013-01-11 09:02:48.000000000 +0100
+++ gcc/tree-ssa-loop-ivcanon.c 2013-03-01 17:16:51.955088637 +0100
@@ -207,7 +207,7 @@ constant_after_peeling (tree op, gimple
    EDGE_TO_CANCEL (if non-NULL) is an non-exit edge eliminated in the last 
iteration
    of loop.
    Return results in SIZE, estimate benefits for complete unrolling exiting by 
EXIT. 
-   Stop estimating after UPPER_BOUND is met. Return true in this case */
+   Stop estimating after UPPER_BOUND is met.  Return true in this case.  */
 
 static bool
 tree_estimate_loop_size (struct loop *loop, edge exit, edge edge_to_cancel, 
struct loop_size *size,
@@ -321,6 +321,7 @@ tree_estimate_loop_size (struct loop *lo
              - size->last_iteration_eliminated_by_peeling) > upper_bound)
            {
               free (body);
+             path.release ();
              return true;
            }
        }

        Jakub

Reply via email to