diff options
author | Jakub Jelinek <jakub@redhat.com> | 2000-11-14 11:23:38 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2000-11-14 11:23:38 +0100 |
commit | 716120a70a1bae9f403454944ac14ddf07059bb7 (patch) | |
tree | 91b592671c9b08e1c0ffdfc0a9b729020073ab84 | |
parent | f80326884cf82c1804385664197afa44ad468d97 (diff) | |
download | gcc-716120a70a1bae9f403454944ac14ddf07059bb7.tar.gz |
reload1.c (emit_input_reload_insns): Honour forcing of constants into memory by PREFERRED_RELOAD_CLASS NO_REGS.
* reload1.c (emit_input_reload_insns): Honour forcing of constants
into memory by PREFERRED_RELOAD_CLASS NO_REGS.
From-SVN: r37450
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/reload1.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ace6a8929f5..e4dbb199743 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-11-14 Jakub Jelinek <jakub@redhat.com> + + * reload1.c (emit_input_reload_insns): Honour forcing of constants + into memory by PREFERRED_RELOAD_CLASS NO_REGS. + 2000-11-14 Michael Matz <matzmich@cs.tu-berlin.de> * dominance.c: New file. diff --git a/gcc/reload1.c b/gcc/reload1.c index 5441494aa3d..926d7960991 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -6441,7 +6441,10 @@ emit_input_reload_insns (chain, rl, old, j) && ((reg_equiv_memory_loc [REGNO (SUBREG_REG (oldequiv))] != 0) || (reg_equiv_constant - [REGNO (SUBREG_REG (oldequiv))] != 0)))) + [REGNO (SUBREG_REG (oldequiv))] != 0))) + || (CONSTANT_P (oldequiv) + && PREFERRED_RELOAD_CLASS (oldequiv, + REGNO_REG_CLASS (REGNO (reloadreg))) == NO_REGS)) real_oldequiv = rl->in; gen_reload (reloadreg, real_oldequiv, rl->opnum, rl->when_needed); |