Commit ac59ed37 by David S. Miller Committed by David S. Miller

sparc.c (sparc_nonflat_function_epilogue): Only emit nop if the last real insn is CALL_INSN.

2003-07-15  David S. Miller  <davem@redhat.com>

	* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
	emit nop if the last real insn is CALL_INSN.

From-SVN: r69440
parent 9f13608f
2003-07-15 David S. Miller <davem@redhat.com>
* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
emit nop if the last real insn is CALL_INSN.
2003-07-16 Danny Smith <dannysmith@users.sourceforge.net> 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
* config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
......
...@@ -4046,11 +4046,19 @@ sparc_nonflat_function_epilogue (file, size, leaf_function) ...@@ -4046,11 +4046,19 @@ sparc_nonflat_function_epilogue (file, size, leaf_function)
of a function were call foo; dslot; this can make the return of a function were call foo; dslot; this can make the return
PC of foo (ie. address of call instruction plus 8) point to PC of foo (ie. address of call instruction plus 8) point to
the first instruction in the next function. */ the first instruction in the next function. */
rtx insn; rtx insn, last_real_insn;
insn = get_last_insn ();
last_real_insn = prev_real_insn (insn);
if (last_real_insn
&& GET_CODE (last_real_insn) == INSN
&& GET_CODE (PATTERN (last_real_insn)) == SEQUENCE)
last_real_insn = XVECEXP (PATTERN (last_real_insn), 0, 0);
if (last_real_insn && GET_CODE (last_real_insn) == CALL_INSN)
fputs("\tnop\n", file); fputs("\tnop\n", file);
insn = get_last_insn ();
if (GET_CODE (insn) == NOTE) if (GET_CODE (insn) == NOTE)
insn = prev_nonnote_insn (insn); insn = prev_nonnote_insn (insn);
if (insn && GET_CODE (insn) == BARRIER) if (insn && GET_CODE (insn) == BARRIER)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment