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: r51929
This commit is contained in:
Jan Hubicka 2002-04-05 21:13:00 +02:00 committed by Hans-Peter Nilsson
parent 5b0a61bdd4
commit b8009f90a7
2 changed files with 21 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2002-04-05 Jan Hubicka <jh@suse.cz>
* optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
of libcall regions.
2002-04-05 David S. Miller <davem@redhat.com>
* config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we

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);