This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[tree-ssa] Remove CONSTANT_P_RTX


As discussed in the merge status thread. The ramifications of this stuff in the back-ends are close to obscene.

Bootstrapped i686-pc-linux-gnu, regtesting in progress. Ok if it passes? (In the meanwhile, if people want to try compiling cc1 on their favorite architectures, if affected...)

Paolo
2004-03-15  Paolo Bonzini  <bonzini@gnu.org>

	* builtins.c (expand_builtin_constant_p,
	purge_builtin_constant_p): Remove.
	(expand_builtin): Expand __builtin_constant_p to zero.
	* function.c (struct function): Remove calls_constant_p.
	(current_function_calls_constant_p): Remove.
	* passes.c (rest_of_handle_gcse): Do not run
	purge_builtin_constant_p.
	* rtl.def (CONSTANT_P_RTX): Die die die.

	* cse.c (fold_rtx): Do not handle CONSTANT_P_RTX.
	* expr.c (emit_move_insn): Likewise.
	* gcse.c (want_to_gcse_p, gcse_constant_p): Likewise.
	* genrecog.c (validate_pattern): Likewise.
	* recog.c (immediate_operand): Likewise.
	* rtl.h (CONSTANT_P): Likewise.
	* simplify-rtx.c (simplify_rtx): Likewise.
	* config/alpha/alpha.c (input_operand): Likewise.
	* config/arm/arm.c (THUMB_LEGITIMATE_CONSTANT_P): Likewise.
	* config/c4x/c4x.c (const_operand): Likewise.
	* config/cris/cris.c (cris_gotless_symbol,
	cris_got_symbol): Likewise.
	* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
	* config/ia64/ia64.c (gr_reg_or_5bit_operand,
	gr_reg_or_6bit_operand, gr_reg_or_8bit_operand,
	gr_reg_or_8bit_adjusted_operand,
	gr_reg_or_8bit_and_adjusted_operand,
	gr_reg_or_14bit_operand, gr_reg_or_22bit_operand,
	shift_count_operand, shift_32bit_count_operand): Likewise.
	* config/m32r/m32r.c (move_src_operand): Likewise.
	* config/mips/mips.c (mips_const_insns): Likewise.
	* config/mmix/mmix.c (mmix_constant_address_p): Likewise.
	* config/pa/pa.c (move_src_operand): Likewise.
	* config/rs6000/rs6000.c (input_operand): Likewise.
	* config/sparc/sparc.c (input_operand): Likewise.
	* config/v850/v850.c (movsi_source_operand): Likewise.
	* config/xtensa/xtensa.c (move_operand,
	xtensa_emit_move_sequence): Likewise.

	* config/ia64/ia64.h (PREDICATE_CODES): Do not mention CONSTANT_P_RTX.
	* config/pa/pa.h (PREDICATE_CODES): Likewise.


Index: builtins.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/builtins.c,v
retrieving revision 1.152.2.55
diff -u -p -r1.152.2.55 builtins.c
--- builtins.c	8 Mar 2004 18:05:29 -0000	1.152.2.55
+++ builtins.c	15 Mar 2004 12:29:34 -0000
@@ -93,7 +93,6 @@ static rtx expand_builtin_classify_type 
 static void expand_errno_check (tree, rtx);
 static rtx expand_builtin_mathfn (tree, rtx, rtx);
 static rtx expand_builtin_mathfn_2 (tree, rtx, rtx);
-static rtx expand_builtin_constant_p (tree, enum machine_mode);
 static rtx expand_builtin_args_info (tree);
 static rtx expand_builtin_next_arg (tree);
 static rtx expand_builtin_va_start (tree);
@@ -1518,32 +1517,6 @@ expand_builtin_classify_type (tree argli
   return GEN_INT (no_type_class);
 }
 
