diff options
author | James E Wilson <wilson@specifixinc.com> | 2004-10-27 01:36:11 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 2004-10-26 18:36:11 -0700 |
commit | 0a3d71f54af134bcafea29a8f8021d8bbf24cfb4 (patch) | |
tree | 53bf4ce96a26e59a4dd58a0cb24e26b9f0314bd2 /gcc/emit-rtl.c | |
parent | 93a27b7badb18e8a13cfc877c8c74e88ecc44774 (diff) | |
download | gcc-0a3d71f54af134bcafea29a8f8021d8bbf24cfb4.tar.gz |
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/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index ec7bec39adc..ae4c3eb40c2 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)) |