aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-03-08 12:04:17 +0000
committerJeff Law <law@gcc.gnu.org>1998-03-08 05:04:17 -0700
commit5e75ef4aca22a5c6ac6e32dd46e8035793bd9607 (patch)
tree1114980e82dac2acf7a3129cfb74b37bd3ca1968 /gcc
parent9961366112f25fcf2f76e9388bf816efabb617a4 (diff)
downloadgcc-5e75ef4aca22a5c6ac6e32dd46e8035793bd9607.zip
gcc-5e75ef4aca22a5c6ac6e32dd46e8035793bd9607.tar.gz
gcc-5e75ef4aca22a5c6ac6e32dd46e8035793bd9607.tar.bz2
final.c (shorten_branches): Fix minor logic error in ADDR_DIFF_VEC shortening support.
* final.c (shorten_branches): Fix minor logic error in ADDR_DIFF_VEC shortening support. From-SVN: r18443
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/final.c7
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6b95725..87b27d8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
+
+ * final.c (shorten_branches): Fix minor logic error in
+ ADDR_DIFF_VEC shortening support.
+
Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
* version.c: Bump for snapshot.
diff --git a/gcc/final.c b/gcc/final.c
index 99d20d1..d00a05e 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1296,10 +1296,10 @@ shorten_branches (first)
insn_last_address = insn_addresses[uid];
insn_addresses[uid] = insn_current_address;
+#ifdef CASE_VECTOR_SHORTEN_MODE
if (optimize && GET_CODE (insn) == JUMP_INSN
&& GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC)
{
-#ifdef CASE_VECTOR_SHORTEN_MODE
rtx body = PATTERN (insn);
int old_length = insn_lengths[uid];
rtx rel_lab = XEXP (XEXP (body, 0), 0);
@@ -1397,9 +1397,10 @@ shorten_branches (first)
something_changed = 1;
#endif
continue;
-#endif /* CASE_VECTOR_SHORTEN_MODE */
}
- else if (! (varying_length[uid]))
+#endif /* CASE_VECTOR_SHORTEN_MODE */
+
+ if (! (varying_length[uid]))
{
insn_current_address += insn_lengths[uid];
continue;