[PATCH] Re: Fix nested functions

Jan Hubicka jh@suse.cz
Tue Sep 28 23:22:00 GMT 2004


> 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



More information about the Gcc-patches mailing list