rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem; update all call sites.
authorRichard Henderson <rth@redhat.com>
Sun, 14 Jan 2001 10:19:01 +0000 (02:19 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 14 Jan 2001 10:19:01 +0000 (02:19 -0800)
        * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
        update all call sites.  Return true for all non-label constants.

From-SVN: r39006

gcc/ChangeLog
gcc/rtlanal.c

index 7d82db9d3ba63e4e8844ddc55a48d151cb608627..8e7d40ddc2c5fa28452054408e6357d059fab467 100644 (file)
@@ -1,3 +1,8 @@
+2001-01-14  Richard Henderson  <rth@redhat.com>
+
+       * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
+       update all call sites.  Return true for all non-label constants.
+
 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
 
        * i386.c (ix86_expand_compare): Add bypass_test and second_test
index d58f392cc0cbad209526b56705763b41f960c522..8bdd23cdfc285b9c795a0d091db6bad62b781104 100644 (file)
@@ -29,7 +29,7 @@ static void set_of_1          PARAMS ((rtx, rtx, void *));
 static void insn_dependent_p_1 PARAMS ((rtx, rtx, void *));
 
 /* Forward declarations */
-static int jmp_uses_reg_or_mem         PARAMS ((rtx));
+static int computed_jump_p_1   PARAMS ((rtx));
 
 /* Bit flags that specify the machine subtype we are compiling for.
    Bits are tested using macros TARGET_... defined in the tm.h file
@@ -2181,11 +2181,12 @@ replace_regs (x, reg_map, nregs, replace_dest)
   return x;
 }
 
-/* Return 1 if X, the SRC_SRC of  SET of (pc) contain a REG or MEM that is
-   not in the constant pool and not in the condition of an IF_THEN_ELSE.  */
+/* A subroutine of computed_jump_p, return 1 if X contains a REG or MEM or
+   constant that is not in the constant pool and not in the condition
+   of an IF_THEN_ELSE.  */
 
 static int
-jmp_uses_reg_or_mem (x)
+computed_jump_p_1 (x)
      rtx x;
 {
   enum rtx_code code = GET_CODE (x);
@@ -2194,11 +2195,14 @@ jmp_uses_reg_or_mem (x)
 
   switch (code)
     {
-    case CONST:
     case LABEL_REF:
     case PC:
       return 0;
 
+    case CONST:
+    case CONST_INT:
+    case CONST_DOUBLE:
+    case SYMBOL_REF:
     case REG:
       return 1;
 
@@ -2207,12 +2211,8 @@ jmp_uses_reg_or_mem (x)
                && CONSTANT_POOL_ADDRESS_P (XEXP (x, 0)));
 
     case IF_THEN_ELSE:
-      return (jmp_uses_reg_or_mem (XEXP (x, 1))
-             || jmp_uses_reg_or_mem (XEXP (x, 2)));
-
-    case PLUS:  case MINUS:  case MULT:
-      return (jmp_uses_reg_or_mem (XEXP (x, 0))
-             || jmp_uses_reg_or_mem (XEXP (x, 1)));
+      return (computed_jump_p_1 (XEXP (x, 1))
+             || computed_jump_p_1 (XEXP (x, 2)));
 
     default:
       break;
@@ -2222,12 +2222,12 @@ jmp_uses_reg_or_mem (x)
   for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
     {
       if (fmt[i] == 'e'
-         && jmp_uses_reg_or_mem (XEXP (x, i)))
+         && computed_jump_p_1 (XEXP (x, i)))
        return 1;
 
       else if (fmt[i] == 'E')
        for (j = 0; j < XVECLEN (x, i); j++)
-         if (jmp_uses_reg_or_mem (XVECEXP (x, i, j)))
+         if (computed_jump_p_1 (XVECEXP (x, i, j)))
            return 1;
     }
 
@@ -2265,12 +2265,12 @@ computed_jump_p (insn)
            for (i = len - 1; i >= 0; i--)
              if (GET_CODE (XVECEXP (pat, 0, i)) == SET
                  && SET_DEST (XVECEXP (pat, 0, i)) == pc_rtx
-                 && jmp_uses_reg_or_mem (SET_SRC (XVECEXP (pat, 0, i))))
+                 && computed_jump_p_1 (SET_SRC (XVECEXP (pat, 0, i))))
                return 1;
        }
       else if (GET_CODE (pat) == SET
               && SET_DEST (pat) == pc_rtx
-              && jmp_uses_reg_or_mem (SET_SRC (pat)))
+              && computed_jump_p_1 (SET_SRC (pat)))
        return 1;
     }
   return 0;