This change refactors the CPU definitions in ARM.td to pull out architecture as separate subtarget features, this has a few benefits:
- It allows architectures to more accurately be targeted
- It removes the hard-coded feature strings in the ARM backend's MCTargetDesc
- It generally tidies up the target definitions ARM.td allowing CPUs to properly inherit from architectures
The rationale behind this is two fold, firstly to help support architectures being targeted using -mcpu=generic (see my next patch for details), and also so that multiple architectures without a supported CPU (such as ARMv8.1-A currently) can be targeted without having duplicate generic CPU fields in the TargetParser (which is currently broken, see my next patch also).
The intention here is not to change the the current set of features enabled for each CPU, the feature sets should be remaining the same.
nitpick: FS may not be the best of names...