Bug in gcc/jump.c not correctly handling BARRIER insn.
Jeffrey A Law
law@cygnus.com
Wed May 27 01:04:00 GMT 1998
In message < 199805251620.QAA00173@iron.rcp.co.uk >you write:
>
>
> Hi,
>
> In the ecgs-19980517 snapshot the following code
> from thread_jumps @ line 4526 is not handling the
> senerio that "prev" may turn out to be a BARRIER
>
>
> instruction.
>
> if (JUMP_LABEL (b1) != new_label)
> {
> rtx prev = PREV_INSN (new_label);
>
> if (flag_before_loop
> && NOTE_LINE_NUMBER (prev) == NOTE_INSN_LOOP_BEG)
> {
> /* Don't thread to the loop label. If a loop
> label is reused, loop optimization will
> be disabled for that loop. */
> new_label = gen_label_rtx ();
> emit_label_after (new_label, PREV_INSN (prev));
> }
> changed |= redirect_jump (b1, new_label);
> }
Do you have a testcase for this or did you find this by
examination?
jeff
More information about the Gcc-bugs
mailing list