[llvm-dev] [ANN] llvmlite 0.10.0

Antoine Pitrou via llvm-dev llvm-dev at lists.llvm.org
Thu Mar 31 09:48:52 PDT 2016


Hello,

We are happy to release version 0.10.0 of llvmlite.  llvmlite is a
light-weight Python binding for LLVM (compatible with Python 2.7 as
well as Python 3.4 and later).  It stems from the needs of the Numba
community and is geared towards creating JIT compilers.

llvmlite is available both as source code and as binaries for a number
of platforms.  Source code is available on PyPI and Github:
https://pypi.python.org/pypi/llvmlite/
https://github.com/numba/llvmlite/
Binaries for Linux, Windows and OS X are available through the
anaconda.org service and can be downloaded using Continuum's open
source package manager "Conda"
("conda update -c numba llvmlite" or "conda install -c numba llvmlite").

Documentation is at http://llvmlite.pydata.org/en/latest/

There is an adaptation of the Kaleidoscope tutorial for llvmlite by Eli
Bendersky: https://github.com/eliben/pykaleidoscope


This new version supports LLVM 3.7 and features the following
fixes and enhancements.

Enhancements:

* PR #146: Improve ``setup.py clean`` to wipe more leftovers.
* PR #135: Remove some llvmpy compatibility APIs.
* PR #151: Always copy TargetData when adding to a pass manager.
* PR #148: Make errors more explicit on loading the binding DLL.
* PR #144: Allow overriding ``-flto`` in Linux builds.
* PR #136: Remove Python 2.6 and 3.3 compatibility.
* Issue #131: Allow easier creation of constants by making type
  instances callable.
* Issue #130: The test suite now ensures the runtime DLL dependencies
  are within a certain expected set.
* Issue #121: Simplify build process on Unix and remove hardcoded
  linking with LLVMOProfileJIT.
* Issue #125: Speed up formatting of raw array constants.

Fixes:

* PR #155: Properly emit IR for metadata null.
* PR #153: Remove deprecated uses of ``TargetMachine::getDataLayout()``.
* PR #156: Move personality from LandingPadInstr to FunctionAttributes.
  It was moved in LLVM 3.7.
* PR #149: Implement LLVM scoping correctly.
* PR #141: Ensure no CMakeCache.txt file is included in sdist.
* PR #132: Correct constant in ``llvmir.py`` example.


Regards

Antoine.




More information about the llvm-dev mailing list