arm.c (arm_output_epilogue): Don't generate separate return instruction if PC was popped.

2002-03-20  Philip Blundell  <pb@nexus.co.uk>

	* config/arm/arm.c (arm_output_epilogue): Don't generate separate
	return instruction if PC was popped.

From-SVN: r51083
This commit is contained in:
Philip Blundell 2002-03-20 20:09:36 +00:00 committed by Phil Blundell
parent e3fe84e5dc
commit f48645880f
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2002-03-20 Philip Blundell <pb@nexus.co.uk>
* config/arm/arm.c (arm_output_epilogue): Don't generate separate
return instruction if PC was popped.
2002-03-20 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/xtensa.md: Remove unused type attributes.

View File

@ -7669,7 +7669,7 @@ arm_output_epilogue (really_return)
to load use the LDR instruction - it is faster. */
if (saved_regs_mask == (1 << LR_REGNUM))
{
/* The excpetion handler ignores the LR, so we do
/* The exception handler ignores the LR, so we do
not really need to load it off the stack. */
if (eh_ofs)
asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
@ -7695,7 +7695,10 @@ arm_output_epilogue (really_return)
REGNO (eh_ofs));
#endif
if (! really_return)
if (! really_return
|| (ARM_FUNC_TYPE (func_type) == ARM_FT_NORMAL
&& current_function_pretend_args_size == 0
&& saved_regs_mask & (1 << PC_REGNUM)))
return "";
/* Generate the return instruction. */