]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sched-deps.c (sched_analyze_insn): Make sure to add insn to reg_last->sets after...
authorGlen Nakamura <glen@imodulo.com>
Sun, 8 Sep 2002 03:43:38 +0000 (20:43 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 8 Sep 2002 03:43:38 +0000 (20:43 -0700)
        * sched-deps.c (sched_analyze_insn): Make sure to add insn
        to reg_last->sets after flushing the dependency lists to guarantee
        that subsequent clobbers will be dependent on it.

From-SVN: r56930

gcc/ChangeLog
gcc/sched-deps.c

index 3fa7ed4f39092c73b33eb107b5e6cd9c399960db..f4dd1ceb7114c1f1b6721e84fb0d8175504e4849 100644 (file)
@@ -1,3 +1,9 @@
+2002-09-07  Glen Nakamura  <glen@imodulo.com>
+
+       * sched-deps.c (sched_analyze_insn): Make sure to add insn
+       to reg_last->sets after flushing the dependency lists to guarantee
+       that subsequent clobbers will be dependent on it.
+
 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
 
        * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
@@ -35,8 +41,8 @@
 
 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
 
-        * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
-        memory exhausted" workarounds.
+       * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
+       memory exhausted" workarounds.
 
 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
 
        
 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
 
-        * config/rs6000/rs6000.c (rs6000_select_section): Treat
-        DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
-        default.
-        (rs6000_unique_section): Likewise.
+       * config/rs6000/rs6000.c (rs6000_select_section): Treat
+       DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
+       default.
+       (rs6000_unique_section): Likewise.
 
 2002-08-22  Jason Merrill  <jason@redhat.com>
 
index 5904f918e46af3ef3a08ab634a52afa3b0bf6a2d..f2f64d39669ba199ea4f7e3ed112374b1a10fc33 100644 (file)
@@ -1118,8 +1118,6 @@ sched_analyze_insn (deps, x, insn, loop_notes)
          EXECUTE_IF_SET_IN_REG_SET (reg_pending_clobbers, 0, i,
            {
              struct deps_reg *reg_last = &deps->reg_last[i];
-             add_dependence_list (insn, reg_last->sets, REG_DEP_OUTPUT);
-             add_dependence_list (insn, reg_last->uses, REG_DEP_ANTI);
              if (reg_last->uses_length > MAX_PENDING_LIST_LENGTH
                  || reg_last->clobbers_length > MAX_PENDING_LIST_LENGTH)
                {
@@ -1129,6 +1127,7 @@ sched_analyze_insn (deps, x, insn, loop_notes)
                                                REG_DEP_ANTI);
                  add_dependence_list_and_free (insn, &reg_last->clobbers,
                                                REG_DEP_OUTPUT);
+                 reg_last->sets = alloc_INSN_LIST (insn, reg_last->sets);
                  reg_last->clobbers_length = 0;
                  reg_last->uses_length = 0;
                }