aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@cygnus.co.uk>1999-11-29 10:51:09 +0000
committerBernd Schmidt <crux@gcc.gnu.org>1999-11-29 10:51:09 +0000
commit311fe27c71628f8d246b23084f5ce2168912215e (patch)
treef08204689c9adc2076a0256c4af56c7c2c60a5c0 /gcc
parent83c23b6c72aaf1554c0cf2b138ae04c018ec5c94 (diff)
downloadgcc-311fe27c71628f8d246b23084f5ce2168912215e.zip
gcc-311fe27c71628f8d246b23084f5ce2168912215e.tar.gz
gcc-311fe27c71628f8d246b23084f5ce2168912215e.tar.bz2
Fix abort in loop_iterations
From-SVN: r30698
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/unroll.c6
2 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ef7b57d..717e1e2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+1999-11-29 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * unroll.c (loop_iterations): Don't abort if iteration variable
+ was made by loop.
+
1999-11-29 David S. Miller <davem@redhat.com>
* config/sparc/sparc.c (init_cumulative_args): Fix type of third
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 3994e79..94451e1 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -3687,11 +3687,9 @@ loop_iterations (loop_start, loop_end, loop_info)
return 0;
}
- /* The only new registers that care created before loop iterations are
- givs made from biv increments, so this should never occur. */
-
+ /* This can happen due to optimization in load_mems. */
if ((unsigned) REGNO (iteration_var) >= reg_iv_type->num_elements)
- abort ();
+ return 0;
iteration_info (iteration_var, &initial_value, &increment,
loop_start, loop_end);