(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