diff options
author | Alan Modra <amodra@gmail.com> | 2011-10-15 21:02:33 +1030 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2011-10-15 21:02:33 +1030 |
commit | 387748de2fd017a990aaf617f24b8dad53856888 (patch) | |
tree | cb30b59e8583f834cc2b7bda3848e3270cd9bcf1 /gcc/reorg.c | |
parent | c225ba500b4c34dde743798bf9ccb5dcef7af832 (diff) | |
download | gcc-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.c | 2 |
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); |