Re-exports§
pub use self::AtomicRmwBinOp::*;
pub use self::CallConv::*;
pub use self::CodeGenOptSize::*;
pub use self::IntPredicate::*;
pub use self::Linkage::*;
pub use self::MetadataType::*;
pub use self::RealPredicate::*;
Modules§
- archive_
ro - A wrapper around LLVM’s archive (.a) code
- debuginfo
- diagnostic
- LLVM diagnostic reports.
- enzyme_
ffi
Structs§
- Alloc
Kind Flags - Archive
Child - Archive
Iterator - Builder
- Linker
- 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
Machine Type - Translation of LLVM’s MachineTypes enum, defined in llvm\include\llvm\BinaryFormat\COFF.h.
- LLVM
Rust Result - LLVM
Rust Verifier Failure Action - 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
- Tail
Call Kind - LLVMRustTailCallKind
- 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 - LLVM
AddAnalysis ⚠Passes - LLVM
AddCase ⚠ - LLVM
AddClause ⚠ - LLVM
AddGlobal ⚠ - LLVM
AddHandler ⚠ - LLVM
AddIncoming ⚠ - LLVM
AddNamed ⚠Metadata Operand - LLVM
Append ⚠Basic Block InContext - LLVM
Append ⚠Module Inline Asm - See Module::setModuleInlineAsm.
- LLVM
Array ⚠Type2 - LLVM
BuildA ⚠Shr - LLVM
Build ⚠Add - LLVM
Build ⚠Alloca - LLVM
Build ⚠And - LLVM
Build ⚠Array Alloca - LLVM
Build ⚠Atomic CmpXchg - LLVM
Build ⚠AtomicRMW - LLVM
Build ⚠BitCast - LLVM
Build ⚠Br - LLVM
Build ⚠Catch Pad - LLVM
Build ⚠Catch Ret - LLVM
Build ⚠Catch Switch - LLVM
Build ⚠Cleanup Pad - LLVM
Build ⚠Cleanup Ret - LLVM
Build ⚠Cond Br - LLVM
Build ⚠ExactS Div - LLVM
Build ⚠ExactU Div - LLVM
Build ⚠Extract Element - LLVM
Build ⚠Extract Value - LLVM
BuildF ⚠Add - LLVM
BuildF ⚠Cmp - LLVM
BuildF ⚠Div - LLVM
BuildF ⚠Mul - LLVM
BuildF ⚠Neg - LLVM
BuildFP ⚠Ext - LLVM
BuildFP ⚠ToSI - LLVM
BuildFP ⚠ToUI - LLVM
BuildFP ⚠Trunc - LLVM
BuildF ⚠Rem - LLVM
BuildF ⚠Sub - LLVM
Build ⚠Fence - LLVM
BuildGE ⚠P2 - LLVM
BuildI ⚠Cmp - LLVM
Build ⚠InBoundsGE P2 - LLVM
Build ⚠Insert Element - LLVM
Build ⚠Insert Value - LLVM
Build ⚠IntCast2 - LLVM
Build ⚠IntTo Ptr - LLVM
BuildL ⚠Shr - LLVM
Build ⚠Landing Pad - LLVM
Build ⚠Load2 - LLVM
Build ⚠Mul - LLVM
BuildNSW ⚠Add - LLVM
BuildNSW ⚠Mul - LLVM
BuildNSW ⚠Sub - LLVM
BuildNUW ⚠Add - LLVM
BuildNUW ⚠Mul - LLVM
BuildNUW ⚠Sub - LLVM
Build ⚠Neg - LLVM
Build ⚠Not - LLVM
Build ⚠Or - LLVM
Build ⚠Phi - LLVM
Build ⚠Pointer Cast - LLVM
Build ⚠PtrTo Int - LLVM
Build ⚠Resume - LLVM
Build ⚠Ret - LLVM
Build ⚠RetVoid - LLVM
BuildS ⚠Div - LLVM
BuildS ⚠Ext - LLVM
BuildSI ⚠ToFP - LLVM
BuildS ⚠Rem - LLVM
Build ⚠Select - LLVM
Build ⚠Shl - LLVM
Build ⚠Shuffle Vector - LLVM
Build ⚠Store - LLVM
Build ⚠Sub - LLVM
Build ⚠Switch - LLVM
Build ⚠Trunc - LLVM
BuildU ⚠Div - LLVM
BuildUI ⚠ToFP - LLVM
BuildU ⚠Rem - LLVM
Build ⚠Unreachable - LLVM
BuildVA ⚠Arg - LLVM
Build ⚠Xor - LLVM
BuildZ ⚠Ext - LLVM
Clone ⚠Module - LLVM
Const ⚠Array2 - LLVM
Const ⚠BitCast - LLVM
Const ⚠InBoundsGE P2 - LLVM
Const ⚠Int - LLVM
Const ⚠IntOf Arbitrary Precision - LLVM
Const ⚠IntTo Ptr - LLVM
Const ⚠Null - LLVM
Const ⚠Pointer Cast - LLVM
Const ⚠PtrTo Int - LLVM
Const ⚠Real - LLVM
Const ⚠String InContext2 - LLVM
Const ⚠Struct InContext - LLVM
Const ⚠Vector - LLVM
Context ⚠Dispose - LLVM
Count ⚠Param Types - LLVM
Count ⚠Params - LLVM
Create ⚠Builder InContext - LLVM
Create ⚠Pass Manager - Creates a legacy pass manager – only used for final codegen.
- LLVM
Create ⚠String Attribute - LLVM
Delete ⚠Global - LLVM
Dispose ⚠Builder - LLVM
Dispose ⚠Message - LLVM
Double ⚠Type InContext - LLVM
Dump ⚠Module - LLVM
Dump ⚠Value - LLVMF
P128 ⚠Type InContext - LLVM
Float ⚠Type InContext - LLVM
Function ⚠Type - LLVM
GetAggregate ⚠Element - LLVM
GetAlignment ⚠ - LLVM
GetBasic ⚠Block Parent - LLVM
GetConst ⚠Opcode - LLVM
GetCurrent ⚠Debug Location2 - LLVM
GetData ⚠Layout Str - Data layout. See Module::getDataLayout.
- LLVM
GetElement ⚠Type - LLVM
GetFirst ⚠Basic Block - LLVM
GetFirst ⚠Global - LLVM
GetFunction ⚠Call Conv - LLVM
GetHostCPU ⚠Features - LLVM
GetInitializer ⚠ - LLVM
GetInsert ⚠Block - LLVM
GetInt ⚠Type Width - LLVM
GetLinkage ⚠ - LLVM
GetMD ⚠KindID InContext - LLVM
GetModule ⚠Context - LLVM
GetNamed ⚠Function - LLVM
GetNamed ⚠Global - LLVM
GetNext ⚠Global - LLVM
GetOperand ⚠ - LLVM
GetOr ⚠Insert Comdat - LLVM
GetParam ⚠ - LLVM
GetParam ⚠Types - LLVM
GetParams ⚠ - LLVM
GetPoison ⚠ - LLVM
GetReturn ⚠Type - LLVM
GetUndef ⚠ - LLVM
GetValue ⚠Name2 - LLVM
GetVector ⚠Size - LLVM
GetVisibility ⚠ - LLVM
Global ⚠GetValue Type - LLVM
Global ⚠SetMetadata - LLVM
Half ⚠Type InContext - LLVM
Int1 ⚠Type InContext - LLVM
Int8 ⚠Type InContext - LLVM
Int16 ⚠Type InContext - LLVM
Int32 ⚠Type InContext - LLVM
Int64 ⚠Type InContext - LLVM
IntType ⚠InContext - LLVM
IsAArgument ⚠ - LLVM
IsAConstant ⚠Expr - LLVM
IsAConstant ⚠Int - LLVM
IsAGlobal ⚠Variable - LLVM
IsAInstruction ⚠ - LLVM
IsDeclaration ⚠ - LLVM
IsGlobal ⚠Constant - LLVM
IsMultithreaded ⚠ - LLVM
IsThread ⚠Local - LLVM
IsUndef ⚠ - LLVMMD
Node ⚠InContext2 - LLVMMD
String ⚠InContext2 - LLVM
Metadata ⚠AsValue - LLVM
Metadata ⚠Type InContext - LLVM
Module ⚠Create With Name InContext - LLVM
Pointer ⚠Type InContext - LLVM
Position ⚠Builder AtEnd - LLVM
Replace ⚠AllUses With - LLVM
Rust ⚠AddCall Site Attributes - LLVM
Rust ⚠AddFunction Attributes - LLVM
Rust ⚠AddLibrary Info - LLVM
Rust ⚠AddModule Flag String - LLVM
Rust ⚠AddModule Flag U32 - Add LLVM module flags.
- LLVM
Rust ⚠Archive Child Free - LLVM
Rust ⚠Archive Child Name - LLVM
Rust ⚠Archive Iterator Free - LLVM
Rust ⚠Archive Iterator New - LLVM
Rust ⚠Archive Iterator Next - LLVM
Rust ⚠Archive Member Free - LLVM
Rust ⚠Archive Member New - LLVM
Rust ⚠Build Atomic Load - LLVM
Rust ⚠Build Atomic Store - LLVM
Rust ⚠Build MaxNum - LLVM
Rust ⚠Build MemCpy - LLVM
Rust ⚠Build MemMove - LLVM
Rust ⚠Build MemSet - LLVM
Rust ⚠Build MinNum - LLVM
Rust ⚠Build Vector Reduce Add - LLVM
Rust ⚠Build Vector Reduce And - LLVM
Rust ⚠Build Vector ReduceF Add - LLVM
Rust ⚠Build Vector ReduceF Max - LLVM
Rust ⚠Build Vector ReduceF Min - LLVM
Rust ⚠Build Vector ReduceF Mul - LLVM
Rust ⚠Build Vector Reduce Max - LLVM
Rust ⚠Build Vector Reduce Min - LLVM
Rust ⚠Build Vector Reduce Mul - LLVM
Rust ⚠Build Vector Reduce Or - LLVM
Rust ⚠Build Vector Reduce Xor - LLVM
Rust ⚠ComputeLTO Cache Key - LLVM
Rust ⚠Const Int128 Get - LLVM
Rust ⚠Const IntGetZ ExtValue - LLVM
Rust ⚠Context Configure Diagnostic Handler - LLVM
Rust ⚠Context Create - LLVM
Rust ⚠Context GetDiagnostic Handler - LLVM
Rust ⚠Context SetDiagnostic Handler - LLVM
Rust ⚠Create Alignment Attr - LLVM
Rust ⚠Create Alloc Kind Attr - LLVM
Rust ⚠Create Alloc Size Attr - LLVM
Rust ⚠Create Attr NoValue - LLVM
Rust ⚠Create ByVal Attr - LLVM
Rust ⚠Create Dereferenceable Attr - LLVM
Rust ⚠Create Dereferenceable OrNull Attr - LLVM
Rust ⚠Create Element Type Attr - LLVM
Rust ⚠Create Memory Effects Attr - LLVM
Rust ⚠Create Range Attribute - LLVM
Rust ⚠Create Struct RetAttr - LLVM
Rust ⚠Create Target Machine - LLVM
Rust ⚠Create ThinLTO Data - LLVM
Rust ⚠CreateUW Table Attr - LLVM
RustDI ⚠Builder Create - LLVM
RustDI ⚠Builder Create Array Type - LLVM
RustDI ⚠Builder Create Basic Type - LLVM
RustDI ⚠Builder Create Compile Unit - LLVM
RustDI ⚠Builder Create Debug Location - LLVM
RustDI ⚠Builder Create Enumeration Type - LLVM
RustDI ⚠Builder Create Enumerator - LLVM
RustDI ⚠Builder Create File - LLVM
RustDI ⚠Builder Create Function - LLVM
RustDI ⚠Builder Create Lexical Block - LLVM
RustDI ⚠Builder Create Lexical Block File - LLVM
RustDI ⚠Builder Create Member Type - LLVM
RustDI ⚠Builder Create Method - LLVM
RustDI ⚠Builder Create Name Space - LLVM
RustDI ⚠Builder Create Pointer Type - LLVM
RustDI ⚠Builder Create Qualified Type - LLVM
RustDI ⚠Builder Create Static Member Type - LLVM
RustDI ⚠Builder Create Static Variable - LLVM
RustDI ⚠Builder Create Struct Type - LLVM
RustDI ⚠Builder Create Subroutine Type - LLVM
RustDI ⚠Builder Create Template Type Parameter - LLVM
RustDI ⚠Builder Create Typedef - LLVM
RustDI ⚠Builder Create Union Type - LLVM
RustDI ⚠Builder Create Variable - LLVM
RustDI ⚠Builder Create Variant Member Type - LLVM
RustDI ⚠Builder Create Variant Part - LLVM
RustDI ⚠Builder Dispose - LLVM
RustDI ⚠Builder Finalize - LLVM
RustDI ⚠Builder GetOr Create Array - LLVM
RustDI ⚠Builder GetOr Create Subrange - LLVM
RustDI ⚠Builder Insert Declare AtEnd - LLVM
RustDI ⚠Composite Type Replace Arrays - LLVM
RustDI ⚠GetInst Metadata - LLVM
RustDI ⚠Location Clone With Base Discriminator - LLVM
Rust ⚠Debug Metadata Version - LLVM
Rust ⚠Destroy Archive - LLVM
Rust ⚠Disable System Dialogs OnCrash - LLVM
Rust ⚠Dispose Target Machine - LLVM
Rust ⚠Erase Inst From Parent - LLVM
Rust ⚠Erase Inst Until Inclusive - LLVM
Rust ⚠Free ThinLTO Data - LLVM
Rust ⚠GetDiag Info Kind - LLVM
Rust ⚠GetElement Type ArgIndex - LLVM
Rust ⚠GetHostCPU Name - LLVM
Rust ⚠GetLast Error - Returns a string describing the last error caused by an LLVMRust* call.
- LLVM
Rust ⚠GetLast Instruction - LLVM
Rust ⚠GetMangled Name - LLVM
Rust ⚠GetNamed Value - LLVM
Rust ⚠GetOr Insert Function - LLVM
Rust ⚠GetOr Insert Global - LLVM
Rust ⚠GetSM Diagnostic - LLVM
Rust ⚠GetSlice From Object Data ByName - LLVM
Rust ⚠GetSymbols - LLVM
Rust ⚠GetTarget Feature - LLVM
Rust ⚠GetTarget Features Count - LLVM
Rust ⚠GetTerminator - LLVM
Rust ⚠GetType Kind - See llvm::LLVMTypeKind::getTypeID.
- LLVM
Rust ⚠Global AddMetadata - LLVM
Rust ⚠HasFeature - LLVM
Rust ⚠HasMetadata - LLVM
Rust ⚠Inline Asm - Prepares inline assembly.
- LLVM
Rust ⚠Inline AsmVerify - LLVM
Rust ⚠Insert Private Global - LLVM
Rust ⚠Install Error Handlers - LLVM
Rust ⚠Is64 BitSymbolic File - LLVM
Rust ⚠IsBitcode - LLVM
Rust ⚠IsEC Object - LLVM
Rust ⚠IsNonGV Function Pointer Ty - LLVM
RustLLVM ⚠HasZlib Compression ForDebug Symbols - LLVM
RustLLVM ⚠HasZstd Compression ForDebug Symbols - LLVM
Rust ⚠Linker Add - LLVM
Rust ⚠Linker Free - LLVM
Rust ⚠Linker New - LLVM
Rust ⚠Module Buffer Create - LLVM
Rust ⚠Module Buffer Free - LLVM
Rust ⚠Module Buffer Len - LLVM
Rust ⚠Module Buffer Ptr - LLVM
Rust ⚠Module Cost - LLVM
Rust ⚠Module Instruction Stats - LLVM
Rust ⚠Open Archive - LLVM
Rust ⚠Optimize - LLVM
Rust ⚠Parse Bitcode ForLTO - LLVM
Rust ⚠Position Builder AtStart - LLVM
Rust ⚠Prepare ThinLTO Import - LLVM
Rust ⚠Prepare ThinLTO Internalize - LLVM
Rust ⚠Prepare ThinLTO Rename - LLVM
Rust ⚠Prepare ThinLTO Resolve Weak - LLVM
Rust ⚠Print Module - LLVM
Rust ⚠Print Passes - LLVM
Rust ⚠RunRestriction Pass - LLVM
Rust ⚠SetAlgebraic Math - LLVM
Rust ⚠SetAllow Reassoc - LLVM
Rust ⚠SetDSO Local - LLVM
Rust ⚠SetData Layout From Target Machine - LLVM
Rust ⚠SetFast Math - LLVM
Rust ⚠SetLLVM Options - LLVM
Rust ⚠SetModule Code Model - LLVM
Rust ⚠SetModulePIC Level - LLVM
Rust ⚠SetModulePIE Level - LLVM
Rust ⚠SetNo Sanitize Address - LLVM
Rust ⚠SetNo SanitizeHW Address - LLVM
Rust ⚠SetNormalized Target - LLVM
Rust ⚠SetTail Call Kind - LLVM
Rust ⚠ThinLTO Buffer Create - LLVM
Rust ⚠ThinLTO Buffer Free - LLVM
Rust ⚠ThinLTO Buffer Len - LLVM
Rust ⚠ThinLTO Buffer Ptr - LLVM
Rust ⚠ThinLTO Buffer Thin Link Data Len - LLVM
Rust ⚠ThinLTO Buffer Thin Link Data Ptr - LLVM
Rust ⚠Time Trace Profiler Finish - LLVM
Rust ⚠Time Trace Profiler Finish Thread - LLVM
Rust ⚠Time Trace Profiler Initialize - LLVM
Rust ⚠Unpack Inline AsmDiagnostic - LLVM
Rust ⚠Unpack Optimization Diagnostic - LLVM
Rust ⚠UnpackSM Diagnostic - LLVM
Rust ⚠Verify Function - LLVM
Rust ⚠Version Major - LLVM
Rust ⚠Version Minor - LLVM
Rust ⚠Version Patch - LLVM
Rust ⚠Write Archive - LLVM
Rust ⚠Write Diagnostic Info ToString - LLVM
Rust ⚠Write Output File - LLVM
Rust ⚠Write Twine ToString - LLVM
Rust ⚠Write Type ToString - LLVM
Rust ⚠Write Value ToString - LLVM
SetAlignment ⚠ - LLVM
SetCleanup ⚠ - LLVM
SetComdat ⚠ - LLVM
SetCurrent ⚠Debug Location2 - LLVM
SetDLL ⚠Storage Class - LLVM
SetData ⚠Layout - LLVM
SetFunction ⚠Call Conv - LLVM
SetGlobal ⚠Constant - LLVM
SetInitializer ⚠ - LLVM
SetInstruction ⚠Call Conv - LLVM
SetLinkage ⚠ - LLVM
SetMetadata ⚠ - LLVM
SetPersonality ⚠Fn - LLVM
SetSection ⚠ - LLVM
SetTail ⚠Call - LLVM
SetThread ⚠Local Mode - LLVM
SetUnnamed ⚠Address - LLVM
SetValue ⚠Name2 - LLVM
SetVisibility ⚠ - LLVM
SetVolatile ⚠ - LLVM
SetWeak ⚠ - LLVM
Struct ⚠Create Named - LLVM
Struct ⚠SetBody - LLVM
Struct ⚠Type InContext - LLVM
Token ⚠Type InContext - LLVM
Type ⚠Of - LLVM
Value ⚠AsMetadata - LLVM
Vector ⚠Type - LLVM
Void ⚠Type InContext - LLVM
Write ⚠Bitcode ToFile - Writes a module to the specified path. Returns 0 on success.
- SetFunction
Call Conv - SetInstruction
Call Conv - SetUnique
Comdat - SetUnnamed
Address - add_
global - 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 - 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 - Inline
AsmDiag Handler Ty - Self
Profile After Pass Callback - Self
Profile Before Pass Callback