-/* Expand expression EXP, which is a call to __builtin_constant_p.  */
-
-static rtx
-expand_builtin_constant_p (tree arglist, enum machine_mode target_mode)
-{
-  rtx tmp;
-
-  if (arglist == 0)
-    return const0_rtx;
-  arglist = TREE_VALUE (arglist);
-
-  /* We have taken care of the easy cases during constant folding.  This
-     case is not obvious, so emit (constant_p_rtx (ARGLIST)) and let CSE
-     get a chance to see if it can deduce whether ARGLIST is constant.
-     If CSE isn't going to run, of course, don't bother waiting.  */
-
-  if (cse_not_expected)
-    return const0_rtx;
-
-  current_function_calls_constant_p = 1;
-
-  tmp = expand_expr (arglist, NULL_RTX, VOIDmode, 0);
-  tmp = gen_rtx_CONSTANT_P_RTX (target_mode, tmp);
-  return tmp;
-}
-
 /* This helper macro, meant to be used in mathfn_built_in below,
    determines which among a set of three builtin math functions is
    appropriate for a given type mode.  The `F' and `L' cases are
@@ -5437,7 +5410,7 @@ expand_builtin (tree exp, rtx target, rt
       return expand_builtin_classify_type (arglist);
 
     case BUILT_IN_CONSTANT_P:
-      return expand_builtin_constant_p (arglist, target_mode);
+      return const0_rtx;
 
     case BUILT_IN_FRAME_ADDRESS:
     case BUILT_IN_RETURN_ADDRESS:
@@ -7453,31 +7426,6 @@ default_expand_builtin (tree exp ATTRIBU
 			int ignore ATTRIBUTE_UNUSED)
 {
   return NULL_RTX;
-}
-
-/* Instantiate all remaining CONSTANT_P_RTX nodes.  */
-
-void
-purge_builtin_constant_p (void)
-{
-  rtx insn, set, arg, new, note;
-
-  for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
-    if (INSN_P (insn)
-	&& (set = single_set (insn)) != NULL_RTX
-	&& (GET_CODE (arg = SET_SRC (set)) == CONSTANT_P_RTX
-	    || (GET_CODE (arg) == SUBREG
-		&& (GET_CODE (arg = SUBREG_REG (arg))
-		    == CONSTANT_P_RTX))))
-      {
-	arg = XEXP (arg, 0);
-	new = CONSTANT_P (arg) ? const1_rtx : const0_rtx;
-	validate_change (insn, &SET_SRC (set), new, 0);
-
-	/* Remove the REG_EQUAL note from the insn.  */
-	if ((note = find_reg_note (insn, REG_EQUAL, NULL_RTX)) != 0)
-	  remove_note (insn, note);
-      }
 }
 
 /* Returns true is EXP represents data that would potentially reside
Index: cse.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cse.c,v
retrieving revision 1.229.2.31
diff -u -p -r1.229.2.31 cse.c
--- cse.c	5 Mar 2004 23:48:13 -0000	1.229.2.31
+++ cse.c	15 Mar 2004 12:29:36 -0000
@@ -4156,17 +4156,6 @@ fold_rtx (rtx x, rtx insn)
 					const_arg2 ? const_arg2 : XEXP (x, 2));
       break;
 
-    case RTX_EXTRA:
-      /* Eliminate CONSTANT_P_RTX if its constant.  */
-      if (code == CONSTANT_P_RTX)
-	{
-	  if (const_arg0)
-	    return const1_rtx;
-	  if (optimize == 0 || !flag_gcse)
-	    return const0_rtx;
-	}
-      break;
-
     default:
       break;
     }
Index: expr.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/expr.c,v
retrieving revision 1.467.2.82
diff -u -p -r1.467.2.82 expr.c
--- expr.c	5 Mar 2004 23:48:13 -0000	1.467.2.82
+++ expr.c	15 Mar 2004 12:29:39 -0000
@@ -2778,10 +2778,7 @@ emit_move_insn (rtx x, rtx y)
   if (mode == BLKmode || (GET_MODE (y) != mode && GET_MODE (y) != VOIDmode))
     abort ();
 
