Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/gnu/dist/toolchain/gcc Applied a strength-reduction patch fr...



details:   https://anonhg.NetBSD.org/src/rev/a8146a3f88b3
branches:  trunk
changeset: 518848:a8146a3f88b3
user:      fredette <fredette%NetBSD.org@localhost>
date:      Thu Dec 06 18:50:34 2001 +0000

description:
Applied a strength-reduction patch from gcc-current.  The patch
is in their revision 1.186, from schwab%suse.de@localhost, and said:

  Don't call reg_used_between_p if the insn from BL2 is after
  the insn from BL.

This fixes a cc1 SEGV on sys/dev/scsipi/ch.c rev 1.48 under -O2 or -Os,
seen on m68k and vax.

diffstat:

 gnu/dist/toolchain/gcc/loop.c |  10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diffs (20 lines):

diff -r 6e1bd3912cc0 -r a8146a3f88b3 gnu/dist/toolchain/gcc/loop.c
--- a/gnu/dist/toolchain/gcc/loop.c     Thu Dec 06 17:00:26 2001 +0000
+++ b/gnu/dist/toolchain/gcc/loop.c     Thu Dec 06 18:50:34 2001 +0000
@@ -4103,11 +4103,11 @@
                 in-between when biv_toal_increment returns nonzero both times
                 but we test it here in case some day some real cfg analysis
                 gets used to set always_computable.  */
-             && ((loop_insn_first_p (bl2->biv->insn, bl->biv->insn)
-                  && no_labels_between_p (bl2->biv->insn, bl->biv->insn))
-                 || (! reg_used_between_p (bl->biv->src_reg, bl->biv->insn,
-                                           bl2->biv->insn)
-                     && no_jumps_between_p (bl->biv->insn, bl2->biv->insn)))
+             && (loop_insn_first_p (bl2->biv->insn, bl->biv->insn)
+                 ? no_labels_between_p (bl2->biv->insn, bl->biv->insn)
+                 : (! reg_used_between_p (bl->biv->src_reg, bl->biv->insn,
+                                          bl2->biv->insn)
+                    && no_jumps_between_p (bl->biv->insn, bl2->biv->insn)))
              && validate_change (bl->biv->insn,
                                  &SET_SRC (single_set (bl->biv->insn)),
                                  copy_rtx (src), 0))



Home | Main Index | Thread Index | Old Index