]> gcc.gnu.org Git - gcc.git/commitdiff
(mark_set_1): Clear reg_next_use for all kinds of regs.
authorRichard Stallman <rms@gnu.org>
Wed, 7 Apr 1993 22:13:16 +0000 (22:13 +0000)
committerRichard Stallman <rms@gnu.org>
Wed, 7 Apr 1993 22:13:16 +0000 (22:13 +0000)
From-SVN: r4041

gcc/flow.c

index 08cf4c59c6b00a6dddcac04ac764d6cc6ce96473..183f1ada12f53ef9e1caa0ba8e5f88f66d19dc85 100644 (file)
@@ -1795,6 +1795,9 @@ mark_set_1 (needed, dead, x, insn, significant)
       /* Mark it as as dead before this insn.  */
       dead[offset] |= bit;
 
+      /* The next use is no longer "next", since a store intervenes.  */
+      reg_next_use[regno] = 0;
+
       /* A hard reg in a wide mode may really be multiple registers.
         If so, mark all of them just like the first.  */
       if (regno < FIRST_PSEUDO_REGISTER)
@@ -1863,9 +1866,6 @@ mark_set_1 (needed, dead, x, insn, significant)
              reg_live_length[regno]++;
            }
 
-         /* The next use is no longer "next", since a store intervenes.  */
-         reg_next_use[regno] = 0;
-
          if (all_needed)
            {
              /* Make a logical link from the next following insn
@@ -1915,6 +1915,8 @@ mark_set_1 (needed, dead, x, insn, significant)
            }
        }
     }
+  else if (GET_CODE (reg) == REG)
+    reg_next_use[regno] = 0;
 
   /* If this is the last pass and this is a SCRATCH, show it will be dying
      here and count it.  */
This page took 0.064217 seconds and 5 git commands to generate.