-  /* Never force constant_p_rtx to memory.  */
-  if (GET_CODE (y) == CONSTANT_P_RTX)
-    ;
-  else if (CONSTANT_P (y))
+  if (CONSTANT_P (y))
     {
       if (optimize
 	  && SCALAR_FLOAT_MODE_P (GET_MODE (x))
Index: function.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/function.h,v
retrieving revision 1.83.2.29
diff -u -p -r1.83.2.29 function.h
--- function.h	19 Feb 2004 09:05:28 -0000	1.83.2.29
+++ function.h	15 Mar 2004 12:29:39 -0000
@@ -436,9 +436,6 @@ struct function GTY(())
   /* Nonzero if the function calls __builtin_eh_return.  */
   unsigned int calls_eh_return : 1;
 
-  /* Nonzero if the function calls __builtin_constant_p.  */
-  unsigned int calls_constant_p : 1;
-
   /* Nonzero if function being compiled receives nonlocal gotos
      from nested functions.  */
   unsigned int has_nonlocal_label : 1;
@@ -529,7 +526,6 @@ extern int trampolines_created;
 #define current_function_calls_alloca (cfun->calls_alloca)
 #define current_function_calls_longjmp (cfun->calls_longjmp)
 #define current_function_calls_eh_return (cfun->calls_eh_return)
-#define current_function_calls_constant_p (cfun->calls_constant_p)
 #define current_function_has_computed_jump (cfun->has_computed_jump)
 #define current_function_contains_functions (cfun->contains_functions)
 #define current_function_is_thunk (cfun->is_thunk)
Index: gcse.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/gcse.c,v
retrieving revision 1.205.2.35
diff -u -p -r1.205.2.35 gcse.c
--- gcse.c	5 Mar 2004 23:48:14 -0000	1.205.2.35
+++ gcse.c	15 Mar 2004 12:29:42 -0000
@@ -1284,7 +1284,6 @@ want_to_gcse_p (rtx x)
     case CONST_DOUBLE:
     case CONST_VECTOR:
     case CALL:
-    case CONSTANT_P_RTX:
       return 0;
 
     default:
@@ -2130,9 +2129,6 @@ gcse_constant_p (rtx x)
       && ! FLOAT_MODE_P (GET_MODE (XEXP (x, 0)))
       && ! FLOAT_MODE_P (GET_MODE (XEXP (x, 1))))
     return true;
-
-  if (GET_CODE (x) == CONSTANT_P_RTX)
-    return false;
 
   return CONSTANT_P (x);
 }
