aboutsummaryrefslogtreecommitdiff
path: root/gcc/reorg.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2011-10-15 21:02:33 +1030
committerAlan Modra <amodra@gcc.gnu.org>2011-10-15 21:02:33 +1030
commit387748de2fd017a990aaf617f24b8dad53856888 (patch)
treecb30b59e8583f834cc2b7bda3848e3270cd9bcf1 /gcc/reorg.c
parentc225ba500b4c34dde743798bf9ccb5dcef7af832 (diff)
downloadgcc-387748de2fd017a990aaf617f24b8dad53856888.zip
gcc-387748de2fd017a990aaf617f24b8dad53856888.tar.gz
gcc-387748de2fd017a990aaf617f24b8dad53856888.tar.bz2
re PR rtl-optimization/49941 (segmentation fault in redirect_jump_2)
PR rtl-optimization/49941 * jump.c (mark_jump_label_1): Set JUMP_LABEL for simple_return jumps. * rtl.h (set_return_jump_label): Declare. * function.c (set_return_jump_label): New function, extracted.. (thread_prologue_and_epilogue_insns): ..from here. Use it in another instance to set return jump_label. * cfgrtl.c (force_nonfallthru_and_redirect): Use set_return_jump_label. * reorg.c (find_end_label): Likewise. From-SVN: r180027
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r--gcc/reorg.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 179bf5fb..f77a3a0 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -467,7 +467,7 @@ find_end_label (rtx kind)
/* The return we make may have delay slots too. */
rtx insn = gen_return ();
insn = emit_jump_insn (insn);
- JUMP_LABEL (insn) = ret_rtx;
+ set_return_jump_label (insn);
emit_barrier ();
if (num_delay_slots (insn) > 0)
obstack_ptr_grow (&unfilled_slots_obstack, insn);