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;