Expand description
Compilation of native dependencies like LLVM.
Native projects like LLVM unfortunately arenβt suited just yet for compilation in build scripts that Cargo has. This is because the compilation takes a very long time but also because we donβt want to compile LLVM 3 times as part of a normal bootstrap (we want it cached).
LLVM and compiler-rt are essentially just wired up to everything else to ensure that theyβre always in place if needed.
StructsΒ§
- Built
Enzyme - Built
OmpOffload - Built
Rust Offload - CcFlags π
- Allows each step to add C/Cxx flags which are only used for a specific cmake invocation.
- CrtBegin
End - Downloaded
Llvm - Enzyme
- File
Check - Returns the path to
FileCheckLLVM binary for the specified target. - LdFlags π
- Linker flags to pass to LLVMβs CMake invocation.
- Libunwind
- Lld
- Llvm
- Llvm
Build Info - Llvm
From Ci - This step explicitly represents the output of downloaded LLVM. The step will provide an output only if all the following is true:
- Llvm
Output - Result of building or downloading LLVM artifacts.
- OmpOffload
- Rust
Offload - Sanitizer
Runtime - Sanitizers
EnumsΒ§
ConstantsΒ§
- LLVM_
CI_ LINK_ TYPE_ PATH - Path where a file containing the link type (dynamic or static) is stored in the LLVM CI tarball.
- LLVM_
INVALIDATION_ PATHS - Paths whose changes invalidate LLVM downloads.
FunctionsΒ§
- check_
llvm_ πversion - configure_
cmake π - configure_
llvm π - detect_
llvm_ πfreshness - Detect whether LLVM sources have been modified locally or not.
- get_
llvm_ build_ status - This returns whether weβve already previously built LLVM.
- get_
llvm_ πprofile - get_
llvm_ version - get_
llvm_ version_ major - get_var π
- is_
ci_ πllvm_ available_ for_ target - Returns whether the CI-found LLVM is currently usable.
- llvm_
link_ πshared - Determine whether llvm should be linked dynamically.
NOTE: This only contains the value from the config.
If you need to figure out the correct value for a specific LLVM instance, use
prebuilt_llvm_configinstead. - prebuilt_
llvm_ output - Attempt to return prebuilt LLVM output information, either downloaded from CI or through an externally provided LLVM.
- supported_
sanitizers π - Returns sanitizers available on a given target.
- try_
download_ πci_ llvm