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;