summaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-18 21:08:38 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-18 21:08:38 +0000
commit1eefcaee16a1dab7f50551ba1370aafd5a2f69ee (patch)
treeac49e6991cf94a0226441d0291cf1772f162ce65 /gcc/recog.c
parent4a7f56876b1cf7336f85c888f2ced67e160b5765 (diff)
downloadgcc-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.c4
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