From: jakub Date: Tue, 14 Nov 2000 10:23:38 +0000 (+0000) Subject: * reload1.c (emit_input_reload_insns): Honour forcing of constants X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=af9687ec6585c95c58d11b26801d8c2d1cdf89e4;p=thirdparty%2Fgcc.git * reload1.c (emit_input_reload_insns): Honour forcing of constants into memory by PREFERRED_RELOAD_CLASS NO_REGS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37450 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ace6a8929f59..e4dbb1997430 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-11-14 Jakub Jelinek + + * reload1.c (emit_input_reload_insns): Honour forcing of constants + into memory by PREFERRED_RELOAD_CLASS NO_REGS. + 2000-11-14 Michael Matz * dominance.c: New file. diff --git a/gcc/reload1.c b/gcc/reload1.c index 5441494aa3db..926d7960991b 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);