llvmlite 0.45.0rc2__cp313-cp313-macosx_12_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of llvmlite might be problematic. Click here for more details.
- llvmlite/__init__.py +11 -0
- llvmlite/_version.py +11 -0
- llvmlite/binding/__init__.py +18 -0
- llvmlite/binding/analysis.py +69 -0
- llvmlite/binding/common.py +34 -0
- llvmlite/binding/config.py +143 -0
- llvmlite/binding/context.py +31 -0
- llvmlite/binding/dylib.py +45 -0
- llvmlite/binding/executionengine.py +330 -0
- llvmlite/binding/ffi.py +395 -0
- llvmlite/binding/initfini.py +85 -0
- llvmlite/binding/libllvmlite.dylib +0 -0
- llvmlite/binding/linker.py +20 -0
- llvmlite/binding/module.py +349 -0
- llvmlite/binding/newpassmanagers.py +1049 -0
- llvmlite/binding/object_file.py +82 -0
- llvmlite/binding/options.py +17 -0
- llvmlite/binding/orcjit.py +342 -0
- llvmlite/binding/targets.py +462 -0
- llvmlite/binding/typeref.py +267 -0
- llvmlite/binding/value.py +632 -0
- llvmlite/ir/__init__.py +11 -0
- llvmlite/ir/_utils.py +80 -0
- llvmlite/ir/builder.py +1120 -0
- llvmlite/ir/context.py +20 -0
- llvmlite/ir/instructions.py +920 -0
- llvmlite/ir/module.py +256 -0
- llvmlite/ir/transforms.py +64 -0
- llvmlite/ir/types.py +730 -0
- llvmlite/ir/values.py +1217 -0
- llvmlite/tests/__init__.py +57 -0
- llvmlite/tests/__main__.py +3 -0
- llvmlite/tests/customize.py +407 -0
- llvmlite/tests/refprune_proto.py +330 -0
- llvmlite/tests/test_binding.py +3150 -0
- llvmlite/tests/test_ir.py +3095 -0
- llvmlite/tests/test_refprune.py +574 -0
- llvmlite/tests/test_valuerepr.py +60 -0
- llvmlite/utils.py +29 -0
- llvmlite-0.45.0rc2.dist-info/METADATA +143 -0
- llvmlite-0.45.0rc2.dist-info/RECORD +44 -0
- llvmlite-0.45.0rc2.dist-info/WHEEL +5 -0
- llvmlite-0.45.0rc2.dist-info/licenses/LICENSE +24 -0
- llvmlite-0.45.0rc2.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: llvmlite
|
|
3
|
+
Version: 0.45.0rc2
|
|
4
|
+
Summary: lightweight wrapper around basic LLVM functionality
|
|
5
|
+
Home-page: http://llvmlite.readthedocs.io
|
|
6
|
+
License: BSD
|
|
7
|
+
Project-URL: Source, https://github.com/numba/llvmlite
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: Python
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
18
|
+
Classifier: Topic :: Software Development :: Compilers
|
|
19
|
+
Requires-Python: >=3.10
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Dynamic: classifier
|
|
22
|
+
Dynamic: description
|
|
23
|
+
Dynamic: home-page
|
|
24
|
+
Dynamic: license
|
|
25
|
+
Dynamic: license-file
|
|
26
|
+
Dynamic: project-url
|
|
27
|
+
Dynamic: requires-python
|
|
28
|
+
Dynamic: summary
|
|
29
|
+
|
|
30
|
+
========
|
|
31
|
+
llvmlite
|
|
32
|
+
========
|
|
33
|
+
|
|
34
|
+
.. image:: https://dev.azure.com/numba/numba/_apis/build/status/numba.llvmlite?branchName=main
|
|
35
|
+
:target: https://dev.azure.com/numba/numba/_build/latest?definitionId=2&branchName=main
|
|
36
|
+
:alt: Azure Pipelines
|
|
37
|
+
.. image:: https://coveralls.io/repos/github/numba/llvmlite/badge.svg
|
|
38
|
+
:target: https://coveralls.io/github/numba/llvmlite
|
|
39
|
+
:alt: Coveralls.io
|
|
40
|
+
.. image:: https://readthedocs.org/projects/llvmlite/badge/
|
|
41
|
+
:target: https://llvmlite.readthedocs.io
|
|
42
|
+
:alt: Readthedocs.io
|
|
43
|
+
|
|
44
|
+
A Lightweight LLVM Python Binding for Writing JIT Compilers
|
|
45
|
+
-----------------------------------------------------------
|
|
46
|
+
|
|
47
|
+
.. _llvmpy: https://github.com/llvmpy/llvmpy
|
|
48
|
+
|
|
49
|
+
llvmlite is a project originally tailored for Numba_'s needs, using the
|
|
50
|
+
following approach:
|
|
51
|
+
|
|
52
|
+
* A small C wrapper around the parts of the LLVM C++ API we need that are
|
|
53
|
+
not already exposed by the LLVM C API.
|
|
54
|
+
* A ctypes Python wrapper around the C API.
|
|
55
|
+
* A pure Python implementation of the subset of the LLVM IR builder that we
|
|
56
|
+
need for Numba.
|
|
57
|
+
|
|
58
|
+
Why llvmlite
|
|
59
|
+
============
|
|
60
|
+
|
|
61
|
+
The old llvmpy_ binding exposes a lot of LLVM APIs but the mapping of
|
|
62
|
+
C++-style memory management to Python is error prone. Numba_ and many JIT
|
|
63
|
+
compilers do not need a full LLVM API. Only the IR builder, optimizer,
|
|
64
|
+
and JIT compiler APIs are necessary.
|
|
65
|
+
|
|
66
|
+
Key Benefits
|
|
67
|
+
============
|
|
68
|
+
|
|
69
|
+
* The IR builder is pure Python code and decoupled from LLVM's
|
|
70
|
+
frequently-changing C++ APIs.
|
|
71
|
+
* Materializing a LLVM module calls LLVM's IR parser which provides
|
|
72
|
+
better error messages than step-by-step IR building through the C++
|
|
73
|
+
API (no more segfaults or process aborts).
|
|
74
|
+
* Most of llvmlite uses the LLVM C API which is small but very stable
|
|
75
|
+
(low maintenance when changing LLVM version).
|
|
76
|
+
* The binding is not a Python C-extension, but a plain DLL accessed using
|
|
77
|
+
ctypes (no need to wrestle with Python's compiler requirements and C++ 11
|
|
78
|
+
compatibility).
|
|
79
|
+
* The Python binding layer has sane memory management.
|
|
80
|
+
* llvmlite is faster than llvmpy thanks to a much simpler architecture
|
|
81
|
+
(the Numba_ test suite is twice faster than it was).
|
|
82
|
+
|
|
83
|
+
Compatibility
|
|
84
|
+
=============
|
|
85
|
+
|
|
86
|
+
llvmlite has been tested with Python 3.10 -- 3.13 and is likely to work with
|
|
87
|
+
greater versions.
|
|
88
|
+
|
|
89
|
+
As of version 0.45.0, llvmlite requires LLVM 20.x.x on all architectures
|
|
90
|
+
|
|
91
|
+
Historical compatibility table:
|
|
92
|
+
|
|
93
|
+
================= ========================
|
|
94
|
+
llvmlite versions compatible LLVM versions
|
|
95
|
+
================= ========================
|
|
96
|
+
0.45.0 - ...... 20.x.x
|
|
97
|
+
0.44.0 15.x.x and 16.x.x
|
|
98
|
+
0.41.0 - 0.43.0 14.x.x
|
|
99
|
+
0.40.0 - 0.40.1 11.x.x and 14.x.x (12.x.x and 13.x.x untested but may work)
|
|
100
|
+
0.37.0 - 0.39.1 11.x.x
|
|
101
|
+
0.34.0 - 0.36.0 10.0.x (9.0.x for ``aarch64`` only)
|
|
102
|
+
0.33.0 9.0.x
|
|
103
|
+
0.29.0 - 0.32.0 7.0.x, 7.1.x, 8.0.x
|
|
104
|
+
0.27.0 - 0.28.0 7.0.x
|
|
105
|
+
0.23.0 - 0.26.0 6.0.x
|
|
106
|
+
0.21.0 - 0.22.0 5.0.x
|
|
107
|
+
0.17.0 - 0.20.0 4.0.x
|
|
108
|
+
0.16.0 - 0.17.0 3.9.x
|
|
109
|
+
0.13.0 - 0.15.0 3.8.x
|
|
110
|
+
0.9.0 - 0.12.1 3.7.x
|
|
111
|
+
0.6.0 - 0.8.0 3.6.x
|
|
112
|
+
0.1.0 - 0.5.1 3.5.x
|
|
113
|
+
================= ========================
|
|
114
|
+
|
|
115
|
+
Documentation
|
|
116
|
+
=============
|
|
117
|
+
|
|
118
|
+
You'll find the documentation at http://llvmlite.pydata.org
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
Pre-built binaries
|
|
122
|
+
==================
|
|
123
|
+
|
|
124
|
+
We recommend you use the binaries provided by the Numba_ team for
|
|
125
|
+
the Conda_ package manager. You can find them in Numba's `anaconda.org
|
|
126
|
+
channel <https://anaconda.org/numba>`_. For example::
|
|
127
|
+
|
|
128
|
+
$ conda install --channel=numba llvmlite
|
|
129
|
+
|
|
130
|
+
(or, simply, the official llvmlite package provided in the Anaconda_
|
|
131
|
+
distribution)
|
|
132
|
+
|
|
133
|
+
.. _Numba: http://numba.pydata.org/
|
|
134
|
+
.. _Conda: http://conda.pydata.org/
|
|
135
|
+
.. _Anaconda: http://docs.continuum.io/anaconda/index.html
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
Other build methods
|
|
139
|
+
===================
|
|
140
|
+
|
|
141
|
+
If you don't want to use our pre-built packages, you can compile
|
|
142
|
+
and install llvmlite yourself. The documentation will teach you how:
|
|
143
|
+
http://llvmlite.pydata.org/en/latest/install/index.html
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
llvmlite/__init__.py,sha256=_UwFsDa2wiXx1WLx0XUV2WkrPZpQwjXTR4sPSNQ2nDM,461
|
|
2
|
+
llvmlite/_version.py,sha256=_6Fid_-XN7_RwF4LvuJlsMynvgu6i1LHmsQZU9qfHrc,421
|
|
3
|
+
llvmlite/utils.py,sha256=BwgrA2JaYaZiHRafshoZBHiYSBskJQMG_K2F2jbW2-w,695
|
|
4
|
+
llvmlite/binding/__init__.py,sha256=FAVr7gLzepeEKb26NiW5WeQA1C0mmlRkUrKdmPqubUc,404
|
|
5
|
+
llvmlite/binding/analysis.py,sha256=BbCcAAGY0GLAEUek6ZogHkBAmFA9kvpS7333XyIrbhc,2253
|
|
6
|
+
llvmlite/binding/common.py,sha256=eCSnnY4sctgeqVwDv9PrH6jpMI45nJPmAz4rfjbPsf8,742
|
|
7
|
+
llvmlite/binding/config.py,sha256=o9UReyRbcWQLZHzNowSLmoL6hsvZfiOm8Y8uijKteNs,4473
|
|
8
|
+
llvmlite/binding/context.py,sha256=0uEJwi4u0y5pp3gHubmmJYvwT1z3I1jmzAByq-DVnvI,675
|
|
9
|
+
llvmlite/binding/dylib.py,sha256=ypfikOYKiWQZi8h00LhLBXwmPlJ5d86yLOUn01pDjmM,1300
|
|
10
|
+
llvmlite/binding/executionengine.py,sha256=PgUFCVJdGvrxXCZAevMv8nUAL8n29Xm58FYO1XYLafc,11022
|
|
11
|
+
llvmlite/binding/ffi.py,sha256=m7Y1TZC2b1JBptcwzDburElm_fKuGkwrBsKzcYY4zLc,12434
|
|
12
|
+
llvmlite/binding/initfini.py,sha256=_o87ZBtIVDmkN-QU2pypVRKuGOE6XokHOWysJCX9Y_I,2163
|
|
13
|
+
llvmlite/binding/libllvmlite.dylib,sha256=DDOaiTOlkFop_93tAvExx9e_B7ilp97dO1CVIeVI29c,116497808
|
|
14
|
+
llvmlite/binding/linker.py,sha256=M4bAkoxVAUgxqai5S0_iCHS5EcNRPBX_9zldVqFLV90,489
|
|
15
|
+
llvmlite/binding/module.py,sha256=Zf9GcuCEFf1xtOmP-jXqKtJbj4dO8l9a2NEPKTwsimI,11174
|
|
16
|
+
llvmlite/binding/newpassmanagers.py,sha256=Mzgc9CM0jnmYGL4UAMkWdnfxMoBPVzSYoNFxx2Q44gY,34496
|
|
17
|
+
llvmlite/binding/object_file.py,sha256=qZMTAi6gcVQq2e3KghHNxVH3Ivzr7zxDPecfiZ1Riy8,2664
|
|
18
|
+
llvmlite/binding/options.py,sha256=aDH4SFh6VZ11agtUJO9vAxhVhQkIGAByK9IHKeuRcAI,509
|
|
19
|
+
llvmlite/binding/orcjit.py,sha256=HUWDKicxrYK5s2trdrM_KEmkfvwifrP4E9MxmCb8JSM,11856
|
|
20
|
+
llvmlite/binding/targets.py,sha256=P4YCkQIUkw2puaL_JbdJyawPsxgVtEZ7Vpe2KDLI9KQ,15369
|
|
21
|
+
llvmlite/binding/typeref.py,sha256=kqg757zMfTayKzzjajlHeBjzyB77B9wtN9XzYT5xzx8,7805
|
|
22
|
+
llvmlite/binding/value.py,sha256=GVsScOUMcSx9vrIq2LQiBPlsfjIHGsbcuELyf8wnSnQ,19477
|
|
23
|
+
llvmlite/ir/__init__.py,sha256=rNPtrPLshsPJYO4GegWAU-rpbpiYo0xU-CQb3rt0JtE,258
|
|
24
|
+
llvmlite/ir/_utils.py,sha256=mkpyEMlQ9nHMcWmBMBsJm4S16Y0BfvxBf5brsdMmKio,2001
|
|
25
|
+
llvmlite/ir/builder.py,sha256=23dpZ2Sw6Kq_Db2qRvRqaKEQwhOztJdq2g6l4QfzpBo,33628
|
|
26
|
+
llvmlite/ir/context.py,sha256=tIFLM1FDatctrgN45jrdxbxIPQjgQTRLGoImkCdgcVA,540
|
|
27
|
+
llvmlite/ir/instructions.py,sha256=BFYnbjDBjjI21_ilOMx67Rg_x7OjUlcTjNDFKiry5os,33053
|
|
28
|
+
llvmlite/ir/module.py,sha256=-5cDgxA83a9vGsABTJx9CyxalsH39X8iW3Etd4D0urM,9472
|
|
29
|
+
llvmlite/ir/transforms.py,sha256=pV79pB20m4N_HLmBEksw5VVP8cxyf7AYGDCbS1E7fOQ,1552
|
|
30
|
+
llvmlite/ir/types.py,sha256=_qNlE5QhAMc5aeiTbmH44JRiN7r1-Nbl9eADNBns4CQ,19909
|
|
31
|
+
llvmlite/ir/values.py,sha256=FkRpEoG2ur3TqpFwj7co5ymYCnADU5EcmsjaOF--b90,34023
|
|
32
|
+
llvmlite/tests/__init__.py,sha256=TBHEOsEq-9M9rF94nES2HxefA-7GYwNE00Y7gTkHrD8,1378
|
|
33
|
+
llvmlite/tests/__main__.py,sha256=10_On1rLj4CX1xsBJ9TbjULvNSp_K0qk9U1N6azUTUw,40
|
|
34
|
+
llvmlite/tests/customize.py,sha256=85Af1gyZ5rtXXI3qpeTc2DXMrgETjv7hrLN-73A7Fhg,13268
|
|
35
|
+
llvmlite/tests/refprune_proto.py,sha256=w3hRtkd4VtcfoHYkZkjZJgzOJCW6TxorK-JFohxNZME,8702
|
|
36
|
+
llvmlite/tests/test_binding.py,sha256=CsoJ8RtgWFqF6C0WKjVNroO6D0az2YAc3kgJn_rO75A,112250
|
|
37
|
+
llvmlite/tests/test_ir.py,sha256=SHZcrQ8b2Dx9Wey8djktIQFS8xIeITZYHCjeBQPPWEE,122399
|
|
38
|
+
llvmlite/tests/test_refprune.py,sha256=BGLf4IwZOoRAGy2qjyKNJJzQviG778FTjMz2sHbGFrA,15660
|
|
39
|
+
llvmlite/tests/test_valuerepr.py,sha256=57MaGznJUnqCf0etajnOCoBRue5-nmFTx1bds_5atlE,1989
|
|
40
|
+
llvmlite-0.45.0rc2.dist-info/licenses/LICENSE,sha256=S5pyZLAROnsybuhPwkS3OZG1NbSDPkpW1YdQ8qciUNw,1298
|
|
41
|
+
llvmlite-0.45.0rc2.dist-info/METADATA,sha256=h5F5V8TdCjh2M2lrDWTECrmW33cSGuJ-AwsocbpXYpA,4831
|
|
42
|
+
llvmlite-0.45.0rc2.dist-info/WHEEL,sha256=oj-iYSVMV_1cQzBNwxeRJNbWn0QnYCpwVNedcMsF1vk,109
|
|
43
|
+
llvmlite-0.45.0rc2.dist-info/top_level.txt,sha256=WJi8Gq92jA2wv_aV1Oshp9iZ-zMa43Kcmw80kWeGYGA,9
|
|
44
|
+
llvmlite-0.45.0rc2.dist-info/RECORD,,
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Copyright (c) 2014-, Continuum Analytics, Inc.
|
|
2
|
+
All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
|
5
|
+
modification, are permitted provided that the following conditions are
|
|
6
|
+
met:
|
|
7
|
+
|
|
8
|
+
Redistributions of source code must retain the above copyright notice,
|
|
9
|
+
this list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
Redistributions in binary form must reproduce the above copyright
|
|
12
|
+
notice, this list of conditions and the following disclaimer in the
|
|
13
|
+
documentation and/or other materials provided with the distribution.
|
|
14
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
15
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
16
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
17
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
18
|
+
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
19
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
20
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
21
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
22
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
24
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
llvmlite
|