diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-18 21:08:38 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-18 21:08:38 +0000 |
commit | 1eefcaee16a1dab7f50551ba1370aafd5a2f69ee (patch) | |
tree | ac49e6991cf94a0226441d0291cf1772f162ce65 /gcc/recog.c | |
parent | 4a7f56876b1cf7336f85c888f2ced67e160b5765 (diff) | |
download | gcc-1eefcaee16a1dab7f50551ba1370aafd5a2f69ee.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166920 138bc75d-0d04-0410-961f-82ee72b054a4
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 b140c0e17dd..edbf82b004d 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 |