This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Local spill patches, caller-save part
- To: Bernd Schmidt <crux at pool dot informatik dot rwth-aachen dot de>
- Subject: Re: Local spill patches, caller-save part
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Wed, 07 Oct 1998 01:13:47 -0600
- cc: egcs-patches at cygnus dot com
- Reply-To: law at cygnus dot com
In message <Pine.GSO.4.02A.9810061751440.9758-100000@quincy.informatik.rwth-a
achen.de>you write:
> This patch is not very well tested yet. Its equivalent in my larger patch
> (reload-v5) has had complete c-torture runs on i586-linux and
> sparc-sun-solaris2.6; this one has only a partial test on the latter target > .
>
>
> Bernd
>
> * caller-save.c (restore_referenced_regs): Lose mode argument.
> (insert_save): Lose mode argument.
> (insert_restore): Lose mode argument.
> (insert_one_insn): Lose mode argument.
> (save_call_clobbered_regs): Lose mode argument.
> (setup_save_areas): Take no argument and return void. All callers
> changed.
> Don't verify validity of memory addresses.
> * reload.h (setup_save_ares): Adjust prototype.
> (save_call_clobbered_regs): Likewise.
> * reload1.c (delete_caller_save_insns): New function.
> (caller_save_spill_class): Delete variable.
> (caller_save_group_size): Delete variable.
> (reload): Call setup_save_areas and save_call_clobbered_regs
> in the main loop, before calling calculate_needs_all_insns.
> Don't call save_call_clobbered_regs after the loop.
> Call delete_caller_save_insns at the end of an iteration if
> something changed.
> Delete code to manage caller_save_spill_class.
> Emit the final note before setting reload_first_uid.
> Simplify test that determines whether reload_as_needed gets run.
> (calculate_needs): Delete code to manage caller_save_spill_class.
Looks good to me. I bootstrapped and tested on my i586-linux box, which
probably does more caller-saving than sparc based systems :-)
Thanks!
jeff