diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 562486cc3f2e292f4bbaafec5b0c036e660d319a..c2e6f633a8369f7b6b1498e9992f74516fd49027 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-01-18 Kazu Hirata <kazu@codesourcery.com> + + * rtlanal.c (global_reg_mentioned_p_1, + global_reg_mentioned_p): Remove. + * rtl.h: Remove the prototype for global_reg_mentioned_p. + 2006-01-17 Roger Sayle <roger@eyesopen.com> * config/i386/i386.c (COSTS_N_BYTES): New macro. diff --git a/gcc/rtl.h b/gcc/rtl.h index 5cd651c60605d38d905cda29f75f415f99808b9a..f3ec0659ae7c861203b0ac31cf9fce537e076f6c 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -1577,7 +1577,6 @@ extern int rtx_varies_p (rtx, int); extern int rtx_addr_varies_p (rtx, int); extern HOST_WIDE_INT get_integer_term (rtx); extern rtx get_related_value (rtx); -extern int global_reg_mentioned_p (rtx); extern int reg_mentioned_p (rtx, rtx); extern int count_occurrences (rtx, rtx, int); extern int reg_referenced_p (rtx, rtx); diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 490c221c9b876aec4d92b537601ad3cd531d87e6..91fb4898b73b076965aa1ac62e33e97c539e9130 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -39,7 +39,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #include "function.h" /* Forward declarations */ -static int global_reg_mentioned_p_1 (rtx *, void *); static void set_of_1 (rtx, rtx, void *); static bool covers_regno_p (rtx, unsigned int); static bool covers_regno_no_parallel_p (rtx, unsigned int); @@ -476,78 +475,6 @@ get_related_value (rtx x) return 0; } -/* A subroutine of global_reg_mentioned_p, returns 1 if *LOC mentions - a global register. */ - -static int -global_reg_mentioned_p_1 (rtx *loc, void *data ATTRIBUTE_UNUSED) -{ - int regno; - rtx x = *loc; - - if (! x) - return 0; - - switch (GET_CODE (x)) - { - case SUBREG: - if (REG_P (SUBREG_REG (x))) - { - if (REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_REGISTER - && global_regs[subreg_regno (x)]) - return 1; - return 0; - } - break; - - case REG: - regno = REGNO (x); - if (regno < FIRST_PSEUDO_REGISTER && global_regs[regno]) - return 1; - return 0; - - case SCRATCH: - case PC: - case CC0: - case CONST_INT: - case CONST_DOUBLE: - case CONST: - case LABEL_REF: - return 0; - - case CALL: - /* A non-constant call might use a global register. */ - return 1; - - default: - break; - } - - return 0; -} - -/* Returns nonzero if X mentions a global register. */ - -int -global_reg_mentioned_p (rtx x) -{ - if (INSN_P (x)) - { - if (CALL_P (x)) - { - if (! CONST_OR_PURE_CALL_P (x)) - return 1; - x = CALL_INSN_FUNCTION_USAGE (x); - if (x == 0) - return 0; - } - else - x = PATTERN (x); - } - - return for_each_rtx (&x, global_reg_mentioned_p_1, NULL); -} - /* Return the number of places FIND appears within X. If COUNT_DEST is zero, we do not count occurrences inside the destination of a SET. */