flow.c (find_basic_blocks_1): Do not emit NOP after call.

* flow.c (find_basic_blocks_1): Do not emit NOP after call.

	* flow.c (outgoing_edges_match): Return early if condition reversal
	failed.

From-SVN: r43965
This commit is contained in:
Jan Hubicka 2001-07-12 16:52:51 +02:00 committed by Jan Hubicka
parent 51c6b24704
commit c35e85f978
2 changed files with 10 additions and 22 deletions

View File

@ -1,3 +1,10 @@
Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
* flow.c (find_basic_blocks_1): Do not emit NOP after call.
* flow.c (outgoing_edges_match): Return early if condition reversal
failed.
2001-07-06 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (print_operand): Extend '%D' to memory operands.

View File

@ -859,17 +859,6 @@ find_basic_blocks_1 (f)
to a barrier or some such, no need to do it again. */
if (head != NULL_RTX)
{
/* While we now have edge lists with which other portions of
the compiler might determine a call ending a basic block
does not imply an abnormal edge, it will be a bit before
everything can be updated. So continue to emit a noop at
the end of such a block. */
if (GET_CODE (end) == CALL_INSN && ! SIBLING_CALL_P (end))
{
rtx nop = gen_rtx_USE (VOIDmode, const0_rtx);
end = emit_insn_after (nop, end);
}
create_basic_block (i++, head, end, bb_note);
bb_note = NULL_RTX;
}
@ -911,17 +900,6 @@ find_basic_blocks_1 (f)
jump already closed the basic block -- no need to do it again. */
if (head == NULL_RTX)
break;
/* While we now have edge lists with which other portions of the
compiler might determine a call ending a basic block does not
imply an abnormal edge, it will be a bit before everything can
be updated. So continue to emit a noop at the end of such a
block. */
if (GET_CODE (end) == CALL_INSN && ! SIBLING_CALL_P (end))
{
rtx nop = gen_rtx_USE (VOIDmode, const0_rtx);
end = emit_insn_after (nop, end);
}
goto new_bb_exclusive;
case CALL_INSN:
@ -3394,6 +3372,9 @@ outgoing_edges_match (bb1, bb2)
else
code2 = GET_CODE (cond2);
if (code2 == UNKNOWN)
return false;
/* See if we don have (cross) match in the codes and operands. */
match = ((code1 == code2
&& rtx_renumbered_equal_p (XEXP (cond1, 0), XEXP (cond2, 0))