aboutsummaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2010-11-18 13:08:38 -0800
committerRichard Henderson <rth@gcc.gnu.org>2010-11-18 13:08:38 -0800
commitcd400280c4f431ef4873b68c63f12d3f7ada87aa (patch)
treeac49e6991cf94a0226441d0291cf1772f162ce65 /gcc/recog.c
parentdf61e411f74162840e168dd21f6d6905890c28d6 (diff)
downloadgcc-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.c4
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