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:
parent
507c117699
commit
d7c2e385ea
@ -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
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user