> 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