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 ownextern "C"
wrapper functions around the unstable LLVM C++ API (LLVMRust*
).
Structs§
- Alloc
Kind Flags - Archive
Child - Archive
Iterator - Builder
- Linker
- Operand
Bundle 🔒Owned - Owns an
OperandBundle
, and will dispose of it when dropped. - Pass
Manager - RawEnum
- Wrapper for a raw enum value returned from LLVM’s C APIs.
- Rust
Archive Member - Sanitizer
Options - LLVMRustSanitizerOptions
- ThinLTO
Module - LLVMRustThinLTOModule
Enums§
- Archive
Kind - LLVMRustArchiveKind
- AsmDialect
- LLVMRustAsmDialect
- Atomic
Ordering - LLVMAtomicOrdering
- Atomic
RmwBin Op - LLVMAtomicRmwBinOp
- Attribute
Kind - 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) - Attribute
Place - Call
Conv - LLVM CallingConv::ID. Should we wrap this?
- Checksum
Kind - LLVMRustChecksumKind
- Code
GenOpt Level - LLVMRustCodeGenOptLevel
- Code
GenOpt Size - Code
Model - LLVMRustCodeModel
- DLLStorage
Class - LLVMDLLStorageClass
- Diagnostic
Kind - LLVMRustDiagnosticKind
- Diagnostic
Level - LLVMRustDiagnosticLevel
- File
Type - LLVMRustFileType
- Float
Abi - LLVMRustFloatABI
- IntPredicate
- LLVMIntPredicate
- LLVM
Rust Result - Linkage
- Must match the layout of
LLVMLinkage
. - Memory
Effects - LLVMRustMemoryEffects
- Metadata
Type - LLVMMetadataType
- Module
Flag Merge Behavior - Must match the layout of
LLVMRustModuleFlagMergeBehavior
. - Opcode
- LLVMOpcode
- OptStage
- LLVMRustOptStage
- Pass
Builder OptLevel - LLVMRustPassBuilderOptLevel
- Real
Predicate - LLVMRealPredicate
- Reloc
Model - LLVMRustRelocModel
- Thread
Local Mode - LLVMThreadLocalMode
- Type
Kind - LLVMTypeKind
- Unnamed
Addr - LLVMUnnamedAddr
- Visibility
- Must match the layout of
LLVMVisibility
.
Constants§
Functions§
- AddCall
Site 🔒Attributes - AddFunction
Attributes 🔒 - Create
Alignment 🔒Attr - Create
Alloc 🔒Kind Attr - Create
Alloc 🔒Size Attr - Create
Attr 🔒String - Create
Attr 🔒String Value - Create
ByVal 🔒Attr - Create
Dereferenceable 🔒Attr - Create
Dereferenceable 🔒OrNull Attr - Create
Range 🔒Attr - Create
Struct 🔒RetAttr - CreateUW
Table 🔒Attr - SetFunction
Call 🔒Conv - SetInstruction
Call 🔒Conv - SetUnique
Comdat 🔒 - SetUnnamed
Address 🔒 - 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
name
d comdat fromllmod
and assign it tollglobal
. - 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
. - Diagnostic
Handler Ty - GetSymbols
Callback - GetSymbols
Error Callback - Self
Profile After Pass Callback - Self
Profile Before Pass Callback