[PATCH][07/10] -fuse-caller-save - Use collected register usage information
Tom de Vries
Tom_deVries@mentor.com
Fri Dec 6 00:56:00 GMT 2013
On 30-03-13 18:11, Tom de Vries wrote:
> Paolo,
>
> This patch series adds analysis of register usage of functions for usage by IRA.
> The original post is here
> ( http://gcc.gnu.org/ml/gcc-patches/2013-01/msg01234.html ).
>
> This patch uses the information of which registers are clobbered by a call
> in IRA and df-scan.
>
> Bootstrapped and reg-tested on x86_64, Ada inclusive. Build and reg-tested on
> mips, arm, ppc and sh.
>
> Can you approve the df-scan part for trunk?
>
Paolo,
Ping. df-scan part OK for stage1?
Thanks,
- Tom
> Thanks,
> -Tom
>
> 2013-03-30 Radovan Obradovic <robradovic@mips.com>
> Tom de Vries <tom@codesourcery.com>
>
> * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
> * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
> get_call_reg_set_usage.
> * resource.c (mark_set_resources, mark_target_live_regs): Use
> get_call_reg_set_usage.
> * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
> field.
> (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
> * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
> Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
> * ira-build.c (ira_create_allocno): Init
> ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
> (create_cap_allocno, propagate_allocno_info)
> (propagate_some_info_from_allocno)
> (copy_info_to_removed_store_destinations): Handle
> ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
> * ira-costs.c (ira_tune_allocno_costs): Use
> ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
>
More information about the Gcc-patches
mailing list