Commit d62dab41 by J"orn Rennecke Committed by Joern Rennecke

reload1.c (emit_reload_insns): If pseudo that can't be replaced with its equivalent constant...

	* reload1.c (emit_reload_insns): If pseudo that can't be replaced
	with its equivalent constant, fall back to reload_in.

From-SVN: r25604
parent b85f4db3
Fri Mar 5 21:41:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* reload1.c (emit_reload_insns): If pseudo that can't be replaced
with its equivalent constant, fall back to reload_in.
Fri Mar 5 13:20:39 1999 Richard Henderson <rth@cygnus.com> Fri Mar 5 13:20:39 1999 Richard Henderson <rth@cygnus.com>
* Makefile.in: Delete .flow2 debugging files. * Makefile.in: Delete .flow2 debugging files.
......
...@@ -6815,13 +6815,16 @@ emit_reload_insns (chain) ...@@ -6815,13 +6815,16 @@ emit_reload_insns (chain)
See comments in get_secondary_reload in reload.c. */ See comments in get_secondary_reload in reload.c. */
/* If it is a pseudo that cannot be replaced with its /* If it is a pseudo that cannot be replaced with its
equivalent MEM, we must fall back to reload_in, which equivalent MEM, we must fall back to reload_in, which
will have all the necessary substitutions registered. */ will have all the necessary substitutions registered.
Likewise for a pseudo that can't be replaced with its
equivalent constant. */
if (GET_CODE (oldequiv) == REG if (GET_CODE (oldequiv) == REG
&& REGNO (oldequiv) >= FIRST_PSEUDO_REGISTER && REGNO (oldequiv) >= FIRST_PSEUDO_REGISTER
&& reg_equiv_memory_loc[REGNO (oldequiv)] != 0) && (reg_equiv_memory_loc[REGNO (oldequiv)] != 0
|| reg_equiv_constant[REGNO (oldequiv)] != 0))
{ {
if (reg_equiv_address[REGNO (oldequiv)] if (! reg_equiv_mem[REGNO (oldequiv)]
|| num_not_at_initial_offset) || num_not_at_initial_offset)
real_oldequiv = reload_in[j]; real_oldequiv = reload_in[j];
else else
...@@ -6830,9 +6833,10 @@ emit_reload_insns (chain) ...@@ -6830,9 +6833,10 @@ emit_reload_insns (chain)
if (GET_CODE (old) == REG if (GET_CODE (old) == REG
&& REGNO (old) >= FIRST_PSEUDO_REGISTER && REGNO (old) >= FIRST_PSEUDO_REGISTER
&& reg_equiv_memory_loc[REGNO (old)] != 0) && (reg_equiv_memory_loc[REGNO (old)] != 0
|| reg_equiv_constant[REGNO (old)] != 0))
{ {
if (reg_equiv_address[REGNO (old)] if (! reg_equiv_mem[REGNO (old)]
|| num_not_at_initial_offset) || num_not_at_initial_offset)
real_old = reload_in[j]; real_old = reload_in[j];
else else
...@@ -6938,13 +6942,16 @@ emit_reload_insns (chain) ...@@ -6938,13 +6942,16 @@ emit_reload_insns (chain)
if ((GET_CODE (oldequiv) == REG if ((GET_CODE (oldequiv) == REG
&& REGNO (oldequiv) >= FIRST_PSEUDO_REGISTER && REGNO (oldequiv) >= FIRST_PSEUDO_REGISTER
&& reg_equiv_memory_loc[REGNO (oldequiv)] != 0) && (reg_equiv_memory_loc[REGNO (oldequiv)] != 0
|| reg_equiv_constant[REGNO (oldequiv)] != 0))
|| (GET_CODE (oldequiv) == SUBREG || (GET_CODE (oldequiv) == SUBREG
&& GET_CODE (SUBREG_REG (oldequiv)) == REG && GET_CODE (SUBREG_REG (oldequiv)) == REG
&& (REGNO (SUBREG_REG (oldequiv)) && (REGNO (SUBREG_REG (oldequiv))
>= FIRST_PSEUDO_REGISTER) >= FIRST_PSEUDO_REGISTER)
&& (reg_equiv_memory_loc && ((reg_equiv_memory_loc
[REGNO (SUBREG_REG (oldequiv))] != 0))) [REGNO (SUBREG_REG (oldequiv))] != 0)
|| (reg_equiv_constant
[REGNO (SUBREG_REG (oldequiv))] != 0))))
real_oldequiv = reload_in[j]; real_oldequiv = reload_in[j];
gen_reload (reloadreg, real_oldequiv, reload_opnum[j], gen_reload (reloadreg, real_oldequiv, reload_opnum[j],
reload_when_needed[j]); reload_when_needed[j]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment