]> gcc.gnu.org Git - gcc.git/commitdiff
jump.c: Include insn-attr.h.
authorJeffrey A Law <law@cygnus.com>
Mon, 15 Feb 1999 22:09:07 +0000 (22:09 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 15 Feb 1999 22:09:07 +0000 (15:09 -0700)
        * 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

gcc/ChangeLog
gcc/Makefile.in
gcc/jump.c

index 168c40722ff5c85f13d07be51fffe8317a79777f..436ec440504e4a5aa3c3150420a199181191e8c8 100644 (file)
@@ -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.
index 6d18da845a16d22328730a20d576423f31f7d479..7fae2346acdd299a334e85fbd26b81544b261131 100644 (file)
@@ -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
 
index 47f5fd4cb7f4a011a772b616750791e8c0eaba48..09f036c1547e3be7acb9dac0aab2f5ce3dbc8168 100644 (file)
@@ -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;
This page took 0.089584 seconds and 5 git commands to generate.