This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Re: Fix nested functions
> Jan Hubicka wrote:
>
> > Hmm, this reminds me the i386 case - fixing one problem leads to other
> > one.
> > I guess adding the mark_jump_label after validate_change will lead to
> > later crash in shorten_branches.
>
> Yes, this is because mark_jump_label also ignores non-local labels.
> If I change this, there is an ICE due to non-matching edge counts
> somewhere, and then I've stopped debugging ...
>
> > We really need to bail out earlier and give up idea of propagating
> > nonlocal LABEL_REF into the jump I would say :(
>
> I did this for cse, but then combine attempted the same transformation,
> and after I've fixed combine, local-alloc tried the same.
>
> With these three places fixed, the jump finally stays indirect,
> and my testcases are fixed.
>
> Bootstrapped/regtested on s390-ibm-linux and s390x-ibm-linux.
> OK for mainline?
The patch is precisely what I had in the mind. Thank you for working on this!
Honza