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