[patch] rtlanal.c: Remove global_reg_mentioned_p.

Kazu Hirata kazu@codesourcery.com
Tue Jan 17 15:32:00 GMT 2006


Hi,

Attached is a patch to remove global_reg_mentioned_p and
global_reg_mentioned_p_1 as they are unused.

The last use of global_reg_mentioned_p seem to be in alias.c on the
4.0 branch.  The 4.1 branch doesn't contain any reference to this
function.

Bootstrapped on x86_64-pc-linux-gnu.  OK to apply?

Kazu Hirata

2006-01-17  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.

Index: rtl.h
===================================================================
--- rtl.h	(revision 109795)
+++ rtl.h	(working copy)
@@ -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);
Index: rtlanal.c
===================================================================
--- rtlanal.c	(revision 109795)
+++ rtlanal.c	(working copy)
@@ -39,7 +39,6 @@ Software Foundation, 51 Franklin Street,
 #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.  */
 



More information about the Gcc-patches mailing list