(Still) ICE for cris-elf at r214710
Hans-Peter Nilsson
hans-peter.nilsson@axis.com
Fri Aug 29 13:41:00 GMT 2014
> From: David Malcolm <dmalcolm@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
More information about the Gcc-patches
mailing list