Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/gnu/dist/gcc Fix for a misoptimization, from the egcs/gcc ma...
details: https://anonhg.NetBSD.org/src/rev/f2c7851c8ae1
branches: trunk
changeset: 476034:f2c7851c8ae1
user: drochner <drochner%NetBSD.org@localhost>
date: Sat Sep 04 11:18:40 1999 +0000
description:
Fix for a misoptimization, from the egcs/gcc mailing list
(http://egcs.cygnus.com/ml/gcc/1999-08/msg00760.html).
Log message:
* combine.c (get_last_value): Don't look for earlier sets if the last
known set is somewhere in between the insns being combined.
diffstat:
gnu/dist/gcc/combine.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diffs (15 lines):
diff -r 181d0540a9bc -r f2c7851c8ae1 gnu/dist/gcc/combine.c
--- a/gnu/dist/gcc/combine.c Sat Sep 04 09:41:15 1999 +0000
+++ b/gnu/dist/gcc/combine.c Sat Sep 04 11:18:40 1999 +0000
@@ -10824,6 +10824,11 @@
{
rtx insn, set;
+ /* We can't do anything if the value is set in between the insns we are
+ processing. */
+ if (INSN_CUID (reg_last_set[regno]) <= INSN_CUID (subst_insn))
+ return 0;
+
/* We can not do anything useful in this case, because there is
an instruction which is not on the insn chain. */
if (subst_prev_insn)
Home |
Main Index |
Thread Index |
Old Index