Module llvm

Source

Re-exports§

pub use self::CallConv::*;
pub use self::CodeGenOptSize::*;
pub use self::MetadataType::*;
pub use self::enzyme_ffi::*;

Modules§

archive_ro
A wrapper around LLVM’s archive (.a) code
debuginfo
diagnostic
LLVM diagnostic reports.
enzyme_ffi
ffi 🔒
Bindings to the LLVM-C API (LLVM*), and to our own extern "C" wrapper functions around the unstable LLVM C++ API (LLVMRust*).

Structs§

AllocKindFlags
ArchiveChild
ArchiveIterator
Builder
Linker
OperandBundleOwned 🔒
Owns an OperandBundle, and will dispose of it when dropped.
PassManager
RawEnum
Wrapper for a raw enum value returned from LLVM’s C APIs.
RustArchiveMember
SanitizerOptions
LLVMRustSanitizerOptions
ThinLTOModule
LLVMRustThinLTOModule

Enums§

ArchiveKind
LLVMRustArchiveKind
AsmDialect
LLVMRustAsmDialect
AtomicOrdering
LLVMAtomicOrdering
AtomicRmwBinOp
LLVMAtomicRmwBinOp
AttributeKind
Must match the layout of LLVMRustAttributeKind. Semantically a subset of the C++ enum llvm::Attribute::AttrKind, though it is not ABI compatible (since it’s a C++ enum)
AttributePlace
CallConv
LLVM CallingConv::ID. Should we wrap this?
ChecksumKind
LLVMRustChecksumKind
CodeGenOptLevel
LLVMRustCodeGenOptLevel
CodeGenOptSize
CodeModel
LLVMRustCodeModel
DLLStorageClass
LLVMDLLStorageClass
DiagnosticKind
LLVMRustDiagnosticKind
DiagnosticLevel
LLVMRustDiagnosticLevel
FileType
LLVMRustFileType
FloatAbi
LLVMRustFloatABI
IntPredicate
LLVMIntPredicate
LLVMRustResult
Linkage
Must match the layout of LLVMLinkage.
MemoryEffects
LLVMRustMemoryEffects
MetadataType
LLVMMetadataType
ModuleFlagMergeBehavior
Must match the layout of LLVMRustModuleFlagMergeBehavior.
Opcode
LLVMOpcode
OptStage
LLVMRustOptStage
PassBuilderOptLevel
LLVMRustPassBuilderOptLevel
RealPredicate
LLVMRealPredicate
RelocModel
LLVMRustRelocModel
ThreadLocalMode
LLVMThreadLocalMode
TypeKind
LLVMTypeKind
UnnamedAddr
LLVMUnnamedAddr
Visibility
Must match the layout of LLVMVisibility.

Constants§

False
True

Functions§

AddCallSiteAttributes 🔒
AddFunctionAttributes 🔒
CreateAlignmentAttr 🔒
CreateAllocKindAttr 🔒
CreateAllocSizeAttr 🔒
CreateAttrString 🔒
CreateAttrStringValue 🔒
CreateByValAttr 🔒
CreateDereferenceableAttr 🔒
CreateDereferenceableOrNullAttr 🔒
CreateRangeAttr 🔒
CreateStructRetAttr 🔒
CreateUWTableAttr 🔒
SetFunctionCallConv 🔒
SetInstructionCallConv 🔒
SetUniqueComdat 🔒
SetUnnamedAddress 🔒
add_global 🔒
add_module_flag_str 🔒
add_module_flag_u32 🔒
build_byte_buffer 🔒
build_string 🔒
get_linkage 🔒
get_param 🔒
Safe wrapper around LLVMGetParam, because segfaults are no fun.
get_value_name 🔒
Safe wrapper for LLVMGetValueName2 into a byte slice
get_visibility 🔒
is_declaration 🔒
last_error 🔒
set_alignment 🔒
set_comdat 🔒
Get the named comdat from llmod and assign it to llglobal.
set_dllimport_storage_class 🔒
set_dso_local 🔒
set_global_constant 🔒
set_initializer 🔒
set_linkage 🔒
set_section 🔒
set_thread_local_mode 🔒
set_value_name 🔒
Safe wrapper for LLVMSetValueName2 from a byte slice
set_visibility 🔒
twine_to_string 🔒

Type Aliases§

Bool
In the LLVM-C API, boolean values are passed as typedef int LLVMBool, which has a different ABI from Rust or C++ bool.
DiagnosticHandlerTy
GetSymbolsCallback
GetSymbolsErrorCallback
SelfProfileAfterPassCallback
SelfProfileBeforePassCallback

Foreign Types§

Archive
Attribute
BasicBlock
Comdat
ConstantInt
Context
DiagnosticHandler
DiagnosticInfo
Metadata
Module
ModuleBuffer
SMDiagnostic
TargetMachine
ThinLTOBuffer
ThinLTOData
Twine
Type
Value