[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:19 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.
More information about the llvm-commits
mailing list