diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2009-04-16 15:15:48 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2009-04-16 15:15:48 +0000 |
commit | 6080348f0a75caa10df4208617d9247d56e85329 (patch) | |
tree | cb80a649f68346c26aa9c7e3333e0ca57fbc0396 /gcc/ira-emit.c | |
parent | 646bea10e5f7be362618a8cdcf91d87ea9771fd1 (diff) | |
download | gcc-6080348f0a75caa10df4208617d9247d56e85329.zip gcc-6080348f0a75caa10df4208617d9247d56e85329.tar.gz gcc-6080348f0a75caa10df4208617d9247d56e85329.tar.bz2 |
re PR rtl-optimization/39762 (IRA ICE with -msoft-float)
2009-04-16 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/39762
* ira-int.h (ira_register_move_cost, ira_may_move_in_cost,
ira_may_move_out_cost): Add comments about way of their usage.
(ira_get_register_move_cost, ira_get_may_move_cost): New
functions.
* ira-conflicts.c (process_regs_for_copy): Use function
ira_get_register_move_cost instead of global
ira_register_move_cost.
* ira-color.c (update_copy_costs, calculate_allocno_spill_cost,
color_pass, move_spill_restore, update_curr_costs): Ditto.
* ira-lives.c (process_single_reg_class_operands): Ditto.
* ira-emit.c (emit_move_list): Ditto.
* ira-costs.c (copy_cost): Don't call ira_init_register_move_cost.
(record_reg_classes): Ditto. Use functions
ira_get_register_move_cost and ira_get_may_move_cost instead of
global vars ira_register_move_cost, ira_may_move_out_cost and
ira_may_move_in_cost.
(record_address_regs): Don't call ira_init_register_move_cost.
Use function ira_get_may_move_cost instead of global
ira_may_move_in_cost.
(process_bb_node_for_hard_reg_moves): Use function
ira_get_register_move_cost instead of global
ira_register_move_cost.
(ira_costs): Don't call ira_init_register_move_cost.
From-SVN: r146198
Diffstat (limited to 'gcc/ira-emit.c')
-rw-r--r-- | gcc/ira-emit.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ira-emit.c b/gcc/ira-emit.c index df10ea4..1d4d8ea 100644 --- a/gcc/ira-emit.c +++ b/gcc/ira-emit.c @@ -812,7 +812,8 @@ emit_move_list (move_t list, int freq) } else { - cost = ira_register_move_cost[mode][cover_class][cover_class] * freq; + cost = (ira_get_register_move_cost (mode, cover_class, cover_class) + * freq); ira_shuffle_cost += cost; } ira_overall_cost += cost; |