diff options
author | Richard Stallman <rms@gnu.org> | 1993-05-31 03:59:30 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-05-31 03:59:30 +0000 |
commit | 8fa20c263075d2eb730bea3d0670e9320a12e01f (patch) | |
tree | 87509b71fe06ff5255694dfa4ff559d8e80b9d5a /gcc/final.c | |
parent | 47f113fe9512ea859fcfad68b56cdbc87149291e (diff) | |
download | gcc-8fa20c263075d2eb730bea3d0670e9320a12e01f.zip gcc-8fa20c263075d2eb730bea3d0670e9320a12e01f.tar.gz gcc-8fa20c263075d2eb730bea3d0670e9320a12e01f.tar.bz2 |
(shorten_branches): Conditionalize last change
on SHORTEN_WITH_ADJUST_INSN_LENGTH.
(shorten_branches): Call ADJUST_INSN_LENGTH during the shortening phase.
From-SVN: r4600
Diffstat (limited to 'gcc/final.c')
-rw-r--r-- | gcc/final.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/final.c b/gcc/final.c index 5834010..67a30fa 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -587,6 +587,7 @@ shorten_branches (first) insn = NEXT_INSN (insn)) { int new_length; + int tmp_length; uid = INSN_UID (insn); insn_addresses[uid] = insn_current_address; @@ -630,6 +631,16 @@ shorten_branches (first) new_length = insn_current_length (insn); insn_current_address += new_length; } + +#ifdef SHORTEN_WITH_ADJUST_INSN_LENGTH +#ifdef ADJUST_INSN_LENGTH + /* If needed, do any adjustment. */ + tmp_length = new_length; + ADJUST_INSN_LENGTH (insn, new_length); + insn_current_address += (new_length - tmp_length); +#endif +#endif + if (new_length != insn_lengths[uid]) { insn_lengths[uid] = new_length; |