aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2009-02-27 16:42:38 +0000
committerSebastian Pop <spop@gcc.gnu.org>2009-02-27 16:42:38 +0000
commitc20993b9959c1586b273eba9c50282a7a56064dd (patch)
treec54e2138854dce5eb8e290966cf9e8253508a581
parente3cba5e5afc342a7507cbf1cc8fcd915504dc931 (diff)
downloadgcc-c20993b9959c1586b273eba9c50282a7a56064dd.zip
gcc-c20993b9959c1586b273eba9c50282a7a56064dd.tar.gz
gcc-c20993b9959c1586b273eba9c50282a7a56064dd.tar.bz2
re PR middle-end/39308 (ICE when compiling with -O[s123] -floop-interchange)
2009-02-27 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/39308 * graphite.c (graphite_loop_normal_form): Do not call number_of_iterations_exit from a gcc_assert. From-SVN: r144470
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/graphite.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 27ccf26..1f1bbd0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-27 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/39308
+ * graphite.c (graphite_loop_normal_form): Do not call
+ number_of_iterations_exit from a gcc_assert.
+
2009-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc/config/s390/s390.c: (s390_swap_cmp): Look for conditional
diff --git a/gcc/graphite.c b/gcc/graphite.c
index a4cbdfd..69a72fc 100644
--- a/gcc/graphite.c
+++ b/gcc/graphite.c
@@ -2382,8 +2382,10 @@ graphite_loop_normal_form (loop_p loop)
tree nit;
gimple_seq stmts;
edge exit = single_dom_exit (loop);
+ bool known_niter = number_of_iterations_exit (loop, exit, &niter, false);
+
+ gcc_assert (known_niter);
- gcc_assert (number_of_iterations_exit (loop, exit, &niter, false));
nit = force_gimple_operand (unshare_expr (niter.niter), &stmts, true,
NULL_TREE);
if (stmts)