optabs.c (emit_no_conflict_block, [...]): Avoid nesting of libcall regions.

* optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
	of libcall regions.

From-SVN: r51477
This commit is contained in:
Jan Hubicka 2002-03-27 23:16:20 +01:00 committed by Jan Hubicka
parent e27a4eaf4f
commit 218aa620c4
2 changed files with 21 additions and 1 deletions

View File

@ -1,3 +1,8 @@
Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
* optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
of libcall regions.
Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of

View File

@ -2739,11 +2739,18 @@ emit_no_conflict_block (insns, target, op0, op1, equiv)
these from the list. */
for (insn = insns; insn; insn = next)
{
rtx set = 0;
rtx set = 0, note;
int i;
next = NEXT_INSN (insn);
/* Some ports (cris) create an libcall regions at their own. We must
avoid any potential nesting of LIBCALLs. */
if ((note = find_reg_note (insn, REG_LIBCALL, NULL)) != NULL)
remove_note (insn, note);
if ((note = find_reg_note (insn, REG_RETVAL, NULL)) != NULL)
remove_note (insn, note);
if (GET_CODE (PATTERN (insn)) == SET || GET_CODE (PATTERN (insn)) == USE
|| GET_CODE (PATTERN (insn)) == CLOBBER)
set = PATTERN (insn);
@ -2906,6 +2913,14 @@ emit_libcall_block (insns, target, result, equiv)
for (insn = insns; insn; insn = next)
{
rtx set = single_set (insn);
rtx note;
/* Some ports (cris) create an libcall regions at their own. We must
avoid any potential nesting of LIBCALLs. */
if ((note = find_reg_note (insn, REG_LIBCALL, NULL)) != NULL)
remove_note (insn, note);
if ((note = find_reg_note (insn, REG_RETVAL, NULL)) != NULL)
remove_note (insn, note);
next = NEXT_INSN (insn);