This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: non-local goto optimization
- From: Mark Mitchell <mark at codesourcery dot com>
- To: Roman Zippel <zippel at linux-m68k dot org>
- Cc: Eric Botcazou <ebotcazou at libertysurf dot fr>, gcc-patches at gcc dot gnu dot org, Nathan Sidwell <nathan at codesourcery dot com>, rth at redhat dot com, hpenner at de dot ibm dot com, uweigand at de dot ibm dot com, law at redhat dot com, schwab at suse dot de, aoliva at redhat dot com, kkojima at gcc dot gnu dot org, nickc at redhat dot com, richard dot earnshaw at arm dot com, paul at codesourcery dot com, hp at bitrange dot com
- Date: Thu, 30 Aug 2007 20:11:15 -0700
- Subject: Re: non-local goto optimization
- References: <462C6A54.7080502@codesourcery.com> <200707060018.51886.ebotcazou@libertysurf.fr> <Pine.LNX.4.64.0707061245360.1817@scrub.home> <200707061550.36887.ebotcazou@libertysurf.fr> <Pine.LNX.4.64.0708301646340.1820@scrub.home>
Roman Zippel wrote:
> Hi,
>
> On Fri, 6 Jul 2007, Eric Botcazou wrote:
>
>>> 200x-xx-xx Roman Zippel <zippel@linux-m68k.org>
>>>
>>> * function.h (struct function): Rename calls_unwind_init
>>> to saves_all_register.
>>> (current_function_saves_all_register): Renamed from
>>> current_function_calls_unwind_init.
>>> * reload1.c (reload): Set current_function_saves_all_register.
>>> * except.c (expand_builtin_unwind_init): Likewise.
>> This is OK *only* if you add the missing 's' to saves_all_register. :-)
>>
>>> * config/i386/i386.c (ix86_save_reg): Use
>>> current_function_saves_all_register to save pic register.
>>> * config/m68k/m68k.c (m68k_save_reg): Likewise.
>> I cannot approve this.
>>
>>
>> Architecture maintainers CCed, your back-end tests the flag
>
> Ping?
> Full patch at http://gcc.gnu.org/ml/gcc-patches/2007-07/msg00560.html
I'd like the x86 maintainers to approve the x86 change.
The 68K change should remove the now-redundant comment:
/* A function that receives a nonlocal goto must save all call-saved
registers. */
- if (current_function_has_nonlocal_label)
+ if (current_function_saves_all_register)
The comment isn't needed any more, since the test now makes obvious that
we must be saving all call-saved registers.
--
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713