An attempt to create safe Rust LLVM bindings (rust-lang/rfcs#644).
Primarily will be used in my LLVM Kaleidoscope tutorial for Rust.
It is the very beginning of work on safe bindings. Pull requests are welcome.
For initial documentation see tutorial, LLVM programmer's manual and LLVM doxygen docs.
To use iron-llvm
you need to install LLVM. Note, that if you use binary distribution, you need
to have the dev version (with includes). llvm-config
should be in PATH
.
TODO list (random points to do in the nearest time):
- proper documentation
- refactor boilerplate in memory manager bindings
- full ExecutionEngine API
- ORC
- change all methods to use static dispatch where appropriate (as in GenericValue)