[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