]> git.ipfire.org Git - thirdparty/gcc.git/commit
ira-color.c (conflict_allocno_vec): Delete.
authorRichard Sandiford <rdsandiford@googlemail.com>
Sat, 13 Sep 2008 07:31:42 +0000 (07:31 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sat, 13 Sep 2008 07:31:42 +0000 (07:31 +0000)
commitf754734f6895d7ab92d1167065e3937a5d677c4f
tree4b26e4c12ebbf13245d6bd410c5c8a9b1c44f09a
parent29d7f40905677253de1cabb707ae78d9adde8178
ira-color.c (conflict_allocno_vec): Delete.

gcc/
* ira-color.c (conflict_allocno_vec): Delete.
(update_cost_queue_elem): New structure.
(update_cost_queue): New variable.
(update_cost_queue_tail): Likewise.
(update_cost_queue_elems): Likewise.
(allocno_update_cost_check): Delete.
(initiate_cost_update): Allocate update_cost_queue_elems
instead of allocno_update_cost_check.
(finish_cost_update): Update the free()s accordingly.
(start_update_cost): New function.
(queue_update_cost): Likewise.
(get_next_update_cost): Likewise.
(update_copy_costs_1): Inline into...
(update_copy_costs): ...here.  Use a queue instead of recursive calls.
Use cover_class instead of ALLOCNO_COVER_CLASS (another_allocno),
once we've established they are equal.  Don't allocate update
costs if there is nothing to add to them.
(update_conflict_hard_regno_costs): Remove ALLOCNO and
DIVISOR arguments.  Use a queue instead of recursive calls;
process all the allocnos in the initial queue, rather than
a single allocno.
(assign_hard_reg): Use queue_update_cost instead of
conflict_allocno_vec.  Queue coalesced allocnos instead
of calling update_conflict_hard_regno_costs for each one.
Just call update_conflict_hard_regno_costs once for the
entire queue.
(ira_color): Remove conflict_allocno_vec handling.

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