* jump.c (jump_optimize_1): Base minimum insn count during
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 May 2000 21:43:16 +0000 (21:43 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 May 2000 21:43:16 +0000 (21:43 +0000)
        find_cross_jump on BRANCH_COST.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33998 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/jump.c

index b9a786c..ab3dc54 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 bdc1b1a..85bfb86 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)