This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: non-local goto optimization


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]