aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-05-18 14:43:16 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-18 14:43:16 -0700
commit3fe3a08f9ab0b634f34cde5e801a79598f16e206 (patch)
tree7beed3d2a5ef5f8db6686d63792d567d070503bf /gcc
parent21835d9b748ef5ba14a7a3211396f5f6513d34ac (diff)
downloadgcc-3fe3a08f9ab0b634f34cde5e801a79598f16e206.zip
gcc-3fe3a08f9ab0b634f34cde5e801a79598f16e206.tar.gz
gcc-3fe3a08f9ab0b634f34cde5e801a79598f16e206.tar.bz2
jump.c (jump_optimize_1): Base minimum insn count during find_cross_jump on BRANCH_COST.
* jump.c (jump_optimize_1): Base minimum insn count during find_cross_jump on BRANCH_COST. From-SVN: r33998
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/jump.c12
2 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b9a786c..ab3dc54 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/jump.c b/gcc/jump.c
index bdc1b1a..85bfb86 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -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)