diff options
author | Richard Stallman <rms@gnu.org> | 1993-06-26 21:19:02 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-06-26 21:19:02 +0000 |
commit | 73f6789529c29c8c302d9d078bbbf0fd07477804 (patch) | |
tree | e337c36dc4338ce5f034bdfc59067b79e4aca62a /gcc | |
parent | 6491dbbb8121b9afa1400b9c1143b9eb32b4da65 (diff) | |
download | gcc-73f6789529c29c8c302d9d078bbbf0fd07477804.zip gcc-73f6789529c29c8c302d9d078bbbf0fd07477804.tar.gz gcc-73f6789529c29c8c302d9d078bbbf0fd07477804.tar.bz2 |
(find_reloads): When merging reloads again after they have been changed...
(find_reloads): When merging reloads again after they have
been changed, do check reload_reg_class and reload_nocombine.
From-SVN: r4762
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/reload.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 868c967..2a0026c 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -3506,7 +3506,9 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) for (j = 0; j < n_reloads; j++) if (i != j && reload_in[j] != 0 && reload_out[j] == 0 && reload_when_needed[j] == reload_when_needed[i] - && MATCHES (reload_in[i], reload_in[j])) + && MATCHES (reload_in[i], reload_in[j]) + && reload_reg_class[i] == reload_reg_class[j] + && !reload_nocombine[i] && !reload_nocombine[j]) { reload_opnum[i] = MIN (reload_opnum[i], reload_opnum[j]); transfer_replacements (i, j); |