This patch just gets rid of some write-only operand_alternative fields,
which makes things easier for the later patches to preprocess_constraints.

Richard


gcc/
        * recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok,
        decmem_ok and incmem_ok.  Reformat other bitfields for consistency.
        * recog.c (preprocess_constraints): Update accordingly.

Index: gcc/recog.h
===================================================================
--- gcc/recog.h 2014-06-04 18:15:06.589969020 +0100
+++ gcc/recog.h 2014-06-04 18:19:30.391331977 +0100
@@ -60,25 +60,17 @@ struct operand_alternative
   int matched : 8;
 
   /* Nonzero if '&' was found in the constraint string.  */
-  unsigned int earlyclobber:1;
+  unsigned int earlyclobber : 1;
   /* Nonzero if TARGET_MEM_CONSTRAINT was found in the constraint
      string.  */
-  unsigned int memory_ok:1;
-  /* Nonzero if 'o' was found in the constraint string.  */
-  unsigned int offmem_ok:1;
-  /* Nonzero if 'V' was found in the constraint string.  */
-  unsigned int nonoffmem_ok:1;
-  /* Nonzero if '<' was found in the constraint string.  */
-  unsigned int decmem_ok:1;
-  /* Nonzero if '>' was found in the constraint string.  */
-  unsigned int incmem_ok:1;
+  unsigned int memory_ok : 1;
   /* Nonzero if 'p' was found in the constraint string.  */
-  unsigned int is_address:1;
+  unsigned int is_address : 1;
   /* Nonzero if 'X' was found in the constraint string, or if the constraint
      string for this alternative was empty.  */
-  unsigned int anything_ok:1;
+  unsigned int anything_ok : 1;
 
-  unsigned int unused : 8;
+  unsigned int unused : 12;
 };
 
 /* Return the class for operand I of alternative ALT, taking matching
Index: gcc/recog.c
===================================================================
--- gcc/recog.c 2014-06-04 18:15:06.589969020 +0100
+++ gcc/recog.c 2014-06-04 18:19:30.392331986 +0100
@@ -2415,18 +2415,6 @@ preprocess_constraints (int n_operands,
                case TARGET_MEM_CONSTRAINT:
                  op_alt[i].memory_ok = 1;
                  break;
-               case '<':
-                 op_alt[i].decmem_ok = 1;
-                 break;
-               case '>':
-                 op_alt[i].incmem_ok = 1;
-                 break;
-               case 'V':
-                 op_alt[i].nonoffmem_ok = 1;
-                 break;
-               case 'o':
-                 op_alt[i].offmem_ok = 1;
-                 break;
                case 'X':
                  op_alt[i].anything_ok = 1;
                  break;

Reply via email to