From bac1c6a4f9c836cb7fe0a8b3faad9bcafbf0d6ba Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Thu, 31 May 2012 05:29:36 +0000 Subject: [PATCH] ira-costs.c (copy_cost): Use ira_init_register_move_cost_if_necessary and ira_register_move_cost instead... gcc/ * ira-costs.c (copy_cost): Use ira_init_register_move_cost_if_necessary and ira_register_move_cost instead of init_move_cost and move_cost. From-SVN: r188042 --- gcc/ChangeLog | 5 +++++ gcc/ira-costs.c | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e78206eebfa6..3b5849cefccd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-05-31 Richard Sandiford + + * ira-costs.c (copy_cost): Use ira_init_register_move_cost_if_necessary + and ira_register_move_cost instead of init_move_cost and move_cost. + 2012-05-31 Richard Sandiford * ira.h (target_ira): Delete x_ira_available_class_regs. diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c index 5d061942f836..62c8b7042f5a 100644 --- a/gcc/ira-costs.c +++ b/gcc/ira-costs.c @@ -359,9 +359,8 @@ copy_cost (rtx x, enum machine_mode mode, reg_class_t rclass, bool to_p, if (secondary_class != NO_REGS) { - if (!move_cost[mode]) - init_move_cost (mode); - return (move_cost[mode][(int) secondary_class][(int) rclass] + ira_init_register_move_cost_if_necessary (mode); + return (ira_register_move_cost[mode][(int) secondary_class][(int) rclass] + sri.extra_cost + copy_cost (x, mode, secondary_class, to_p, &sri)); } @@ -374,10 +373,11 @@ copy_cost (rtx x, enum machine_mode mode, reg_class_t rclass, bool to_p, + ira_memory_move_cost[mode][(int) rclass][to_p != 0]; else if (REG_P (x)) { - if (!move_cost[mode]) - init_move_cost (mode); + reg_class_t x_class = REGNO_REG_CLASS (REGNO (x)); + + ira_init_register_move_cost_if_necessary (mode); return (sri.extra_cost - + move_cost[mode][REGNO_REG_CLASS (REGNO (x))][(int) rclass]); + + ira_register_move_cost[mode][(int) x_class][(int) rclass]); } else /* If this is a constant, we may eventually want to call rtx_cost -- 2.47.2