This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Anyone knows about a testcase which was fixed by Wed Dec 24 18:05:13 1997 SPARC change?
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: Anyone knows about a testcase which was fixed by Wed Dec 24 18:05:13 1997 SPARC change?
- From: Jakub Jelinek <jakub at redhat dot com>
- Date: Fri, 6 Oct 2000 04:03:02 -0400
- Cc: gcc at gcc dot gnu dot org
- References: <20001005171219.Y30053@devserv.devel.redhat.com> <200010052217.PAA03610@pizda.ninka.net> <20001006020617.B30053@devserv.devel.redhat.com> <20001005235306.A6902@cygnus.com>
- Reply-To: Jakub Jelinek <jakub at redhat dot com>
On Thu, Oct 05, 2000 at 11:53:06PM -0700, Richard Henderson wrote:
> On Fri, Oct 06, 2000 at 02:06:18AM -0400, Jakub Jelinek wrote:
> > I cannot think of any, nor can DaveM. If noone comes with
> > explanation why %l7 might get clobbered, I'll submit a patch
> > to remove this shortly.
>
> How about -mflat? That's about all I can think of.
I don't think -mflat should make any problems either,
gcc info sais on nonlocal_goto_receiver:
This pattern, if defined, contains code needed at the target of a
nonlocal goto after the code already generated by GNU CC. You
will not normally need to define this pattern. A typical reason
why you might need this pattern is if some value, such as a
pointer to a global table, must be restored when the frame pointer
is restored. Note that a nonlocal goto only occurs within a
unit-of-translation, so a global table pointer that is shared by
all functions of a given module need not be restored. There are
no arguments.
so all functions which it might get through should be within one translation
unit, so everything is -fpic/-fPIC meaning that %l7 will either remain
untouched or will be reloaded to the same value. Otherwise it would not work
on i386 and other platforms either.
It just means that folks like jh will have to be careful when trying to
implement -fpic optimizations to unfix the pic register for functions which
don't need it (at least Jan told me he wants to implement something like
that on i386 to use %ebx).
I've looked at -mflat -fpic output and I really think nonlocal_goto_receiver
can be killed...
Jakub