PR tree-optimization/42931
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Feb 2010 15:47:01 +0000 (15:47 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Feb 2010 15:47:01 +0000 (15:47 +0000)
* tree-loop-linear.c (try_interchange_loops): Don't call
double_int_mul if estimated_loop_iterations failed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156602 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 593b82e..e9a82c9 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 5461975..04731c7 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