cse.c (set_live_p): Take INSN argument for cc0; update callers.
authorDaniel Berlin <dan@cgsoftware.com>
Tue, 17 Jul 2001 06:44:57 +0000 (06:44 +0000)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 17 Jul 2001 06:44:57 +0000 (23:44 -0700)
        * cse.c (set_live_p): Take INSN argument for cc0; update callers.
        (insn_live_p): Fix fall off end of function.
        (dead_libcall_p): Remove COUNTS argument; update callers.
        (delete_trivially_dead_insns): Remove unused variables.

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r44064

gcc/ChangeLog
gcc/cse.c

index bbf33a0beabf9606d995c354afbe31d151e20012..439e841bda83c9863275c821f449f16ea6fdf1bc 100644 (file)
@@ -1,3 +1,11 @@
+2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
+           Richard Henderson  <rth@redhat.com>
+
+       * cse.c (set_live_p): Take INSN argument for cc0; update callers.
+       (insn_live_p): Fix fall off end of function.
+       (dead_libcall_p): Remove COUNTS argument; update callers.
+       (delete_trivially_dead_insns): Remove unused variables.
+
 2001-07-17  Andreas Jaeger  <aj@suse.de>
 
        * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
index 70360d8699314ca7294fe3947067d8bfd20a020a..266b1076c755dd93ae9de5874d11440ee2dce78a 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -690,8 +690,8 @@ static int check_dependence PARAMS ((rtx *, void *));
 
 static void flush_hash_table   PARAMS ((void));
 static bool insn_live_p                PARAMS ((rtx, int *));
-static bool set_live_p         PARAMS ((rtx, int *));
-static bool dead_libcall_p     PARAMS ((rtx, int *));
+static bool set_live_p         PARAMS ((rtx, rtx, int *));
+static bool dead_libcall_p     PARAMS ((rtx));
 \f
 /* Dump the expressions in the equivalence class indicated by CLASSP.
    This function is used only for debugging.  */
@@ -7486,8 +7486,9 @@ count_reg_usage (x, counts, dest, incr)
 \f
 /* Return true if set is live.  */
 static bool
-set_live_p (set, counts)
+set_live_p (set, insn, counts)
      rtx set;
+     rtx insn;
      int *counts;
 {
 #ifdef HAVE_cc0
@@ -7527,20 +7528,23 @@ insn_live_p (insn, counts)
 {
   int i;
   if (GET_CODE (PATTERN (insn)) == SET)
-    return set_live_p (PATTERN (insn), counts);
+    return set_live_p (PATTERN (insn), insn, counts);
   else if (GET_CODE (PATTERN (insn)) == PARALLEL)
-    for (i = XVECLEN (PATTERN (insn), 0) - 1; i >= 0; i--)
-      {
-       rtx elt = XVECEXP (PATTERN (insn), 0, i);
+    {
+      for (i = XVECLEN (PATTERN (insn), 0) - 1; i >= 0; i--)
+       {
+         rtx elt = XVECEXP (PATTERN (insn), 0, i);
 
-       if (GET_CODE (elt) == SET)
-         {
-           if (set_live_p (elt, counts))
-             return true;
-         }
-       else if (GET_CODE (elt) != CLOBBER && GET_CODE (elt) != USE)
-         return true;
-      }
+         if (GET_CODE (elt) == SET)
+           {
+             if (set_live_p (elt, insn, counts))
+               return true;
+           }
+         else if (GET_CODE (elt) != CLOBBER && GET_CODE (elt) != USE)
+           return true;
+       }
+      return false;
+    }
   else
     return true;
 }
@@ -7548,9 +7552,8 @@ insn_live_p (insn, counts)
 /* Return true if libcall is dead as a whole.  */
 
 static bool
-dead_libcall_p (insn, counts)
+dead_libcall_p (insn)
      rtx insn;
-     int *counts;
 {
   rtx note;
   /* See if there's a REG_EQUAL note on this insn and try to
@@ -7616,7 +7619,6 @@ delete_trivially_dead_insns (insns, nreg, preserve_basic_blocks)
     for (; insn; insn = prev)
       {
        int live_insn = 0;
-       rtx note;
 
        prev = prev_real_insn (insn);
 
@@ -7629,7 +7631,7 @@ delete_trivially_dead_insns (insns, nreg, preserve_basic_blocks)
          {
            in_libcall = 1;
            live_insn = 1;
-           dead_libcall = dead_libcall_p (insn, counts);
+           dead_libcall = dead_libcall_p (insn);
          }
        else if (in_libcall)
          live_insn = ! dead_libcall;
@@ -7656,7 +7658,6 @@ delete_trivially_dead_insns (insns, nreg, preserve_basic_blocks)
       for (bb = BASIC_BLOCK (i), insn = bb->end; insn != bb->head; insn = prev)
        {
          int live_insn = 0;
-         rtx note;
 
          prev = PREV_INSN (insn);
          if (!INSN_P (insn))
@@ -7671,7 +7672,7 @@ delete_trivially_dead_insns (insns, nreg, preserve_basic_blocks)
            {
              in_libcall = 1;
              live_insn = 1;
-             dead_libcall = dead_libcall_p (insn, counts);
+             dead_libcall = dead_libcall_p (insn);
            }
          else if (in_libcall)
            live_insn = ! dead_libcall;