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.  */