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