haifa-sched.c (sched_analyze_1): Don't special-case calls for clobbering registers.
authorRichard Henderson <rth@gcc.gnu.org>
Wed, 22 Nov 2000 19:22:58 +0000 (11:22 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 22 Nov 2000 19:22:58 +0000 (11:22 -0800)
        * haifa-sched.c (sched_analyze_1): Don't special-case calls
        for clobbering registers.
        (sched_analyze_2): Likewise.
        (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.

From-SVN: r37668

gcc/ChangeLog
gcc/haifa-sched.c

index d6187a58354f0f5b0630812b827b61255857a9e5..c8bde8c640caef1b7302bca6fcba667fe5d3db42 100644 (file)
@@ -1,10 +1,17 @@
+2000-11-22  Richard Henderson  <rth@redhat.com>
+
+       * haifa-sched.c (sched_analyze_1): Don't special-case calls
+       for clobbering registers.
+       (sched_analyze_2): Likewise.
+       (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
+
 2000-11-22  Chris Demetriou  <cgd@sibyte.com>  
-2000-11-22  Neil Booth  <neilb@earthling.net>
+           Neil Booth  <neilb@earthling.net>
 
-        * gcc.c (validate_switches): Validate multiple switches named
-        in '|' (or) expressions in specs.  
-        (handle_braces): If more than 1 alternative in a '|' spec
-        matches, call do_spec1 just once.
+       * gcc.c (validate_switches): Validate multiple switches named
+       in '|' (or) expressions in specs.  
+       (handle_braces): If more than 1 alternative in a '|' spec
+       matches, call do_spec1 just once.
 
 2000-11-22  Michael Meissner  <meissner@redhat.com>
 
@@ -107,7 +114,7 @@ Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
 
 2000-11-21  Neil Booth  <neilb@earthling.net>
 
-        * do_includes: Revert to using cpp_read_file.
+       * do_includes: Revert to using cpp_read_file.
 
 2000-11-21  Bernd Schmidt  <bernds@redhat.co.uk>
 
index 01f08b5d8117c8263471c94f122c77ca7d4a3342..cf8fe2b15b7ff08736bee9deb5104b220163bbdf 100644 (file)
@@ -3384,11 +3384,6 @@ sched_analyze_1 (deps, x, insn)
                }
              else
                SET_REGNO_REG_SET (reg_pending_clobbers, r);
-
-             /* Function calls clobber all call_used regs.  */
-             if (global_regs[r] || (code == SET && call_used_regs[r]))
-               for (u = deps->last_function_call; u; u = XEXP (u, 1))
-                 add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
            }
        }
       else
@@ -3540,11 +3535,6 @@ sched_analyze_2 (deps, x, insn)
                /* ??? This should never happen.  */
                for (u = deps->reg_last_clobbers[r]; u; u = XEXP (u, 1))
                  add_dependence (insn, XEXP (u, 0), 0);
-
-               if (call_used_regs[r] || global_regs[r])
-                 /* Function calls clobber all call_used regs.  */
-                 for (u = deps->last_function_call; u; u = XEXP (u, 1))
-                   add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
              }
          }
        else
@@ -3987,9 +3977,11 @@ sched_analyze (deps, head, tail)
                  {
                    for (u = deps->reg_last_uses[i]; u; u = XEXP (u, 1))
                      add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
+                   free_INSN_LIST_list (&deps->reg_last_uses[i]);
 
                    for (u = deps->reg_last_sets[i]; u; u = XEXP (u, 1))
-                     add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
+                     add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT);
+                   free_INSN_LIST_list (&deps->reg_last_sets[i]);
 
                    SET_REGNO_REG_SET (reg_pending_clobbers, i);
                  }