combine.c (combine_validate_cost): Adjust comments.
authorEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 8 Apr 2011 22:31:22 +0000 (22:31 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 8 Apr 2011 22:31:22 +0000 (22:31 +0000)
* combine.c (combine_validate_cost): Adjust comments.  Set registered
cost of I0 to zero at the end, if any.

From-SVN: r172216

gcc/ChangeLog
gcc/combine.c

index 6d7b907317690e82b50752fc9d23f015ac7abb32..0ed308626dd7c81e43864e54889e14fdc2222f0a 100644 (file)
@@ -1,7 +1,12 @@
+2011-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * combine.c (combine_validate_cost): Adjust comments.  Set registered
+       cost of I0 to zero at the end, if any.
+
 2011-04-08  Xinliang David Li  <davidxl@google.com>
 
-       * ipa-cp.c (ipcp_update_profiling): Correct
-        negative scale factor due to insane profile data.
+       * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
+       to insane profile data.
 
 2011-04-08  Xinliang David Li  <davidxl@google.com>
 
@@ -11,9 +16,9 @@
 
 2011-04-08  Steven G. Kargl  <kargl@gcc.gnu.org>
 
-       PR 47829
-       gcc/config.gcc: disable unwind table generation for crtbegin/crtend
-       on i386-*-freebsd.
+       PR target/47829
+       * config.gcc (i386-*-freebsd): Disable unwind table generation for
+       crtbegin/crtend.
 
 2011-04-08  Michael Matz  <matz@suse.de>
 
@@ -53,7 +58,7 @@
 
 2011-04-08  Vladimir Makarov  <vmakarov@redhat.com>
 
-       PR 48435
+       PR inline-asm/48435
        * ira-color.c (setup_profitable_hard_regs): Add comments.
        Don't take prohibited hard regs into account.
        (setup_conflict_profitable_regs): Rename to
index 8771acf7e9b216204d25ec57681ffc83cfa70b99..32a3d738653602d979d6ddda48533dd07f8acda2 100644 (file)
@@ -789,14 +789,13 @@ do_SUBST_MODE (rtx *into, enum machine_mode newval)
 
 #define SUBST_MODE(INTO, NEWVAL)  do_SUBST_MODE(&(INTO), (NEWVAL))
 \f
-/* Subroutine of try_combine.  Determine whether the combine replacement
-   patterns NEWPAT, NEWI2PAT and NEWOTHERPAT are cheaper according to
-   insn_rtx_cost that the original instruction sequence I0, I1, I2, I3 and
-   undobuf.other_insn.  Note that I1 and/or NEWI2PAT may be NULL_RTX.
-   NEWOTHERPAT and undobuf.other_insn may also both be NULL_RTX.  This
-   function returns false, if the costs of all instructions can be
-   estimated, and the replacements are more expensive than the original
-   sequence.  */
+/* Subroutine of try_combine.  Determine whether the replacement patterns
+   NEWPAT, NEWI2PAT and NEWOTHERPAT are cheaper according to insn_rtx_cost
+   than the original sequence I0, I1, I2, I3 and undobuf.other_insn.  Note
+   that I0, I1 and/or NEWI2PAT may be NULL_RTX.  Similarly, NEWOTHERPAT and
+   undobuf.other_insn may also both be NULL_RTX.  Return false if the cost
+   of all the instructions can be estimated and the replacements are more
+   expensive than the original sequence.  */
 
 static bool
 combine_validate_cost (rtx i0, rtx i1, rtx i2, rtx i3, rtx newpat,
@@ -861,10 +860,9 @@ combine_validate_cost (rtx i0, rtx i1, rtx i2, rtx i3, rtx newpat,
        old_cost = 0;
     }
 
-  /* Disallow this recombination if both new_cost and old_cost are
-     greater than zero, and new_cost is greater than old cost.  */
-  if (old_cost > 0
-      && new_cost > old_cost)
+  /* Disallow this combination if both new_cost and old_cost are greater than
+     zero, and new_cost is greater than old cost.  */
+  if (old_cost > 0 && new_cost > old_cost)
     {
       if (dump_file)
        {
@@ -910,7 +908,11 @@ combine_validate_cost (rtx i0, rtx i1, rtx i2, rtx i3, rtx newpat,
   INSN_COST (i2) = new_i2_cost;
   INSN_COST (i3) = new_i3_cost;
   if (i1)
-    INSN_COST (i1) = 0;
+    {
+      INSN_COST (i1) = 0;
+      if (i0)
+       INSN_COST (i0) = 0;
+    }
 
   return true;
 }