This patch teaches the Triple class to compute 32-bit variants of 64-bit architectures and 64-bit variants of 32-bit architectures. These can be used when reasoning about what alternate triples may have semi-compatible toolchains such as multiarch and bi-arch toolchains. The goal in placing this logic here is to associate it closely with the triple and architecture definitions themselves so that as those change, this gets updated and maintained.<div>
<br></div><div>Comments on the somewhat clunky API welcome. The reason I went with returning a full triple rather than operating exclusively on the Arch is to make code using the interface as concise as possible.</div>