]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ira-costs.c (copy_cost): Use ira_init_register_move_cost_if_necessary and ira_registe...
authorRichard Sandiford <rdsandiford@googlemail.com>
Thu, 31 May 2012 05:29:36 +0000 (05:29 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 31 May 2012 05:29:36 +0000 (05:29 +0000)
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
gcc/ira-costs.c

index e78206eebfa6c2b1db8824d042e896781dd82874..3b5849cefccd7b3b34bdb3504524523619167f7b 100644 (file)
@@ -1,3 +1,8 @@
+2012-05-31  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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  <rdsandiford@googlemail.com>
 
        * ira.h (target_ira): Delete x_ira_available_class_regs.
index 5d061942f8367c59e901486752530525eb9e037e..62c8b7042f5a03c9744c881c22791d06d7654d14 100644 (file)
@@ -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