[PATCH] D33287: [Linker] Add support for linking ARM and Thumb IR modules.

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Tue May 23 10:36:04 PDT 2017



On 23/05/2017 18:20, Eric Christopher wrote:
> I think the general way I'd look at fixing this is:
>
> a) migrate to a single TargetMachine in the backend (you've apparently
> got a patch out for this, but needs reviewing)

Yep, https://reviews.llvm.org/D33318 but that's more of a cleanup and
should be a NFC.

> b) migrate to using thumb as a subtarget feature on every function from
> code generation

I've just put up a clang patch that should do that
https://reviews.llvm.org/D33448

> c) autoupgrade modules using a thumb triple to have the thumb attribute
> on functions (making this patch obsolete)

What would be the best place for this upgrade be? I think we still have
to update Triple::isCompatible to allow linking armxx and thumbxx
triples. I'll update this patch tomorrow.

> d) ... something I'm probably forgetting.

I've also put up a patch fixing a problem with mixing Thumb and ARM
functions in a single compilation unit https://reviews.llvm.org/D33436



(b) and (c) would also be a first step towards getting rid of the
thumbxx triples, as David suggested, although thumbxx triples are
currently the only way to specify that all functions in a compilation
unit have +thumb-mode in the llvm binaries AFAIK.

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


More information about the llvm-commits mailing list