Skip to main content

Module llvm

Module llvm 

Source
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ยง

BuiltEnzyme
BuiltOmpOffload
BuiltRustOffload
CcFlags ๐Ÿ”’
Allows each step to add C/Cxx flags which are only used for a specific cmake invocation.
CrtBeginEnd
Enzyme
FileCheck
Returns the path to FileCheck LLVM binary for the specified target.
LdFlags ๐Ÿ”’
Linker flags to pass to LLVMโ€™s CMake invocation.
Libunwind
Lld
Llvm
LlvmBuildInfo
LlvmOutput
Result of building or downloading LLVM artifacts.
OmpOffload
RustOffload
SanitizerRuntime
Sanitizers

Enumsยง

LlvmBuildStatus

Constantsยง

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_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.
prebuilt_llvm_config
This returns whether weโ€™ve already previously built LLVM.
supported_sanitizers ๐Ÿ”’
Returns sanitizers available on a given target.