llvm-py
Python Bindings for LLVM
»Home
»Examples
»Download
»User Guide
»Contribute
»License
»About

The latest release is 0.6, released 31-Aug-2010 (Changelog below). 0.6 works only with LLVM 2.7.

Download it here:

Older versions are available here.

The latest code can be checked out from SVN like so:

$ svn checkout http://llvm-py.googlecode.com/svn/trunk/ llvm-py

Follow the steps described here to install the package.

Changelog

0.7, in progress:

  * Add llvm.core.Argument.alignment property.
  * Migrate to LLVM 2.8.
  * Fix ffi link issue on darwin (Albert Mietus) (Issue #29).
  * LLVM tutorial ported (Max Shawabkeh) (Issue #33).


0.6, 31-Aug-2010:

  * Add and remove function attributes (Krzysztof Goj) (Issue #21).
  * Wrap fadd,fsub,fmul (Aaron S Lav) (Issue #31).
  * Migrate to LLVM 2.7.
  * Migrate to LLVM 2.6 (KS Sreeram) (Issue #25).
  * Inline function (Corrado Zoccolo).
  * Get pointer to function (Corrado Zoccolo).
  * More properties/methods for TargetData (Florian Noding) (Issue #16).
  * Value.uses API.
  * Fetch operands of instructions (Seth Warn).
  * Unaliased objects (with Seth Warn).
  * Value factory, more Constant subclasses.
  * Module.link_in and Instruction.is_volatile (Seth Warn).
  * Fix Builder.position_at_beginning crash (Issue #10).
  * Builds on gentoo.
  * Code cleanup.
  * Migrate to LLVM 2.5.


0.5, 22-Nov-2008:

  * Added vicmp, vfcmp instructions and constant expressions.
  * Builds on FreeBSD.
  * Updated documentation.
  * Migrate to LLVM 2.4.


0.4, 21-Nov-2008:

  * Code cleanup, added license headers.
  * Added llvm.core.load_library_permanently() (Issue #12).
  * Fix comparison using != (Issue #11).
  * Instruction.is_terminator added.
  * Fix Builder.select (Paulo Silva).
  * Added viewCFG methods to Function (Paulo Silva).


0.3, 8-Sep-2008:

  * Passes added.
  * Assembly support: create modules from .ll files.
  * Various bug fixes.
  * Bitcode support: convert modules to bitcode and vice versa.
  * Intrinsics added.
  * JIT Tutorials ported (Sebastien Binet).
  * GenericValue added. Used by ExecutionEngine.run().
  * Build cleanly on OpenBSD, x86-64/amd64 (Laurence Tratt).
  * Updated documentation.


0.2.1, 18-Jun-2008:

  * Build cleanly with LLVM 2.3 and 2.3svn.


0.2, 15-Jun-2008:

  * Independent package, need not be unpacked into llvm/bindings.
  * Fixed ownership issues with Module/ModuleProvider.
  * Modules, values and types can be stringified, to get their LLVM
      assembly representation.
  * Modules and functions can be verified.
  * MemoryBuffer and TypeHandle are available.
  * ExecutionEngine, TargetData and passes are available.
  * Unit tester added (but doesn't test much for now).
  * Python doc string documentation added (still incomplete).
  * Many minor style/cosmetic changes and bug fixes.
  * Added documentation as on website into SVN.
  * Lots of cleanup.


0.1, 10-May-2008:

  * Initial release.