Changing cost propagation and ordering colorable bucket heuristics for PR93564.
authorVladimir N. Makarov <vmakarov@redhat.com>
Sun, 23 Feb 2020 21:20:05 +0000 (16:20 -0500)
committerVladimir N. Makarov <vmakarov@redhat.com>
Sun, 23 Feb 2020 21:20:05 +0000 (16:20 -0500)
commit3133bed5d0327e8a9cd0a601b7ecdb9de4fc825d
treeb0434eceda0c0dfab4c07700ce68ae7e6f4ba19a
parent92e8508edaccca6f33098972ce29679375c07cd6
Changing cost propagation and ordering colorable bucket heuristics for PR93564.

2020-02-23  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/93564
* ira-color.c (struct update_cost_queue_elem): New member start.
(queue_update_cost, get_next_update_cost): Add new arg start.
(allocnos_conflict_p): New function.
(update_costs_from_allocno): Add new arg conflict_cost_update_p.
Add checking conflicts with allocnos_conflict_p.
(update_costs_from_prefs, restore_costs_from_copies): Adjust
update_costs_from_allocno calls.
(update_conflict_hard_regno_costs): Add checking conflicts with
allocnos_conflict_p.  Adjust calls of queue_update_cost and
get_next_update_cost.
(assign_hard_reg): Adjust calls of queue_update_cost.  Add
debugging print.
(bucket_allocno_compare_func): Restore previous version.
gcc/ChangeLog
gcc/ira-color.c