aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-01-14 02:19:01 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-01-14 02:19:01 -0800
commitfce7e199d55908fa9fcaf9613b8f08da0fdcdece (patch)
tree88500c4e21175446badc4914280cc78b3e963030 /gcc/rtlanal.c
parenta1b8572cac7c96128e10c2e93f8c7ef71d3d6d5d (diff)
downloadgcc-fce7e199d55908fa9fcaf9613b8f08da0fdcdece.zip
gcc-fce7e199d55908fa9fcaf9613b8f08da0fdcdece.tar.gz
gcc-fce7e199d55908fa9fcaf9613b8f08da0fdcdece.tar.bz2
rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem; update all call sites.
* 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
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r--gcc/rtlanal.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index d58f392..8bdd23c 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -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;