-fuse-caller-save - Use collected register usage information
commit754158d9189fd020e9cde6a16c55d0340035f503
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 May 2014 09:43:21 +0000 (28 09:43 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 May 2014 09:43:21 +0000 (28 09:43 +0000)
tree3fd6226eae59256645e73f80df2f379d2a822117
parent9ac9a75871aa0616c341048f1d5fd9ff9567c5c6
-fuse-caller-save - Use collected register usage information

2014-05-28  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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211007 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/caller-save.c
gcc/df-scan.c
gcc/final.c
gcc/ira-build.c
gcc/ira-costs.c
gcc/ira-int.h
gcc/ira-lives.c
gcc/resource.c