All targets require a registered MCTargetMachine, even if it's just
MCTargetMachine itself.
A small number of MCTargetMachine subclasses (namely PPCMCTargetMachine,
and X86MCTargetMachine) store the Triple in order to compare MacOSX
versions. Ideally, this would be possible without having to store a Triple.
A corresponding patch to clang will be committed along with this. The patch
is similar to the patches in the tools in ./tools/....
Mips currently obtains the ABI from the Triple architecture. This is wrong
since the architecture is the wrong source for this information, the value
is often misleading, and selecting the N32 ABI isn't possible. However,
it preserves the existing behaviour for the moment. A follow-up patch will
address these problems.
Follow up patches will expand the MCTargetMachine to other parts of the MC
layer.