This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] rtlanal.c: Remove regs_set_between_p.
- From: Kazu Hirata <kazu at cs dot umass dot edu>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 04 Nov 2004 10:51:19 -0500 (EST)
- Subject: [patch] rtlanal.c: Remove regs_set_between_p.
Hi,
Attached is a patch to remove regs_set_between_p.
This used to be called from jump.c:jump_optimize_1, which went away
more than 3 years ago.
Bootstrapped on i686-pc-linux-gnu. OK to apply?
Kazu Hirata
2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
* rtlanal.c (regs_set_between_p): Remove.
* rtl.h: Remove the corresponding prototype.
Index: rtl.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/rtl.h,v
retrieving revision 1.518
diff -u -d -p -r1.518 rtl.h
--- rtl.h 2 Nov 2004 17:59:44 -0000 1.518
+++ rtl.h 3 Nov 2004 06:17:39 -0000
@@ -1607,7 +1607,6 @@ extern int count_occurrences (rtx, rtx,
extern int reg_referenced_p (rtx, rtx);
extern int reg_used_between_p (rtx, rtx, rtx);
extern int reg_set_between_p (rtx, rtx, rtx);
-extern int regs_set_between_p (rtx, rtx, rtx);
extern int commutative_operand_precedence (rtx);
extern int swap_commutative_operands_p (rtx, rtx);
extern int modified_between_p (rtx, rtx, rtx);
Index: rtlanal.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/rtlanal.c,v
retrieving revision 1.204
diff -u -d -p -r1.204 rtlanal.c
--- rtlanal.c 2 Nov 2004 17:59:45 -0000 1.204
+++ rtlanal.c 3 Nov 2004 06:17:41 -0000
@@ -783,51 +783,6 @@ reg_set_p (rtx reg, rtx insn)
}
/* Similar to reg_set_between_p, but check all registers in X. Return 0
- only if none of them are modified between START and END. Do not
- consider non-registers one way or the other. */
-
-int
-regs_set_between_p (rtx x, rtx start, rtx end)
-{
- enum rtx_code code = GET_CODE (x);
- const char *fmt;
- int i, j;
-
- switch (code)
- {
- case CONST_INT:
- case CONST_DOUBLE:
- case CONST_VECTOR:
- case CONST:
- case SYMBOL_REF:
- case LABEL_REF:
- case PC:
- case CC0:
- return 0;
-
- case REG:
- return reg_set_between_p (x, start, end);
-
- default:
- break;
- }
-
- fmt = GET_RTX_FORMAT (code);
- for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
- {
- if (fmt[i] == 'e' && regs_set_between_p (XEXP (x, i), start, end))
- return 1;
-
- else if (fmt[i] == 'E')
- for (j = XVECLEN (x, i) - 1; j >= 0; j--)
- if (regs_set_between_p (XVECEXP (x, i, j), start, end))
- return 1;
- }
-
- return 0;
-}
-
-/* Similar to reg_set_between_p, but check all registers in X. Return 0
only if none of them are modified between START and END. Return 1 if
X contains a MEM; this routine does usememory aliasing. */