aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJames E Wilson <wilson@specifixinc.com>2004-10-27 01:36:11 +0000
committerJim Wilson <wilson@gcc.gnu.org>2004-10-26 18:36:11 -0700
commit0a3d71f54af134bcafea29a8f8021d8bbf24cfb4 (patch)
tree53bf4ce96a26e59a4dd58a0cb24e26b9f0314bd2 /gcc
parent93a27b7badb18e8a13cfc877c8c74e88ecc44774 (diff)
downloadgcc-0a3d71f54af134bcafea29a8f8021d8bbf24cfb4.zip
gcc-0a3d71f54af134bcafea29a8f8021d8bbf24cfb4.tar.gz
gcc-0a3d71f54af134bcafea29a8f8021d8bbf24cfb4.tar.bz2
Fix for PR 18010, copy epilogue unwind info when copying epilogue insns.
* emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P. From-SVN: r89624
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/emit-rtl.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 45edb17..38c6bfc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-26 James E Wilson <wilson@specifixinc.com>
+
+ PR target/18010
+ * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
+
2004-10-26 Zack Weinberg <zack@codesourcery.com>
* dbxout.c: Include obstack.h.
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index ec7bec3..ae4c3eb 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -5548,6 +5548,11 @@ emit_copy_of_insn_after (rtx insn, rtx after)
INSN_LOCATOR (new) = INSN_LOCATOR (insn);
+ /* If the old insn is frame related, then so is the new one. This is
+ primarily needed for IA-64 unwind info which marks epilogue insns,
+ which may be duplicated by the basic block reordering code. */
+ RTX_FRAME_RELATED_P (new) = RTX_FRAME_RELATED_P (insn);
+
/* Copy all REG_NOTES except REG_LABEL since mark_jump_label will
make them. */
for (link = REG_NOTES (insn); link; link = XEXP (link, 1))