What's the purpose of the TargetSubtarget class? It appears the only users
of getSubtarget are in the target-specific code, where the abstraction is
Is it just a way to encourage targets to follow a nice pattern of keeping
subtarget state in a separate class, or are there grand plans?