At the moment there are three sets of move costs:
move_cost
may_move_in_cost
may_move_out_cost
ira_register_move_cost
ira_may_move_in_cost
ira_may_move_out_cost
ira_max_register_move_cost
ira_max_may_move_in_cost
ira_max_may_move_out_cost
Having the first two sets around together dates back to when IRA
was an optional replacement for the old allocators. The third set
is only used as a temporary while calculating the second set.
This series removes the first and third sets. It isn't supposed
to change the output in any way. Hopefully it will make things
a little more efficient, but the real motivation was to make it
easier to experiment with the costs.
Note that move_cost and ira_register_move_cost are already the same.
We make the latter an alias of the forner:
ira_register_move_cost[mode] = move_cost[mode];
then modify it in-place:
ira_register_move_cost[mode][cl1][cl2]
= ira_max_register_move_cost[mode][cl1][cl2];
thus changing both.
Bootstrapped & regression-tested on x86_64-linux-gnu and i686-linux-gnu.
Also tested by making sure that the assembly output for recent cc1 .ii
files is unchanged.
Richard