aboutsummaryrefslogtreecommitdiff
path: root/devel/py-llvmlite/pkg-descr
blob: 347b52cd7bdb77ea5c7cf6c085a7ef1b9a82ad3e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
A lightweight LLVM python binding for writing JIT compilers

The old llvmpy binding exposes a lot of LLVM APIs but the mapping
of C++-style memory management to Python is error prone. Numba and
many JIT compilers do not need a full LLVM API. Only the IR builder,
optimizer, and JIT compiler APIs are necessary.

llvmlite is a project originally tailored for Numba's needs, using
the following approach:

- A small C wrapper around the parts of the LLVM C++ API we need
  that are not already exposed by the LLVM C API.
- A ctypes Python wrapper around the C API.
- A pure Python implementation of the subset of the LLVM IR builder
  that we need for Numba.

WWW: https://github.com/numba/llvmlite