diff options
author | vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-26 00:14:30 +0000 |
---|---|---|
committer | vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-26 00:14:30 +0000 |
commit | 7f36fbdfd8c962fcc79e0ad1e80718fd24fe7fb0 (patch) | |
tree | 2741e87ab5d7829e6e4d8233ab8d254ba88a0f4b /gcc/ira-build.c | |
parent | 99ebeab133265276d413f49943b55e6ff723028f (diff) | |
download | gcc-7f36fbdfd8c962fcc79e0ad1e80718fd24fe7fb0.tar.gz |
2008-09-25 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/37448
* ira-int.h (IRA_ALLOCNO_TEMP): Rename to ALLOCNO_TEMP.
(ira_compress_allocno_live_ranges): New prototype.
* ira-color.c: Rename IRA_ALLOCNO_TEMP to ALLOCNO_TEMP.
(coalesced_allocnos_living_at_program_points): New.
(coalesced_allocnos_live_at_points_p,
set_coalesced_allocnos_live_points): New functions.
(coalesce_spill_slots): Rewrite.
* ira-lives.c (remove_some_program_points_and_update_live_ranges,
ira_compress_allocno_live_ranges): New functions.
* ira-build.c (ira_flattening): Call
ira_compress_allocno_live_ranges.
(ira_build): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140674 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira-build.c')
-rw-r--r-- | gcc/ira-build.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ira-build.c b/gcc/ira-build.c index fa0a39c192a..55a3beb71bd 100644 --- a/gcc/ira-build.c +++ b/gcc/ira-build.c @@ -2371,6 +2371,8 @@ ira_flattening (int max_regno_before_emit, int ira_max_point_before_emit) ira_swap_allocno_copy_ends_if_necessary (cp); } rebuild_regno_allocno_maps (); + if (ira_max_point != ira_max_point_before_emit) + ira_compress_allocno_live_ranges (); ira_free (regno_top_level_allocno_map); } @@ -2427,6 +2429,7 @@ ira_build (bool loops_p) ira_costs (); ira_create_allocno_live_ranges (); remove_unnecessary_regions (); + ira_compress_allocno_live_ranges (); loops_p = more_one_region_p (); if (loops_p) { |