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  <robrado...@mips.com>
             Tom de Vries  <t...@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.


Reply via email to