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_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