jump.c (jump_optimize_1): Base minimum insn count during find_cross_jump on BRANCH_COST.
authorRichard Henderson <rth@cygnus.com>
Thu, 18 May 2000 21:43:16 +0000 (14:43 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 18 May 2000 21:43:16 +0000 (14:43 -0700)
        * jump.c (jump_optimize_1): Base minimum insn count during
        find_cross_jump on BRANCH_COST.

From-SVN: r33998

gcc/ChangeLog
gcc/jump.c

index b9a786c5157c8b30ead1d0ac30c737ef55d89409..ab3dc549695ca3aed51772847446cd9acccacbcd 100644 (file)
@@ -1,3 +1,8 @@
+2000-05-18  Richard Henderson  <rth@cygnus.com>
+
+       * jump.c (jump_optimize_1): Base minimum insn count during
+       find_cross_jump on BRANCH_COST.
+
 2000-05-18  Jakub Jelinek  <jakub@redhat.com>
 
        * print-rtl.c (print_rtx): Only print note line number as string
index bdc1b1aeaf4cf88633720b38e62308d175c4e286..85bfb86a500a46f3fba59de050feb9982550bd4c 100644 (file)
@@ -612,7 +612,8 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan,
                  /* TARGET is nonzero if it is ok to cross jump
                     to code before TARGET.  If so, see if matches.  */
                  if (x != 0)
-                   find_cross_jump (insn, x, 2,
+                   find_cross_jump (insn, x,
+                                    (optimize_size ? 1 : BRANCH_COST) + 1,
                                     &newjpos, &newlpos);
 
                  if (newjpos != 0)
@@ -649,7 +650,8 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan,
 
                  /* TARGET is nonzero if it is ok to cross jump
                     to code before TARGET.  If so, see if matches.  */
-                 find_cross_jump (insn, JUMP_LABEL (insn), 1,
+                 find_cross_jump (insn, JUMP_LABEL (insn),
+                                  optimize_size ? 1 : BRANCH_COST,
                                   &newjpos, &newlpos);
 
                  /* If cannot cross jump to code before the label,
@@ -664,7 +666,8 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan,
                          && JUMP_LABEL (target) == JUMP_LABEL (insn)
                          /* Ignore TARGET if it's deleted.  */
                          && ! INSN_DELETED_P (target))
-                       find_cross_jump (insn, target, 2,
+                       find_cross_jump (insn, target,
+                                        (optimize_size ? 1 : BRANCH_COST) + 1,
                                         &newjpos, &newlpos);
 
                  if (newjpos != 0)
@@ -695,7 +698,8 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan,
                    if (target != insn
                        && ! INSN_DELETED_P (target)
                        && GET_CODE (PATTERN (target)) == RETURN)
-                     find_cross_jump (insn, target, 2,
+                     find_cross_jump (insn, target,
+                                      (optimize_size ? 1 : BRANCH_COST) + 1,
                                       &newjpos, &newlpos);
 
                  if (newjpos != 0)