aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-02-15 22:09:07 +0000
committerJeff Law <law@gcc.gnu.org>1999-02-15 15:09:07 -0700
commit0c63f729edf63919459d05a4bdf65b6b30cf0b0f (patch)
treeeaeeb367c325a65b8e749cfaa89c244590ddf1c3 /gcc
parent25d7717e55e4253c11ecc68857b80e0412372c22 (diff)
downloadgcc-0c63f729edf63919459d05a4bdf65b6b30cf0b0f.zip
gcc-0c63f729edf63919459d05a4bdf65b6b30cf0b0f.tar.gz
gcc-0c63f729edf63919459d05a4bdf65b6b30cf0b0f.tar.bz2
jump.c: Include insn-attr.h.
* jump.c: Include insn-attr.h. (delete_computation): If reload has completed and insn scheduling after reload is enabled, then do not depend on REG_DEAD notes. * Makefile.in (jump.o): Depend on insn-attr.h. From-SVN: r25223
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/jump.c12
3 files changed, 20 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 168c407..436ec44 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+Mon Feb 15 23:04:48 1999 Jeffrey A Law (law@cygnus.com)
+
+ * jump.c: Include insn-attr.h.
+ (delete_computation): If reload has completed and insn scheduling
+ after reload is enabled, then do not depend on REG_DEAD notes.
+ * Makefile.in (jump.o): Depend on insn-attr.h.
+
Mon Feb 15 16:57:38 1999 Richard Henderson <rth@cygnus.com>
* i386.md (addsi3): Allow lea for any constant_p.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 6d18da8..7fae234 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1495,7 +1495,7 @@ integrate.o : integrate.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) flags.h \
jump.o : jump.c $(CONFIG_H) system.h $(RTL_H) flags.h hard-reg-set.h $(REGS_H) \
insn-config.h insn-flags.h $(RECOG_H) $(EXPR_H) real.h except.h \
- toplev.h
+ toplev.h insn-attr.h
stupid.o : stupid.c $(CONFIG_H) system.h $(RTL_H) $(REGS_H) hard-reg-set.h \
$(BASIC_BLOCK_H) insn-config.h reload.h flags.h toplev.h
diff --git a/gcc/jump.c b/gcc/jump.c
index 47f5fd4..09f036c 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -59,6 +59,7 @@ Boston, MA 02111-1307, USA. */
#include "regs.h"
#include "insn-config.h"
#include "insn-flags.h"
+#include "insn-attr.h"
#include "recog.h"
#include "expr.h"
#include "real.h"
@@ -3754,6 +3755,17 @@ delete_computation (insn)
}
#endif
+#ifdef INSN_SCHEDULING
+ /* ?!? The schedulers do not keep REG_DEAD notes accurate after
+ reload has completed. The schedulers need to be fixed. Until
+ they are, we must not rely on the death notes here. */
+ if (reload_completed && flag_schedule_insns_after_reload)
+ {
+ delete_insn (insn);
+ return;
+ }
+#endif
+
for (note = REG_NOTES (insn); note; note = next)
{
rtx our_prev;