combine.c (distribute_notes): Move set of need_refresh for noop_move_p down to catch all cases.

* combine.c (distribute_notes): Move set of need_refresh
        for noop_move_p down to catch all cases.

From-SVN: r44317
This commit is contained in:
Richard Henderson 2001-07-24 14:39:19 -07:00 committed by Richard Henderson
parent edd60b15d1
commit e7139885a9
2 changed files with 18 additions and 10 deletions

View File

@ -1,3 +1,8 @@
2001-07-24 Richard Henderson <rth@redhat.com>
* combine.c (distribute_notes): Move set of need_refresh
for noop_move_p down to catch all cases.
Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
* recog.c (split_all_insns_noflow): New.

View File

@ -12335,16 +12335,10 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
is still a REG_DEAD note, but we have hit the beginning
of the block. If the existing life info says the reg
was dead, there's nothing left to do. Otherwise, we'll
need to do a global life update after combine.
Similary we need to update in case insn is an dead set
we are about to remove soon.
*/
if (REG_NOTE_KIND (note) == REG_DEAD
&& ((place && noop_move_p (place))
|| (place == 0
&& REGNO_REG_SET_P (bb->global_live_at_start,
REGNO (XEXP (note, 0))))))
need to do a global life update after combine. */
if (REG_NOTE_KIND (note) == REG_DEAD && place == 0
&& REGNO_REG_SET_P (bb->global_live_at_start,
REGNO (XEXP (note, 0))))
{
SET_BIT (refresh_blocks, this_basic_block);
need_refresh = 1;
@ -12361,6 +12355,15 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
{
unsigned int regno = REGNO (XEXP (note, 0));
/* Similarly, if the instruction on which we want to place
the note is a noop, we'll need do a global live update
after we remove them in delete_noop_moves. */
if (noop_move_p (place))
{
SET_BIT (refresh_blocks, this_basic_block);
need_refresh = 1;
}
if (dead_or_set_p (place, XEXP (note, 0))
|| reg_bitfield_target_p (XEXP (note, 0), PATTERN (place)))
{