OSDN Git Service

2008-10-27 Vladimir Makarov <vmakarov@redhat.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 27 Oct 2008 16:39:26 +0000 (16:39 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 27 Oct 2008 16:39:26 +0000 (16:39 +0000)
commitdf07a54c3de6c774315ca98463160df1dac5ce60
tree2e5a85daedf6bfc58bc769f2372dc729b240724f
parent1e204c7444fe8a80a1183349ccf75766c144d626
2008-10-27  Vladimir Makarov  <vmakarov@redhat.com>

* ira-int.h (ira_allocno): Add member updated_cover_class_cost.
(ALLOCNO_UPDATED_COVER_CLASS_COST): New.
(ira_fast_allocation): Remove the prototype.

* ira-color.c (update_copy_costs, allocno_cost_compare_func,
assign_hard_reg, calculate_allocno_spill_cost): Use updated costs.
(color_pass): Modify the updated costs.
(ira_color): Rename to color.  Make it static.
(ira_fast_allocation): Rename to fast_allocation.  Make it static.
(ira_color): New function.

* ira-conflicts.c (process_regs_for_copy): Propagate hard reg cost
change.

* ira-lives.c (last_call_num, allocno_saved_at_call): New
variables.
(set_allocno_live, clear_allocno_live, mark_ref_live,
mark_ref_dead): Invalidate corresponding element of
allocno_saved_at_call.
(process_bb_node_lives): Increment last_call_num.  Setup
allocno_saved_at_call.  Don't increase ALLOCNO_CALL_FREQ if the
allocno was already saved.
(ira_create_allocno_live_ranges): Initiate last_call_num and
allocno_saved_at_call.

* ira-build.c (ira_create_allocno): Initiate
ALLOCNO_UPDATED_COVER_CLASS_COST.
(create_cap_allocno, propagate_allocno_info,
remove_unnecessary_allocnos): Remove setting updated costs.
(ira_flattening): Set up ALLOCNO_UPDATED_COVER_CLASS_COST.

* ira.c (ira):  Don't call ira_fast_allocation.

* ira-costs.c (setup_allocno_cover_class_and_costs): Don't set up
updated costs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141385 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ira-build.c
gcc/ira-color.c
gcc/ira-conflicts.c
gcc/ira-costs.c
gcc/ira-int.h
gcc/ira-lives.c
gcc/ira.c