re PR tree-optimization/42931 (-ftree-loop-linear - valgrind warns about using uninit...
authorJakub Jelinek <jakub@redhat.com>
Mon, 8 Feb 2010 15:47:01 +0000 (16:47 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 8 Feb 2010 15:47:01 +0000 (16:47 +0100)
PR tree-optimization/42931
* tree-loop-linear.c (try_interchange_loops): Don't call
double_int_mul if estimated_loop_iterations failed.

From-SVN: r156602

gcc/ChangeLog
gcc/tree-loop-linear.c

index 593b82e387a6b26fe98f88f8b5932d8428144fe4..e9a82c9a55238a28dfdea81d64f7f847c4ec105c 100644 (file)
@@ -1,3 +1,9 @@
+2010-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/42931
+       * tree-loop-linear.c (try_interchange_loops): Don't call
+       double_int_mul if estimated_loop_iterations failed.
+
 2010-02-08  Martin Jambor  <mjambor@suse.cz>
 
        PR middle-end/42898
index 5461975d77ad428f6f8b93b6b229110705964b71..04731c76820aaf228216b75337c35f8f4c787249 100644 (file)
@@ -1,5 +1,5 @@
 /* Linear Loop transforms
-   Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009
+   Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010
    Free Software Foundation, Inc.
    Contributed by Daniel Berlin <dberlin@dberlin.org>.
 
@@ -246,9 +246,10 @@ try_interchange_loops (lambda_trans_matrix trans,
        res = cmp < 0 ?
          estimated_loop_iterations (loop_j, false, &nb_iter):
          estimated_loop_iterations (loop_i, false, &nb_iter);
-       large = double_int_mul (large, nb_iter);
 
-       if (res && double_int_ucmp (large, l1_cache_size) < 0)
+       if (res
+           && double_int_ucmp (double_int_mul (large, nb_iter),
+                               l1_cache_size) < 0)
          continue;
 
        if (dependence_steps_i < dependence_steps_j