reload1.c (emit_reload_insns): When performing expensive optimizations...

* reload1.c (emit_reload_insns): When performing expensive
        optimizations, do not output the last reload insn if OLD is
        not the dest of NSN and is in the src and is clobbered by INSN.

From-SVN: r19634
This commit is contained in:
H.J. Lu 1998-05-08 13:14:32 +00:00 committed by Jeff Law
parent 507c117699
commit d7c2e385ea
2 changed files with 20 additions and 2 deletions

View File

@ -1,3 +1,9 @@
Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
* reload1.c (emit_reload_insns): When performing expensive
optimizations, do not output the last reload insn if OLD is
not the dest of NSN and is in the src and is clobbered by INSN.
Fri May 8 13:59:31 1998 Paul Eggert <eggert@twinsun.com>
* dwarf2out.c: Don't assume that `.section ".text"' causes the

View File

@ -6755,8 +6755,20 @@ emit_reload_insns (insn)
/* Output the last reload insn. */
if (! special)
gen_reload (old, reloadreg, reload_opnum[j],
reload_when_needed[j]);
{
rtx set;
/* Don't output the last reload if OLD is not the dest of
INSN and is in the src and is clobbered by INSN. */
if (! flag_expensive_optimizations
|| GET_CODE (old) != REG
|| !(set = single_set (insn))
|| rtx_equal_p (old, SET_DEST (set))
|| !reg_mentioned_p (old, SET_SRC (set))
|| !regno_clobbered_p (REGNO (old), insn))
gen_reload (old, reloadreg, reload_opnum[j],
reload_when_needed[j]);
}
#ifdef PRESERVE_DEATH_INFO_REGNO_P
/* If final will look at death notes for this reg,