Crate llvm [−] [src]
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.
Structs
| Alias |
An alias to another global value. |
| Arg |
An argument that is passed to a function. |
| BasicBlock |
A container of instructions that execute sequentially. |
| Builder |
This provides a uniform API for creating instructions and inserting them into a basic block. |
| CBox |
A wrapper for pointers made by C that are now completely owned by Rust, so they are not limited by any lifetimes. |
| CSemiBox |
A wrapper for pointers made by C that are now partially owned in Rust. |
| Context |
Contains all the LLVM entities - mainly modules. |
| Function |
A function is a kind of value that can be called and contains blocks of code. |
| FunctionType |
A function signature type. |
| Functions |
An iterator through the functions contained in a module. |
| GenericValue |
A wrapped value that can be passed to an interpreted function or returned from one |
| GlobalValue |
A value with global scope (eg: Function, Alias, Global variable) |
| GlobalVariable |
A global variable |
| Interpreter |
The interpreter backend |
| JitEngine |
The MCJIT backend, which compiles functions and values into machine code. |
| JitOptions |
The options to pass to the MCJIT backend. |
| Module |
Represents a single compilation unit of code. |
| ObjectFile |
An external object file that has been parsed by LLVM. |
| StructType |
A structure type, such as a tuple or struct. |
| Symbol | |
| Symbols | |
| Target | |
| TargetData |
Represents an LLVM Target |
| Type |
Defines how a value should be laid out in memory. |
| Value |
A typed value that can be used as an operand in instructions. |
Enums
| AddressSpace | |
| Attribute |
These indicate how you want arguments / functions to be handled. |
| Linkage |
A way of indicating to LLVM how you want a global to interact during linkage. |
| Predicate |
Comparative operations on values. |
Traits
| Compile |
A type that can be represented as a constant in LLVM IR. |
| ExecutionEngine |
An abstract interface for implementation execution of LLVM modules. |
| GenericValueCast |
A value that can be cast into a |
| GetContext |
Implemented by everything that is owned by a context. |
| Sub |
Indicates that this structure is a substructure of another. |