+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.
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;
{
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)))
{