Add the concept of a per-subtarget system model, incorporating information
about caches, execution resources, write-combining buffers and software
prefetching configuration.
This is TableGen-driven so that targets may conveniently define new system
models and associate system models with subtargets.
By default, processor classes use a system model that captures the legacy
values exposed by TargetTransformInfo and/or MCSubtarget and friends.
Targets may opt-in to custom system models by defining them and associating
them in instantiations of the Processor template, similarly to how schedulers
are associated.
This patch is for overall higher-level design discussion, to provide a view of where this is going. Smaller patches to review for actual merging will follow.
[bikeshedding] The name should indicate that these methods just return some information. How about isPrefetchingReads/etc.?