[ira] patch for fixing most regressions on ppc and itanium
Vladimir Makarov
vmakarov@redhat.com
Tue Mar 18 16:03:00 GMT 2008
The following patch fixes most IRA regressions on gcc testsuite for
PPC and Itanium. There are some minor changes in coloring too.
Vlad
2008-03-18 Vladimir Makarov <vmakarov@redhat.com>
* common.opt (fira-algorithm): Fix description
* ira-int.h (allocno): Remove best_class.
(ALLOCNO_BEST_CLASS): Remove.
(strict_class_subset_p): Remove.
* ira-color.c (get_coalesced_allocnos_best_class_and_freq): Rename
to get_coalesced_allocnos_attributes. Change prototype.
Calculate available regs.
(bucket_allocno_compare_func, sort_bucket): New functions.
(sorted_allocnos_for_spilling): New variable.
(assign_hard_reg): Don't add prohibited_class_mode_regs to
conflicting_regs. Use it in loop for finding the best hard
register.
(add_allocno_to_ordered_bucket): Use bucket_allocno_compare_func.
(push_only_colorable): Call sort_bucket.
(push_allocnos_to_stack): Use sorted_allocnos_for_spilling instead
of sorted_allocnos.
(put_allocno_into_bucket): Use add_allocno_to_bucket instead of
add_allocno_to_ordered_bucket.
(initiate_ira_assign): Allocate sorted_allocnos_for_spilling.
(finish_ira_assign): Free sorted_allocnos_for_spilling.
* ira-emit.c (modify_move_list): Remove setting ALLOCNO_BEST_CLASS
up.
* ira-build.c (create_allocno, create_cap_allocno): Ditto.
* ira.c (strict_class_subset_p): Remove.
(setup_class_subset_and_memory_move_costs): Remove setting
strict_class_subset_p up.
* ira-costs.c (setup_allocno_cover_class_and_costs): Remove
setting ALLOCNO_BEST_CLASS up.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 03182008.patch
Type: text/x-patch
Size: 14444 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20080318/4c73e42f/attachment.bin>
More information about the Gcc-patches
mailing list