* combine.c (try_combine): Avoid barrier after noop jumps

From-SVN: r44470
This commit is contained in:
Jan Hubicka 2001-07-30 12:54:10 +02:00 committed by Jan Hubicka
parent 60e19e8b3f
commit 592a6d1d96
2 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,7 @@
Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
* combine.c (try_combine): Avoid barrier after noop jumps.
2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
* cpphash.h (struct cpp_reader): Remove import_warning.

View File

@ -2763,10 +2763,7 @@ try_combine (i3, i2, i1, new_direct_jump_p)
BARRIER following it since it may have initially been a
conditional jump. It may also be the last nonnote insn. */
if (GET_CODE (newpat) == RETURN || any_uncondjump_p (i3)
|| (GET_CODE (newpat) == SET
&& SET_SRC (newpat) == pc_rtx
&& SET_DEST (newpat) == pc_rtx))
if (GET_CODE (newpat) == RETURN || any_uncondjump_p (i3))
{
*new_direct_jump_p = 1;
@ -2774,6 +2771,12 @@ try_combine (i3, i2, i1, new_direct_jump_p)
|| GET_CODE (temp) != BARRIER)
emit_barrier_after (i3);
}
/* An NOOP jump does not need barrier, but it does need cleaning up
of CFG. */
if (GET_CODE (newpat) == SET
&& SET_SRC (newpat) == pc_rtx
&& SET_DEST (newpat) == pc_rtx)
*new_direct_jump_p = 1;
}
combine_successes++;