aboutsummaryrefslogtreecommitdiff
path: root/gcc/ira.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2008-10-27 16:39:26 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2008-10-27 16:39:26 +0000
commitcb1ca6ac11d48dc88a44579ed631c3d9d8a3402c (patch)
tree2e5a85daedf6bfc58bc769f2372dc729b240724f /gcc/ira.c
parentc0683a829001ee2630451cbdbb138fd89cfe0e5f (diff)
downloadgcc-cb1ca6ac11d48dc88a44579ed631c3d9d8a3402c.zip
gcc-cb1ca6ac11d48dc88a44579ed631c3d9d8a3402c.tar.gz
gcc-cb1ca6ac11d48dc88a44579ed631c3d9d8a3402c.tar.bz2
ira-int.h (ira_allocno): Add member updated_cover_class_cost.
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. From-SVN: r141385
Diffstat (limited to 'gcc/ira.c')
-rw-r--r--gcc/ira.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/ira.c b/gcc/ira.c
index 30ef8c8..d0232f7 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -1792,10 +1792,7 @@ ira (FILE *f)
loops_p = ira_build (optimize
&& (flag_ira_algorithm == IRA_ALGORITHM_REGIONAL
|| flag_ira_algorithm == IRA_ALGORITHM_MIXED));
- if (optimize)
- ira_color ();
- else
- ira_fast_allocation ();
+ ira_color ();
ira_max_point_before_emit = ira_max_point;