[PATCH][SH] Fix ICE in find_dead_or_set_registers

Kaz Kojima kkojima@rr.iij4u.or.jp
Thu Jul 19 10:35:00 GMT 2012


Christian Bruel <christian.bruel@st.com> wrote:
> This is a SH regression on the 4.7 and trunk while building Webkit
> (pre-processed file size is about 2.2Mb :-)
> 
> A far branch to a return rtx produces an ICE in
> find_dead_or_set_registers at line resource.c:497:
> 
> next = JUMP_LABEL (this_jump_insn);
> if (ANY_RETURN_P (next)) <- next is null
>  next = NULL_RTX;
> 
> Turns out that JUMP_LABEL was not set after gen_return in
> sh.c:gen_far_branch.
> 
> This patch fixes this. Tested for sh4-linux
> 
> OK for 4.7 and trunk ?

> +  if (bp->far_label)
>    JUMP_LABEL (jump) = bp->far_label;

The 2nd line should be indented.  OK with that change.
Thanks for fixing this!

Regards,
	kaz



More information about the Gcc-patches mailing list