From: Jeffrey A Law Date: Mon, 15 Feb 1999 22:10:25 +0000 (+0000) Subject: jump.c: Include insn-attr.h. X-Git-Tag: prereleases/egcs-1.1.2-prerelease-1~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d24f30e236f91face88c4cc8892cfdcd5f67ed60;p=thirdparty%2Fgcc.git 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: r25224 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 62aeb4d9b1d4..5f11bfeacab7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ Mon Feb 15 11:33:51 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. + * sparc.c (output_scc_insn): Add missing argument to output_cbranch. * loop.c (mark_loop_jump): Handle LO_SUM. If we encounter something diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 5acf9267aef7..8d301cb98c4a 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1429,7 +1429,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 \ flags.h toplev.h diff --git a/gcc/jump.c b/gcc/jump.c index 9a3cd8cbf6de..ff4680c76622 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" @@ -3650,6 +3651,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;