diff options
author | Richard Henderson <rth@cygnus.com> | 2000-05-18 14:43:16 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-05-18 14:43:16 -0700 |
commit | 3fe3a08f9ab0b634f34cde5e801a79598f16e206 (patch) | |
tree | 7beed3d2a5ef5f8db6686d63792d567d070503bf /gcc | |
parent | 21835d9b748ef5ba14a7a3211396f5f6513d34ac (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/jump.c | 12 |
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 @@ -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) |