diff options
author | Jeffrey A Law <law@cygnus.com> | 1998-03-08 12:04:17 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-03-08 05:04:17 -0700 |
commit | 5e75ef4aca22a5c6ac6e32dd46e8035793bd9607 (patch) | |
tree | 1114980e82dac2acf7a3129cfb74b37bd3ca1968 /gcc | |
parent | 9961366112f25fcf2f76e9388bf816efabb617a4 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/final.c | 7 |
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; |