diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fd357b498de..61280127794 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-11-05 Joern Rennecke + + * reorg.c (fill_simple_delay_slots): Avoid calling optimize_skip + with a return instruction. + 2012-11-05 Vladimir Makarov PR rtl-optimization/55151 diff --git a/gcc/reorg.c b/gcc/reorg.c index aa6ad781f37..90ea42ea471 100644 --- a/gcc/reorg.c +++ b/gcc/reorg.c @@ -2196,7 +2196,8 @@ fill_simple_delay_slots (int non_jumps_p) if (slots_filled != slots_to_fill && delay_list == 0 && JUMP_P (insn) - && (condjump_p (insn) || condjump_in_parallel_p (insn))) + && (condjump_p (insn) || condjump_in_parallel_p (insn)) + && !ANY_RETURN_P (JUMP_LABEL (insn))) { delay_list = optimize_skip (insn); if (delay_list)