-
-
Notifications
You must be signed in to change notification settings - Fork 751
Description
Supporting other Stable Targets
As of right now (1.5.4-SNAPSHOT) the LLVM build is set to only enable the target the host we're building for(1). Is there a specific reason we're only enabling the host target? This makes the current LLVM binary unable to cross-compile because it doesn't have the other backends.
Supporting Experimental Targets
As of LLVM 10.0.1 LLVM has 19(2) targets, 17(3) of which are "stable", experimental backends being AVR and ARC. If we do decide to enable all the stable targets, we should also consider providing support for the experimental backends.
We should also note that AVR has become a stable backend as of LLVM 11.0.0-rc1.
Footnotes
-
In the cppbuild.sh, the Cmake
-DLLVM_TARGETS_TO_BUILD
variable is set tohost
, or whichever target if we are cross-compiling LLVM itself. One would assume this enables the target equal to the one we're building LLVM on, but I couldn't find anything regardinghost
in the LLVM Cmake build. I do believe it is currently only enabling the targets for the host arch though, becauseLLVMGetFirstTarget()
withLLVMGetNextTarget()
only yields the platform the binary was built for. -
List of targets https://github.com/llvm/llvm-project/tree/llvmorg-10.0.1/llvm/lib/Target
-
List of stable targets https://github.com/llvm/llvm-project/blob/llvmorg-10.0.1/llvm/CMakeLists.txt#L288
Would love to hear your thoughts about this.