LLVM IR Binding for Rust
This LLVM IR Binding provides intuitive and well-organized safe Rust API for analyzing existing LLVM modules. Thus the whole library is thread-safe. This crate does not provide the functionality to produce new LLVM module or change existing module.
Getting started
use llir;
// Create context
let context = create;
// Specify path to the byte code
let path = new;
// Load the module with that path
let module = context.load_module?;
// Iterate through functions, blocks, and instructions...
for func in module.iter_functions
Other than context and module, the crate mainly consists of LLVM values and types. Checkout each submodule for more information.