re PR target/40313 (SH: ICE in dwarf2out_begin_epilogue, at dwarf2out.c:2689)

PR target/40313
	* config/sh/sh.c: Include debug.h.
	(sh_expand_epilogue): Emit a blockage insn before the frame
	pointer adjustment also when dwarf2out_do_frame returns true.

From-SVN: r148017
This commit is contained in:
Kaz Kojima 2009-05-31 21:45:18 +00:00
parent 97fc23aeaf
commit 47ea8d4efa
2 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2009-05-31 Kaz Kojima <kkojima@gcc.gnu.org>
PR target/40313
* config/sh/sh.c: Include debug.h.
(sh_expand_epilogue): Emit a blockage insn before the frame
pointer adjustment also when dwarf2out_do_frame returns true.
2009-05-31 Richard Earnshaw <rearnsha@arm.com>
* arm/thumb2.md (thumb2_extendsidi2): Add a split sub-pattern.

View File

@ -43,6 +43,7 @@ along with GCC; see the file COPYING3. If not see
#include "target.h"
#include "target-def.h"
#include "real.h"
#include "debug.h"
#include "langhooks.h"
#include "basic-block.h"
#include "df.h"
@ -6747,8 +6748,9 @@ sh_expand_epilogue (bool sibcall_p)
if (frame_pointer_needed)
{
/* We must avoid scheduling the epilogue with previous basic blocks
when exception handling is enabled. See PR/18032. */
if (flag_exceptions)
when exception handling or frame information is needed.
See PR/18032 and PR/40313. */
if (flag_exceptions || dwarf2out_do_frame ())
emit_insn (gen_blockage ());
output_stack_adjust (frame_size, hard_frame_pointer_rtx, e,
&live_regs_mask);