diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1998-11-04 14:58:29 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1998-11-04 14:58:29 +0000 |
commit | e0d7bb0d756a0d0466394672ec48715721fc9279 (patch) | |
tree | 52bf0f16540efd1f2940fbc55f323dbad0fcd5e4 | |
parent | 590cf94d5160087b195c76e17ba14069610ae229 (diff) | |
download | gcc-e0d7bb0d756a0d0466394672ec48715721fc9279.zip gcc-e0d7bb0d756a0d0466394672ec48715721fc9279.tar.gz gcc-e0d7bb0d756a0d0466394672ec48715721fc9279.tar.bz2 |
reload.c (find_reloads): Fix test for usage by other reload to handle secondary reloads properly.
* reload.c (find_reloads): Fix test for usage by other reload
to handle secondary reloads properly.
From-SVN: r23522
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/reload.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0f206e8..dab94b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Nov 4 22:56:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload.c (find_reloads): Fix test for usage by other reload + to handle secondary reloads properly. + Wed Nov 4 17:25:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an diff --git a/gcc/reload.c b/gcc/reload.c index 7d15b4b..afe4753 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -4104,7 +4104,9 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) for (j = n_reloads - 1; j > first_num; j--) { if (reload_when_needed[j] == type - && reg_mentioned_p (reload_in[i], reload_in[j])) + && (reload_secondary_p[i] + ? reload_secondary_in_reload[j] == i + : reg_mentioned_p (reload_in[i], reload_in[j]))) { reload_when_needed[i] = type; break; |