re PR rtl-optimization/59036 (Performance degradation after r204212 on 32-bit x86...
authorVladimir Makarov <vmakarov@redhat.com>
Wed, 13 Nov 2013 18:00:43 +0000 (18:00 +0000)
committerVladimir Makarov <vmakarov@gcc.gnu.org>
Wed, 13 Nov 2013 18:00:43 +0000 (18:00 +0000)
commitbf08fb1644d49b10c81c0598f0581de9e974b2cc
tree5d18f2a3c9796fbeb8c83ed9dd457074959b505a
parenta9335ba2445a4c0a10ed9288b8c712c46a2c8da4
re PR rtl-optimization/59036 (Performance degradation after r204212 on 32-bit x86 targets.)

2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59036
* ira-color.c (struct allocno_color_data): Add new members
first_thread_allocno, next_thread_allocno, thread_freq.
(sorted_copies): New static var.
(allocnos_conflict_by_live_ranges_p, copy_freq_compare_func): Move
up.
(allocno_thread_conflict_p, merge_threads)
(form_threads_from_copies, form_threads_from_bucket)
(form_threads_from_colorable_allocno, init_allocno_threads): New
functions.
(bucket_allocno_compare_func): Add comparison by thread frequency
and threads.
(add_allocno_to_ordered_bucket): Rename to
add_allocno_to_ordered_colorable_bucket.  Remove parameter.
        (push_only_colorable): Call form_threads_from_bucket.
(color_pass): Call init_allocno_threads.  Use
consideration_allocno_bitmap instead of coloring_allocno_bitmap
for nuillify allocno color data.
(ira_initiate_assign, ira_finish_assign): Allocate/free
sorted_copies.
(coalesce_allocnos): Use static sorted copies.

From-SVN: r204752
gcc/ChangeLog
gcc/ira-color.c