> From: David Malcolm <dmalc...@redhat.com>
> Date: Fri, 29 Aug 2014 13:40:49 +0200

> > Patch attached, which fixes the above testcase; bootstrap in progress:
> > 
> > gcc/
> >     * resource.h (mark_target_live_regs): Undo erroneous conversion
> >     of second param of r214693, converting it back from rtx_insn * to
> >     rtx, since it could be a RETURN.
> > 
> >     * resource.c (find_dead_or_set_registers): Similarly, convert
> >     param "jump_target" back from an rtx_insn ** to an rtx *, as we
> >     could be writing back a RETURN.  Rename local rtx_insn * "next" to
> >     "next_insn", and introduce "lab_or_return" as a local rtx,
> >     handling the case where JUMP_LABEL (this_jump_insn) is a RETURN.
> >     (mark_target_live_regs): Undo erroneous conversion
> >     of second param of r214693, converting it back from rtx_insn * to
> >     rtx, since it could be a RETURN.  Rename it from "target" to
> >     "target_maybe_return", reintroducing the name "target" as a local
> >     rtx_insn * with a checked cast, after we've handled the case of
> >     ANY_RETURN_P.
> 
> ...and this has now been filed as part of PR62304, which found both this
> and another problem in reorg.c, both with JUMP_LABEL_AS_INSN as the root
> cause.  It may be worth eliminating that; it seems error-prone.

Thanks for the heads-up.  BTW, the ChangeLog entries should say
"what" not "why"; that goes into a comment in the source.

brgds, H-P

Reply via email to