aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/loop.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6727dd5..24c75b9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
Thu May 13 01:49:55 1999 Graham Stott <GrahamS@RCP.co.uk>
+ * loop.c (maybe_eliminate_biv): Check regno against
+ max_reg_before_loop.
+
* i386.c (memory_address_info): Correct the scale
factor test.
diff --git a/gcc/loop.c b/gcc/loop.c
index 55f52bf6..192461a 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -8131,7 +8131,8 @@ maybe_eliminate_biv (bl, loop_start, end, eliminate_p, threshold, insn_count)
{
int regno = REGNO (SET_DEST (set));
- if (REG_IV_TYPE (regno) == GENERAL_INDUCT
+ if (regno < max_reg_before_loop
+ && REG_IV_TYPE (regno) == GENERAL_INDUCT
&& REG_IV_INFO (regno)->src_reg == bl->biv->src_reg)
p = last;
}