This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][SH] Fix ICE in find_dead_or_set_registers
- From: Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
- To: christian dot bruel at st dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 19 Jul 2012 19:35:12 +0900 (JST)
- Subject: Re: [PATCH][SH] Fix ICE in find_dead_or_set_registers
- References: <5007C796.4020900@st.com>
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