This series of patches tries to improve the way that constraints are matched. It breaks down into three parts:
(a) the first three patches speed up the routines generated by genpreds.c. (b) the fourth patch avoids repeated calls to lookup_constraint. (c) the final four patches (which are really a single change split up for review purposes) use .md files to define all standard constraints except 'g'. Overall the series gives a 1% compile-time improvement in my favourite -O0 fold-const.ii test. Each of the three parts gives a reproducible speed-up compared to the previous state. Hopefully it's also a cleanup; diffstat for the series (plus the single_reg_class patch I posted earlier) is: 20 files changed, 575 insertions(+), 1217 deletions(-) Tested on x86_64-linux-gnu. Also tested by compiling gcc.dg, g++.dg and gcc.c-torture at -O2 for one target per config/ directory. There were no changes in asm output. OK to install? Thanks, Richard