Expand description
This library provides wrappers for LLVM that are memory-safe and follow Rust idioms.
The original LLVM reference is available here but take note that this isn’t as thorough as this documentation.
Re-exports
pub use value::Alias;pub use value::Arg;pub use value::Function;pub use value::GlobalValue;pub use value::GlobalVariable;pub use value::Linkage;pub use value::Predicate;pub use value::Value;pub use types::*;Modules
Structs
A container of instructions that execute sequentially.
This provides a uniform API for creating instructions and inserting them into a basic block.
A wrapper for pointers made by C that are now completely owned by Rust, so
they are not limited by any lifetimes.
A wrapper for pointers made by C that are now partially owned in Rust.
Contains all the LLVM entities - mainly modules.
An iterator through the functions contained in a module.
A wrapped value that can be passed to an interpreted function or returned from one
The interpreter backend
The MCJIT backend, which compiles functions and values into machine code.
The options to pass to the MCJIT backend.
Represents a single compilation unit of code.
An external object file that has been parsed by LLVM.
The struct responsible for setting up optimization sequences
Used to custimize a pass sequence in various ways
For more information go to llvm
This class manages the registration and intitialization of
the pass subsystem as application startup, and assists the PassManager
in resolving pass dependencies
Represents an LLVM Target
Enums
Traits
A type that can be represented as a constant in LLVM IR.
An abstract interface for implementation execution of LLVM modules.
A value that can be cast into a
GenericValue and that a GenericValue can be cast into.Implemented by everything that is owned by a context.
Indicates that this structure is a substructure of another.