diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/unroll.c | 4 |
3 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f5a84c0..182eab0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR optimization/10955 + * unroll.c (unroll_loop): Fix off-by-one bug. + 2003-06-12 Aldy Hernandez <aldyh@redhat.com> * config/rs6000/rs6000.c (function_arg): Remove typo. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5a31745..0aaa68d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr> + + * gcc.c-torture/execute/20030611-1.c: New test. + 2003-06-12 Roger Sayle <roger@eyesopen.com> PR middle-end/168 diff --git a/gcc/unroll.c b/gcc/unroll.c index 43539c3..e7e03ab 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -791,9 +791,9 @@ unroll_loop (loop, insn_count, strength_reduce_p) /* We must limit the generic test to max_reg_before_loop, because only these pseudo registers have valid regno_first_uid info. */ for (r = FIRST_PSEUDO_REGISTER; r < max_reg_before_loop; ++r) - if (REGNO_FIRST_UID (r) > 0 && REGNO_FIRST_UID (r) <= max_uid_for_loop + if (REGNO_FIRST_UID (r) > 0 && REGNO_FIRST_UID (r) < max_uid_for_loop && REGNO_FIRST_LUID (r) >= copy_start_luid - && REGNO_LAST_UID (r) > 0 && REGNO_LAST_UID (r) <= max_uid_for_loop + && REGNO_LAST_UID (r) > 0 && REGNO_LAST_UID (r) < max_uid_for_loop && REGNO_LAST_LUID (r) <= copy_end_luid) { /* However, we must also check for loop-carried dependencies. |
