aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1997-09-07 16:10:34 -0600
committerJeff Law <law@gcc.gnu.org>1997-09-07 16:10:34 -0600
commitdb7cafb0ad510fe38d0e2ad0ccc5149acaaad65c (patch)
tree25672ec82aee28c93d020853108c2a4fb25566e1 /gcc/final.c
parenta051ad3aea8f7e346d9ff7a0c921686ed9ae5c33 (diff)
downloadgcc-db7cafb0ad510fe38d0e2ad0ccc5149acaaad65c.zip
gcc-db7cafb0ad510fe38d0e2ad0ccc5149acaaad65c.tar.gz
gcc-db7cafb0ad510fe38d0e2ad0ccc5149acaaad65c.tar.bz2
version.c: Bump for snapshot.
* version.c: Bump for snapshot. * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR when op1_is_pow2. * final.c (shorten_branches): During first pass, assume worst possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns. * Makefile.in (distclean): Remove various things left around by running the testsuite. From-SVN: r15136
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/final.c b/gcc/final.c
index 122a733..a7fe94d 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -748,9 +748,11 @@ shorten_branches (first)
insn_lengths[uid] = (XVECLEN (body, GET_CODE (body) == ADDR_DIFF_VEC)
* GET_MODE_SIZE (GET_MODE (body)));
- /* Account for possible alignment. */
- insn_lengths[uid]
- += unitsize - (insn_current_address & (unitsize - 1));
+ /* We don't know what address the ADDR_VEC/ADDR_DIFF_VEC will end
+ up at after branch shortening. As a result, it is impossible
+ to determine how much padding we need at this point. Therefore,
+ assume worst possible alignment. */
+ insn_lengths[uid] += unitsize - 1;
#else
;
#endif