diff options
author | Richard Henderson <rth@redhat.com> | 2010-11-18 13:08:38 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2010-11-18 13:08:38 -0800 |
commit | cd400280c4f431ef4873b68c63f12d3f7ada87aa (patch) | |
tree | ac49e6991cf94a0226441d0291cf1772f162ce65 /gcc/recog.c | |
parent | df61e411f74162840e168dd21f6d6905890c28d6 (diff) | |
download | gcc-cd400280c4f431ef4873b68c63f12d3f7ada87aa.zip gcc-cd400280c4f431ef4873b68c63f12d3f7ada87aa.tar.gz gcc-cd400280c4f431ef4873b68c63f12d3f7ada87aa.tar.bz2 |
re PR middle-end/46515 (Many libjava failures)
PR middle-end/46515
* function.c (maybe_copy_prologue_epilogue_insn): Rename from
maybe_copy_epilogue_insn; handle prologue insns as well.
* rtl.h, cfglayout.c: Update for rename.
* recog.c (peep2_attempt): Copy prologue/epilogue data for
RTX_FRAME_RELATED_P insns.
From-SVN: r166920
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index b140c0e..edbf82b 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -3219,6 +3219,10 @@ peep2_attempt (basic_block bb, rtx insn, int match_len, rtx attempt) if (!new_set || !rtx_equal_p (new_set, old_set)) add_reg_note (new_insn, REG_FRAME_RELATED_EXPR, old_set); } + + /* Copy prologue/epilogue status. This is required in order to keep + proper placement of EPILOGUE_BEG and the DW_CFA_remember_state. */ + maybe_copy_prologue_epilogue_insn (old_insn, new_insn); } /* If we are splitting a CALL_INSN, look for the CALL_INSN |