Index: genrecog.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/genrecog.c,v
retrieving revision 1.118.2.15
diff -u -p -r1.118.2.15 genrecog.c
--- genrecog.c	4 Mar 2004 15:38:47 -0000	1.118.2.15
+++ genrecog.c	15 Mar 2004 12:29:42 -0000
@@ -513,8 +513,7 @@ validate_pattern (rtx pattern, rtx insn,
 			&& c != CONST_INT
 			&& c != CONST_DOUBLE
 			&& c != CONST
-			&& c != HIGH
-			&& c != CONSTANT_P_RTX)
+			&& c != HIGH)
 		      allows_non_const = 1;
 
 		    if (c != REG
Index: passes.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/passes.c,v
retrieving revision 2.2.2.2
diff -u -p -r2.2.2.2 passes.c
--- passes.c	4 Mar 2004 15:38:49 -0000	2.2.2.2
+++ passes.c	15 Mar 2004 12:29:43 -0000
@@ -1191,10 +1191,6 @@ rest_of_handle_gcse (tree decl, rtx insn
   save_cfj = flag_cse_follow_jumps;
   flag_cse_skip_blocks = flag_cse_follow_jumps = 0;
 
-  /* Instantiate any remaining CONSTANT_P_RTX nodes.  */
-  if (current_function_calls_constant_p)
-    purge_builtin_constant_p ();
-
   /* If -fexpensive-optimizations, re-run CSE to clean up things done
      by gcse.  */
   if (flag_expensive_optimizations)
Index: recog.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/recog.c,v
retrieving revision 1.159.2.23
diff -u -p -r1.159.2.23 recog.c
--- recog.c	4 Mar 2004 15:38:50 -0000	1.159.2.23
+++ recog.c	15 Mar 2004 12:29:44 -0000
@@ -1114,12 +1114,6 @@ immediate_operand (rtx op, enum machine_
       && trunc_int_for_mode (INTVAL (op), mode) != INTVAL (op))
     return 0;
 
-  /* Accept CONSTANT_P_RTX, since it will be gone by CSE1 and
-     result in 0/1.  It seems a safe assumption that this is
-     in range for everyone.  */
-  if (GET_CODE (op) == CONSTANT_P_RTX)
-    return 1;
-
   return (CONSTANT_P (op)
 	  && (GET_MODE (op) == mode || mode == VOIDmode
 	      || GET_MODE (op) == VOIDmode)
Index: rtl.def
===================================================================
RCS file: /cvs/gcc/gcc/gcc/rtl.def,v
retrieving revision 1.57.2.17
diff -u -p -r1.57.2.17 rtl.def
--- rtl.def	4 Mar 2004 15:38:52 -0000	1.57.2.17
+++ rtl.def	15 Mar 2004 12:29:44 -0000
@@ -1153,11 +1153,6 @@ DEF_RTL_EXPR(RANGE_VAR, "range_var", "et
    0 is the live bitmap.  Operand 1 is the original block number.  */
 DEF_RTL_EXPR(RANGE_LIVE, "range_live", "bi", RTX_EXTRA)
 
-/* A unary `__builtin_constant_p' expression.  These are only emitted
-   during RTL generation, and then only if optimize > 0.  They are
-   eliminated by the first CSE pass.  */
-DEF_RTL_EXPR(CONSTANT_P_RTX, "constant_p_rtx", "e", RTX_EXTRA)
-
 /* A placeholder for a CALL_INSN which may be turned into a normal call,
    a sibling (tail) call or tail recursion.
 
Index: rtl.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/rtl.h,v
retrieving revision 1.362.2.41
diff -u -p -r1.362.2.41 rtl.h
--- rtl.h	8 Mar 2004 18:05:41 -0000	1.362.2.41
+++ rtl.h	15 Mar 2004 12:29:45 -0000
@@ -385,8 +385,7 @@ struct rtvec_def GTY(()) {
 
 #define CONSTANT_P(X)   \
   (GET_RTX_CLASS (GET_CODE (X)) == RTX_CONST_OBJ			\
-   || GET_CODE (X) == CONST_VECTOR	                                \
-   || GET_CODE (X) == CONSTANT_P_RTX)
+   || GET_CODE (X) == CONST_VECTOR)
 
 /* 1 if X can be used to represent an object.  */
 #define OBJECT_P(X)							\
Index: simplify-rtx.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/simplify-rtx.c,v
retrieving revision 1.107.2.30
diff -u -p -r1.107.2.30 simplify-rtx.c
--- simplify-rtx.c	5 Mar 2004 23:48:17 -0000	1.107.2.30
+++ simplify-rtx.c	15 Mar 2004 12:29:46 -0000
@@ -3584,11 +3584,6 @@ simplify_rtx (rtx x)
 	return simplify_gen_subreg (mode, SUBREG_REG (x),
 				    GET_MODE (SUBREG_REG (x)),
 				    SUBREG_BYTE (x));
-      if (code == CONSTANT_P_RTX)
-	{
-	  if (CONSTANT_P (XEXP (x, 0)))
-	    return const1_rtx;
-	}
       break;
 
     case RTX_OBJ:
Index: config/alpha/alpha.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/alpha.c,v
retrieving revision 1.359
diff -u -p -r1.359 alpha.c
--- config/alpha/alpha.c	12 Mar 2004 10:03:07 -0000	1.359
+++ config/alpha/alpha.c	15 Mar 2004 12:35:59 -0000
@@ -801,9 +801,6 @@ input_operand (rtx op, enum machine_mode
     case CONST_INT:
       return mode == QImode || mode == HImode || add_operand (op, mode);
 
-    case CONSTANT_P_RTX:
-      return 1;
-
     default:
       break;
     }
Index: config/arm/arm.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/arm.h,v
retrieving revision 1.227
diff -u -p -r1.227 arm.h
--- config/arm/arm.h	14 Mar 2004 00:23:03 -0000	1.227
+++ config/arm/arm.h	15 Mar 2004 12:36:01 -0000
@@ -2232,7 +2232,6 @@ typedef struct
 #define THUMB_LEGITIMATE_CONSTANT_P(X)	\
  (   GET_CODE (X) == CONST_INT		\
   || GET_CODE (X) == CONST_DOUBLE	\
-  || GET_CODE (X) == CONSTANT_P_RTX     \
   || CONSTANT_ADDRESS_P (X)		\
   || flag_pic)
 
Index: config/c4x/c4x.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/c4x/c4x.c,v
retrieving revision 1.146
diff -u -p -r1.146 c4x.c
--- config/c4x/c4x.c	11 Mar 2004 05:54:29 -0000	1.146
+++ config/c4x/c4x.c	15 Mar 2004 12:36:02 -0000
@@ -2940,9 +2940,6 @@ const_operand (register rtx op, register
     case Pmode:
 #endif
     case QImode:
-      if (GET_CODE (op) == CONSTANT_P_RTX)
-	return 1;
-
       if (GET_CODE (op) != CONST_INT
 	  || (GET_MODE (op) != VOIDmode && GET_MODE (op) != mode)
 	  || GET_MODE_CLASS (mode) != MODE_INT)
Index: config/cris/cris.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/cris/cris.c,v
retrieving revision 1.52
diff -u -p -r1.52 cris.c
--- config/cris/cris.c	11 Mar 2004 05:54:30 -0000	1.52
+++ config/cris/cris.c	15 Mar 2004 12:36:03 -0000
@@ -2488,7 +2488,6 @@ cris_symbol (rtx x)
 
     case CONST_INT:
     case CONST_DOUBLE:
-    case CONSTANT_P_RTX:
       return 0;
 
     default:
@@ -2550,7 +2549,6 @@ cris_gotless_symbol (rtx x)
 
     case CONST_INT:
     case CONST_DOUBLE:
-    case CONSTANT_P_RTX:
       return 0;
 
     default:
@@ -2595,7 +2593,6 @@ cris_got_symbol (rtx x)
 
     case CONST_INT:
     case CONST_DOUBLE:
-    case CONSTANT_P_RTX:
       return 0;
 
     default:
Index: config/frv/frv.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/frv/frv.h,v
retrieving revision 1.42
diff -u -p -r1.42 frv.h
--- config/frv/frv.h	7 Mar 2004 20:23:28 -0000	1.42
+++ config/frv/frv.h	15 Mar 2004 12:36:07 -0000
@@ -2639,8 +2639,7 @@ fixup_section (void)							\
   (   GET_CODE (X) == CONST_INT						\
    || GET_CODE (X) == CONST_DOUBLE					\
    || (GET_CODE (X) == HIGH && GET_CODE (XEXP (X, 0)) == CONST_INT)	\
-   || got12_operand (X, VOIDmode)					\
-   || GET_CODE (X) == CONSTANT_P_RTX)
+   || got12_operand (X, VOIDmode))					\
 
 
 /* The Overall Framework of an Assembler File.  */
Index: config/ia64/ia64.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/ia64/ia64.c,v
retrieving revision 1.283
diff -u -p -r1.283 ia64.c
--- config/ia64/ia64.c	11 Mar 2004 19:21:19 -0000	1.283
+++ config/ia64/ia64.c	15 Mar 2004 12:36:14 -0000
@@ -715,7 +715,6 @@ int
 gr_reg_or_5bit_operand (rtx op, enum machine_mode mode)
 {
   return ((GET_CODE (op) == CONST_INT && INTVAL (op) >= 0 && INTVAL (op) < 32)
-	  || GET_CODE (op) == CONSTANT_P_RTX
 	  || gr_register_operand (op, mode));
 }
 
@@ -725,7 +724,6 @@ int
 gr_reg_or_6bit_operand (rtx op, enum machine_mode mode)
 {
   return ((GET_CODE (op) == CONST_INT && CONST_OK_FOR_M (INTVAL (op)))
-	  || GET_CODE (op) == CONSTANT_P_RTX
 	  || gr_register_operand (op, mode));
 }
 
@@ -735,7 +733,6 @@ int
 gr_reg_or_8bit_operand (rtx op, enum machine_mode mode)
 {
   return ((GET_CODE (op) == CONST_INT && CONST_OK_FOR_K (INTVAL (op)))
-	  || GET_CODE (op) == CONSTANT_P_RTX
 	  || gr_register_operand (op, mode));
 }
 
@@ -745,7 +742,6 @@ int
 grfr_reg_or_8bit_operand (rtx op, enum machine_mode mode)
 {
   return ((GET_CODE (op) == CONST_INT && CONST_OK_FOR_K (INTVAL (op)))
-	  || GET_CODE (op) == CONSTANT_P_RTX
 	  || grfr_register_operand (op, mode));
 }
 
@@ -756,7 +752,6 @@ int
 gr_reg_or_8bit_adjusted_operand (rtx op, enum machine_mode mode)
 {
   return ((GET_CODE (op) == CONST_INT && CONST_OK_FOR_L (INTVAL (op)))
-	  || GET_CODE (op) == CONSTANT_P_RTX
 	  || gr_register_operand (op, mode));
 }
 
@@ -770,7 +765,6 @@ gr_reg_or_8bit_and_adjusted_operand (rtx
 {
   return ((GET_CODE (op) == CONST_INT && CONST_OK_FOR_K (INTVAL (op))
 	   && CONST_OK_FOR_L (INTVAL (op)))
-	  || GET_CODE (op) == CONSTANT_P_RTX
 	  || gr_register_operand (op, mode));
 }
 
@@ -780,7 +774,6 @@ int
 gr_reg_or_14bit_operand (rtx op, enum machine_mode mode)
 {
   return ((GET_CODE (op) == CONST_INT && CONST_OK_FOR_I (INTVAL (op)))
-	  || GET_CODE (op) == CONSTANT_P_RTX
 	  || gr_register_operand (op, mode));
 }
 
@@ -790,7 +783,6 @@ int
 gr_reg_or_22bit_operand (rtx op, enum machine_mode mode)
 {
   return ((GET_CODE (op) == CONST_INT && CONST_OK_FOR_J (INTVAL (op)))
-	  || GET_CODE (op) == CONSTANT_P_RTX
 	  || gr_register_operand (op, mode));
 }
 
@@ -799,8 +791,7 @@ gr_reg_or_22bit_operand (rtx op, enum ma
 int
 shift_count_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
 {
-  return ((GET_CODE (op) == CONST_INT && CONST_OK_FOR_M (INTVAL (op)))
-	  || GET_CODE (op) == CONSTANT_P_RTX);
+  return (GET_CODE (op) == CONST_INT && CONST_OK_FOR_M (INTVAL (op)));
 }
 
 /* Return 1 if OP is a 5 bit immediate operand.  */
@@ -808,9 +799,8 @@ shift_count_operand (rtx op, enum machin
 int
 shift_32bit_count_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
 {
-  return ((GET_CODE (op) == CONST_INT
-	   && (INTVAL (op) >= 0 && INTVAL (op) < 32))
-	  || GET_CODE (op) == CONSTANT_P_RTX);
+  return (GET_CODE (op) == CONST_INT
+	   && (INTVAL (op) >= 0 && INTVAL (op) < 32));
 }
 
 /* Return 1 if OP is a 2, 4, 8, or 16 immediate operand.  */
Index: config/ia64/ia64.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/ia64/ia64.h,v
retrieving revision 1.174
diff -u -p -r1.174 ia64.h
--- config/ia64/ia64.h	11 Mar 2004 19:21:19 -0000	1.174
+++ config/ia64/ia64.h	15 Mar 2004 12:36:15 -0000
@@ -2178,7 +2178,7 @@ do {									\
 { "destination_operand", {SUBREG, REG, MEM}},				\
 { "not_postinc_memory_operand", {MEM}},					\
 { "move_operand", {SUBREG, REG, MEM, CONST_INT, CONST_DOUBLE,		\
-		     CONSTANT_P_RTX, SYMBOL_REF, CONST, LABEL_REF}},	\
+		     SYMBOL_REF, CONST, LABEL_REF}},			\
 { "gr_register_operand", {SUBREG, REG}},				\
 { "fr_register_operand", {SUBREG, REG}},				\
 { "grfr_register_operand", {SUBREG, REG}},				\
@@ -2186,19 +2186,16 @@ do {									\
 { "fr_nonimmediate_operand", {SUBREG, REG, MEM}},			\
 { "grfr_nonimmediate_operand", {SUBREG, REG, MEM}},			\
 { "gr_reg_or_0_operand", {SUBREG, REG, CONST_INT}},			\
-{ "gr_reg_or_5bit_operand", {SUBREG, REG, CONST_INT, CONSTANT_P_RTX}},	\
-{ "gr_reg_or_6bit_operand", {SUBREG, REG, CONST_INT, CONSTANT_P_RTX}},	\
-{ "gr_reg_or_8bit_operand", {SUBREG, REG, CONST_INT, CONSTANT_P_RTX}},	\
-{ "grfr_reg_or_8bit_operand", {SUBREG, REG, CONST_INT, CONSTANT_P_RTX}}, \
-{ "gr_reg_or_8bit_adjusted_operand", {SUBREG, REG, CONST_INT,		\
-				     CONSTANT_P_RTX}},			\
-{ "gr_reg_or_8bit_and_adjusted_operand", {SUBREG, REG, CONST_INT,	\
-					 CONSTANT_P_RTX}},		\
-{ "gr_reg_or_14bit_operand", {SUBREG, REG, CONST_INT, CONSTANT_P_RTX}}, \
-{ "gr_reg_or_22bit_operand", {SUBREG, REG, CONST_INT, CONSTANT_P_RTX}}, \
-{ "shift_count_operand", {SUBREG, REG, CONST_INT, CONSTANT_P_RTX}},	\
-{ "shift_32bit_count_operand", {SUBREG, REG, CONST_INT,			\
-				  CONSTANT_P_RTX}},			\
+{ "gr_reg_or_5bit_operand", {SUBREG, REG, CONST_INT}},			\
+{ "gr_reg_or_6bit_operand", {SUBREG, REG, CONST_INT}},			\
+{ "gr_reg_or_8bit_operand", {SUBREG, REG, CONST_INT}},			\
+{ "grfr_reg_or_8bit_operand", {SUBREG, REG, CONST_INT}}, 		\
+{ "gr_reg_or_8bit_adjusted_operand", {SUBREG, REG, CONST_INT}},		\
+{ "gr_reg_or_8bit_and_adjusted_operand", {SUBREG, REG, CONST_INT}},	\
+{ "gr_reg_or_14bit_operand", {SUBREG, REG, CONST_INT}}, 		\
+{ "gr_reg_or_22bit_operand", {SUBREG, REG, CONST_INT}}, 		\
+{ "shift_count_operand", {SUBREG, REG, CONST_INT}},			\
+{ "shift_32bit_count_operand", {SUBREG, REG, CONST_INT}},		\
 { "shladd_operand", {CONST_INT}},					\
 { "fetchadd_operand", {CONST_INT}},					\
 { "fr_reg_or_fp01_operand", {SUBREG, REG, CONST_DOUBLE}},		\
Index: config/m32r/m32r.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m32r/m32r.c,v
retrieving revision 1.90
diff -u -p -r1.90 m32r.c
--- config/m32r/m32r.c	5 Mar 2004 05:37:20 -0000	1.90
+++ config/m32r/m32r.c	15 Mar 2004 12:36:15 -0000
@@ -771,8 +771,6 @@ move_src_operand (rtx op, enum machine_m
 	}
       else
 	return 1;
-    case CONSTANT_P_RTX:
-	return 1;
     case CONST_DOUBLE :
       if (mode == SFmode)
 	return 1;
Index: config/mips/mips.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mips/mips.c,v
retrieving revision 1.396
diff -u -p -r1.396 mips.c
--- config/mips/mips.c	11 Mar 2004 08:25:27 -0000	1.396
+++ config/mips/mips.c	15 Mar 2004 12:36:19 -0000
@@ -1235,9 +1235,6 @@ mips_const_insns (rtx x)
 
   switch (GET_CODE (x))
     {
-    case CONSTANT_P_RTX:
-      return 1;
-
     case HIGH:
       if (TARGET_MIPS16
 	  || !mips_symbolic_constant_p (XEXP (x, 0), &symbol_type)
Index: config/mmix/mmix.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mmix/mmix.c,v
retrieving revision 1.62
diff -u -p -r1.62 mmix.c
--- config/mmix/mmix.c	11 Mar 2004 05:54:32 -0000	1.62
+++ config/mmix/mmix.c	15 Mar 2004 12:36:19 -0000
@@ -1008,7 +1008,6 @@ mmix_constant_address_p (rtx x)
     case SYMBOL_REF:
       return 1;
 
-    case CONSTANT_P_RTX:
     case HIGH:
       /* FIXME: Don't know how to dissect these.  Avoid them for now,
 	 except we know they're constants.  */
Index: config/pa/pa.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/pa.c,v
retrieving revision 1.246
diff -u -p -r1.246 pa.c
--- config/pa/pa.c	11 Mar 2004 05:54:33 -0000	1.246
+++ config/pa/pa.c	15 Mar 2004 12:36:20 -0000
@@ -592,9 +592,6 @@ move_src_operand (rtx op, enum machine_m
   if (register_operand (op, mode))
     return 1;
 
-  if (GET_CODE (op) == CONSTANT_P_RTX)
-    return 1;
-
   if (GET_CODE (op) == CONST_INT)
     return cint_ok_for_move (INTVAL (op));
 
Index: config/pa/pa.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/pa.h,v
retrieving revision 1.217
diff -u -p -r1.217 pa.h
--- config/pa/pa.h	6 Mar 2004 19:27:52 -0000	1.217
+++ config/pa/pa.h	15 Mar 2004 12:36:21 -0000
@@ -1987,7 +1987,7 @@ do { 									\
 #define PREDICATE_CODES							\
   {"reg_or_0_operand", {SUBREG, REG, CONST_INT, CONST_DOUBLE}},		\
   {"call_operand_address", {LABEL_REF, SYMBOL_REF, CONST_INT,		\
-			    CONST_DOUBLE, CONST, HIGH, CONSTANT_P_RTX}}, \
+			    CONST_DOUBLE, CONST, HIGH}},		 \
   {"indexed_memory_operand", {SUBREG, MEM}},				\
   {"symbolic_operand", {SYMBOL_REF, LABEL_REF, CONST}},			\
   {"symbolic_memory_operand", {SUBREG, MEM}},				\
@@ -1995,7 +1995,7 @@ do { 									\
   {"reg_or_0_or_nonsymb_mem_operand", {SUBREG, REG, MEM, CONST_INT,	\
 				       CONST_DOUBLE}},			\
   {"move_dest_operand", {SUBREG, REG, MEM}},				\
-  {"move_src_operand", {SUBREG, REG, CONSTANT_P_RTX, CONST_INT, MEM}},	\
+  {"move_src_operand", {SUBREG, REG, CONST_INT, MEM}},			\
   {"reg_or_cint_move_operand", {SUBREG, REG, CONST_INT}},		\
   {"pic_label_operand", {LABEL_REF, CONST}},				\
   {"fp_reg_operand", {REG}},						\
Index: config/rs6000/rs6000.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.609
diff -u -p -r1.609 rs6000.c
--- config/rs6000/rs6000.c	13 Mar 2004 07:51:58 -0000	1.609
+++ config/rs6000/rs6000.c	15 Mar 2004 12:36:26 -0000
@@ -2295,10 +2302,6 @@ input_operand (rtx op, enum machine_mode
   if (memory_operand (op, mode))
     return 1;
 
-  /* Only a tiny bit of handling for CONSTANT_P_RTX is necessary.  */
-  if (GET_CODE (op) == CONSTANT_P_RTX)
-    return 1;
-
   /* For floating-point, easy constants are valid.  */
   if (GET_MODE_CLASS (mode) == MODE_FLOAT
       && CONSTANT_P (op)
@@ -3535,10 +3538,6 @@ rs6000_emit_move (rtx dest, rtx source, 
 	  || ! nonimmediate_operand (operands[0], mode)))
     goto emit_set;
 
-  /* Handle the case of CONSTANT_P_RTX.  */
-  if (GET_CODE (operands[1]) == CONSTANT_P_RTX)
-    goto emit_set;
-
   /* 128-bit constant floating-point values on Darwin should really be
      loaded as two parts.  */
   if ((DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_DARWIN)
Index: config/sparc/sparc.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sparc/sparc.c,v
retrieving revision 1.295
diff -u -p -r1.295 sparc.c
--- config/sparc/sparc.c	10 Mar 2004 00:17:35 -0000	1.295
+++ config/sparc/sparc.c	15 Mar 2004 12:36:28 -0000
@@ -1295,10 +1295,6 @@ input_operand (rtx op, enum machine_mode
   if (mode != VOIDmode && GET_MODE (op) != VOIDmode && mode != GET_MODE (op))
     return 0;
 
-  /* Accept CONSTANT_P_RTX, since it will be gone by CSE1 and result in 0/1.  */
-  if (GET_CODE (op) == CONSTANT_P_RTX)
-    return 1;
-
   /* Allow any one instruction integer constant, and all CONST_INT
      variants when we are working in DImode and !arch64.  */
   if (GET_MODE_CLASS (mode) == MODE_INT
Index: config/v850/v850.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/v850/v850.c,v
retrieving revision 1.87
diff -u -p -r1.87 v850.c
--- config/v850/v850.c	23 Feb 2004 21:43:04 -0000	1.87
+++ config/v850/v850.c	15 Mar 2004 12:36:29 -0000
@@ -1136,7 +1136,6 @@ movsi_source_operand (rtx op, enum machi
      must be done with HIGH & LO_SUM patterns.  */
   if (CONSTANT_P (op)
       && GET_CODE (op) != HIGH
-      && GET_CODE (op) != CONSTANT_P_RTX
       && !(GET_CODE (op) == CONST_INT
            && (CONST_OK_FOR_J (INTVAL (op))
                || CONST_OK_FOR_K (INTVAL (op))
Index: config/xtensa/xtensa.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/xtensa/xtensa.c,v
retrieving revision 1.54
diff -u -p -r1.54 xtensa.c
--- config/xtensa/xtensa.c	12 Mar 2004 10:03:32 -0000	1.54
+++ config/xtensa/xtensa.c	15 Mar 2004 12:36:30 -0000
@@ -627,11 +627,6 @@ move_operand (rtx op, enum machine_mode 
 
     case HImode:
     case QImode:
-      /* Accept CONSTANT_P_RTX, since it will be gone by CSE1 and
-	 result in 0/1.  */
-      if (GET_CODE (op) == CONSTANT_P_RTX)
-	return TRUE;
-
       if (GET_CODE (op) == CONST_INT && xtensa_simm12b (INTVAL (op)))
 	return TRUE;
       break;
@@ -1252,7 +1247,6 @@ int
 xtensa_emit_move_sequence (rtx *operands, enum machine_mode mode)
 {
   if (CONSTANT_P (operands[1])
-      && GET_CODE (operands[1]) != CONSTANT_P_RTX
       && (GET_CODE (operands[1]) != CONST_INT
 	  || !xtensa_simm12b (INTVAL (operands[1]))))
     {

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]