llvmlite 0.42.0__cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 0.43.0rc1__cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.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/_version.py +2 -2
- llvmlite/binding/libllvmlite.so +0 -0
- llvmlite/binding/passmanagers.py +14 -7
- llvmlite/tests/test_binding.py +9 -6
- llvmlite/tests/test_refprune.py +31 -0
- {llvmlite-0.42.0.dist-info → llvmlite-0.43.0rc1.dist-info}/METADATA +1 -1
- {llvmlite-0.42.0.dist-info → llvmlite-0.43.0rc1.dist-info}/RECORD +11 -11
- {llvmlite-0.42.0.dist-info → llvmlite-0.43.0rc1.dist-info}/LICENSE +0 -0
- {llvmlite-0.42.0.dist-info → llvmlite-0.43.0rc1.dist-info}/LICENSE.thirdparty +0 -0
- {llvmlite-0.42.0.dist-info → llvmlite-0.43.0rc1.dist-info}/WHEEL +0 -0
- {llvmlite-0.42.0.dist-info → llvmlite-0.43.0rc1.dist-info}/top_level.txt +0 -0
llvmlite/_version.py
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
# unpacked source archive. Distribution tarballs contain a pre-generated copy
|
|
5
5
|
# of this file.
|
|
6
6
|
|
|
7
|
-
version_version = '0.
|
|
8
|
-
version_full = '
|
|
7
|
+
version_version = '0.43.0rc1'
|
|
8
|
+
version_full = '4868420e431184249a2db85a1ad88a60c88b7e51'
|
|
9
9
|
def get_versions(default={}, verbose=False):
|
|
10
10
|
return {'version': version_version, 'full': version_full}
|
|
11
11
|
|
llvmlite/binding/libllvmlite.so
CHANGED
|
Binary file
|
llvmlite/binding/passmanagers.py
CHANGED
|
@@ -3,6 +3,7 @@ from ctypes import (c_bool, c_char_p, c_int, c_size_t, c_uint, Structure, byref,
|
|
|
3
3
|
from collections import namedtuple
|
|
4
4
|
from enum import IntFlag
|
|
5
5
|
from llvmlite.binding import ffi
|
|
6
|
+
from llvmlite.binding.initfini import llvm_version_info
|
|
6
7
|
import os
|
|
7
8
|
from tempfile import mkstemp
|
|
8
9
|
from llvmlite.binding.common import _encode_string
|
|
@@ -10,6 +11,8 @@ from llvmlite.binding.common import _encode_string
|
|
|
10
11
|
_prunestats = namedtuple('PruneStats',
|
|
11
12
|
('basicblock diamond fanout fanout_raise'))
|
|
12
13
|
|
|
14
|
+
llvm_version_major = llvm_version_info[0]
|
|
15
|
+
|
|
13
16
|
|
|
14
17
|
class PruneStats(_prunestats):
|
|
15
18
|
""" Holds statistics from reference count pruning.
|
|
@@ -258,6 +261,8 @@ class PassManager(ffi.ObjectRef):
|
|
|
258
261
|
|
|
259
262
|
LLVM 14: `llvm::createArgumentPromotionPass`
|
|
260
263
|
""" # noqa E501
|
|
264
|
+
if llvm_version_major > 14:
|
|
265
|
+
raise RuntimeError('ArgumentPromotionPass unavailable in LLVM > 14')
|
|
261
266
|
ffi.lib.LLVMPY_AddArgPromotionPass(self, max_elements)
|
|
262
267
|
|
|
263
268
|
def add_break_critical_edges_pass(self):
|
|
@@ -466,9 +471,9 @@ class PassManager(ffi.ObjectRef):
|
|
|
466
471
|
See https://llvm.org/docs/Passes.html#loop-unswitch-unswitch-loops
|
|
467
472
|
|
|
468
473
|
LLVM 14: `llvm::createLoopUnswitchPass`
|
|
474
|
+
LLVM 15: `llvm::createSimpleLoopUnswitchLegacyPass`
|
|
469
475
|
""" # noqa E501
|
|
470
|
-
ffi.lib.LLVMPY_AddLoopUnswitchPass(self,
|
|
471
|
-
optimize_for_size,
|
|
476
|
+
ffi.lib.LLVMPY_AddLoopUnswitchPass(self, optimize_for_size,
|
|
472
477
|
has_branch_divergence)
|
|
473
478
|
|
|
474
479
|
def add_lower_atomic_pass(self):
|
|
@@ -866,7 +871,11 @@ ffi.lib.LLVMPY_AddRegionInfoPass.argtypes = [ffi.LLVMPassManagerRef]
|
|
|
866
871
|
ffi.lib.LLVMPY_AddScalarEvolutionAAPass.argtypes = [ffi.LLVMPassManagerRef]
|
|
867
872
|
ffi.lib.LLVMPY_AddAggressiveDCEPass.argtypes = [ffi.LLVMPassManagerRef]
|
|
868
873
|
ffi.lib.LLVMPY_AddAlwaysInlinerPass.argtypes = [ffi.LLVMPassManagerRef, c_bool]
|
|
869
|
-
|
|
874
|
+
|
|
875
|
+
if llvm_version_major < 15:
|
|
876
|
+
ffi.lib.LLVMPY_AddArgPromotionPass.argtypes = [
|
|
877
|
+
ffi.LLVMPassManagerRef, c_uint]
|
|
878
|
+
|
|
870
879
|
ffi.lib.LLVMPY_AddBreakCriticalEdgesPass.argtypes = [ffi.LLVMPassManagerRef]
|
|
871
880
|
ffi.lib.LLVMPY_AddDeadStoreEliminationPass.argtypes = [
|
|
872
881
|
ffi.LLVMPassManagerRef]
|
|
@@ -883,10 +892,8 @@ ffi.lib.LLVMPY_AddLoopStrengthReducePass.argtypes = [ffi.LLVMPassManagerRef]
|
|
|
883
892
|
ffi.lib.LLVMPY_AddLoopSimplificationPass.argtypes = [ffi.LLVMPassManagerRef]
|
|
884
893
|
ffi.lib.LLVMPY_AddLoopUnrollPass.argtypes = [ffi.LLVMPassManagerRef]
|
|
885
894
|
ffi.lib.LLVMPY_AddLoopUnrollAndJamPass.argtypes = [ffi.LLVMPassManagerRef]
|
|
886
|
-
ffi.lib.LLVMPY_AddLoopUnswitchPass.argtypes = [
|
|
887
|
-
|
|
888
|
-
c_bool,
|
|
889
|
-
c_bool]
|
|
895
|
+
ffi.lib.LLVMPY_AddLoopUnswitchPass.argtypes = [ffi.LLVMPassManagerRef, c_bool,
|
|
896
|
+
c_bool]
|
|
890
897
|
ffi.lib.LLVMPY_AddLowerAtomicPass.argtypes = [ffi.LLVMPassManagerRef]
|
|
891
898
|
ffi.lib.LLVMPY_AddLowerInvokePass.argtypes = [ffi.LLVMPassManagerRef]
|
|
892
899
|
ffi.lib.LLVMPY_AddLowerSwitchPass.argtypes = [ffi.LLVMPassManagerRef]
|
llvmlite/tests/test_binding.py
CHANGED
|
@@ -18,6 +18,7 @@ from llvmlite import binding as llvm
|
|
|
18
18
|
from llvmlite.binding import ffi
|
|
19
19
|
from llvmlite.tests import TestCase
|
|
20
20
|
|
|
21
|
+
llvm_version_major = llvm.llvm_version_info[0]
|
|
21
22
|
|
|
22
23
|
# arvm7l needs extra ABI symbols to link successfully
|
|
23
24
|
if platform.machine() == 'armv7l':
|
|
@@ -653,7 +654,7 @@ class TestRISCVABI(BaseTest):
|
|
|
653
654
|
def test_rv32d_ilp32(self):
|
|
654
655
|
self.check_riscv_target()
|
|
655
656
|
llmod = self.fpadd_ll_module()
|
|
656
|
-
target = self.riscv_target_machine(features="+f,+d")
|
|
657
|
+
target = self.riscv_target_machine(features="+f,+d", abiname="ilp32")
|
|
657
658
|
self.assertEqual(self.break_up_asm(target.emit_assembly(llmod)),
|
|
658
659
|
riscv_asm_ilp32)
|
|
659
660
|
|
|
@@ -786,9 +787,9 @@ class TestMisc(BaseTest):
|
|
|
786
787
|
def test_version(self):
|
|
787
788
|
major, minor, patch = llvm.llvm_version_info
|
|
788
789
|
# one of these can be valid
|
|
789
|
-
valid =
|
|
790
|
-
self.assertIn(
|
|
791
|
-
self.assertIn(patch, range(
|
|
790
|
+
valid = (14, 15)
|
|
791
|
+
self.assertIn(major, valid)
|
|
792
|
+
self.assertIn(patch, range(8))
|
|
792
793
|
|
|
793
794
|
def test_check_jit_execution(self):
|
|
794
795
|
llvm.check_jit_execution()
|
|
@@ -2176,7 +2177,8 @@ class TestPasses(BaseTest, PassManagerTestMixin):
|
|
|
2176
2177
|
pm.add_aggressive_dead_code_elimination_pass()
|
|
2177
2178
|
pm.add_aa_eval_pass()
|
|
2178
2179
|
pm.add_always_inliner_pass()
|
|
2179
|
-
|
|
2180
|
+
if llvm_version_major < 15:
|
|
2181
|
+
pm.add_arg_promotion_pass(42)
|
|
2180
2182
|
pm.add_break_critical_edges_pass()
|
|
2181
2183
|
pm.add_dead_store_elimination_pass()
|
|
2182
2184
|
pm.add_reverse_post_order_function_attrs_pass()
|
|
@@ -2191,7 +2193,8 @@ class TestPasses(BaseTest, PassManagerTestMixin):
|
|
|
2191
2193
|
pm.add_loop_simplification_pass()
|
|
2192
2194
|
pm.add_loop_unroll_pass()
|
|
2193
2195
|
pm.add_loop_unroll_and_jam_pass()
|
|
2194
|
-
|
|
2196
|
+
if llvm_version_major < 15:
|
|
2197
|
+
pm.add_loop_unswitch_pass()
|
|
2195
2198
|
pm.add_lower_atomic_pass()
|
|
2196
2199
|
pm.add_lower_invoke_pass()
|
|
2197
2200
|
pm.add_lower_switch_pass()
|
llvmlite/tests/test_refprune.py
CHANGED
|
@@ -521,6 +521,37 @@ common.ret:
|
|
|
521
521
|
mod, stats = self.check(self.fanout_raise_5)
|
|
522
522
|
self.assertEqual(stats.fanout_raise, 2)
|
|
523
523
|
|
|
524
|
+
# test case 6 is from https://github.com/numba/llvmlite/issues/1023
|
|
525
|
+
fanout_raise_6 = r"""
|
|
526
|
+
define i32 @main(i8* %ptr, i1 %cond1, i1 %cond2, i1 %cond3, i8** %excinfo) {
|
|
527
|
+
bb_A:
|
|
528
|
+
call void @NRT_incref(i8* %ptr)
|
|
529
|
+
call void @NRT_incref(i8* %ptr)
|
|
530
|
+
br i1 %cond1, label %bb_B, label %bb_C
|
|
531
|
+
bb_B:
|
|
532
|
+
call void @NRT_decref(i8* %ptr)
|
|
533
|
+
br i1 %cond2, label %bb_D, label %bb_E
|
|
534
|
+
bb_C:
|
|
535
|
+
store i8* null, i8** %excinfo, !numba_exception_output !0
|
|
536
|
+
ret i32 1
|
|
537
|
+
bb_D:
|
|
538
|
+
call void @NRT_decref(i8* %ptr)
|
|
539
|
+
ret i32 0
|
|
540
|
+
bb_E:
|
|
541
|
+
call void @NRT_incref(i8* %ptr)
|
|
542
|
+
br i1 %cond3, label %bb_F, label %bb_C
|
|
543
|
+
bb_F:
|
|
544
|
+
call void @NRT_decref(i8* %ptr)
|
|
545
|
+
call void @NRT_decref(i8* %ptr)
|
|
546
|
+
ret i32 0
|
|
547
|
+
}
|
|
548
|
+
!0 = !{i1 1}
|
|
549
|
+
"""
|
|
550
|
+
|
|
551
|
+
def test_fanout_raise_6(self):
|
|
552
|
+
mod, stats = self.check(self.fanout_raise_6)
|
|
553
|
+
self.assertEqual(stats.fanout_raise, 7)
|
|
554
|
+
|
|
524
555
|
|
|
525
556
|
if __name__ == '__main__':
|
|
526
557
|
unittest.main()
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
llvmlite/_version.py,sha256=
|
|
1
|
+
llvmlite/_version.py,sha256=RwC4j6BMxrFNjGrVat6KVJ3h6RaAKI35NOzRW9GeRiA,421
|
|
2
2
|
llvmlite/utils.py,sha256=BwgrA2JaYaZiHRafshoZBHiYSBskJQMG_K2F2jbW2-w,695
|
|
3
3
|
llvmlite/__init__.py,sha256=PiUSiFLCm0YX5rbHS4xOLGdqdPDC8j3etV3nmEaelzI,92
|
|
4
4
|
llvmlite/tests/refprune_proto.py,sha256=I5g0jWHYlsLCOX3Ct9-fA5_udLfkipzuBAsEkrNsFIk,8677
|
|
@@ -6,9 +6,9 @@ llvmlite/tests/customize.py,sha256=85Af1gyZ5rtXXI3qpeTc2DXMrgETjv7hrLN-73A7Fhg,1
|
|
|
6
6
|
llvmlite/tests/__main__.py,sha256=10_On1rLj4CX1xsBJ9TbjULvNSp_K0qk9U1N6azUTUw,40
|
|
7
7
|
llvmlite/tests/test_valuerepr.py,sha256=57MaGznJUnqCf0etajnOCoBRue5-nmFTx1bds_5atlE,1989
|
|
8
8
|
llvmlite/tests/test_ir.py,sha256=BdNnJwSzNdG3AsBF_v0xe7MTZMN36NbhrAYSV0mHUQk,105705
|
|
9
|
-
llvmlite/tests/test_binding.py,sha256=
|
|
9
|
+
llvmlite/tests/test_binding.py,sha256=_zM99Ij_-UvtFJAsl7DDXn1PgL6cnA1QxY9dcWkcShg,86608
|
|
10
10
|
llvmlite/tests/__init__.py,sha256=TBHEOsEq-9M9rF94nES2HxefA-7GYwNE00Y7gTkHrD8,1378
|
|
11
|
-
llvmlite/tests/test_refprune.py,sha256=
|
|
11
|
+
llvmlite/tests/test_refprune.py,sha256=R0AWosWAuKOp-yX2lZGSxrTV8wBRtxiKbtQagGU1pwI,15088
|
|
12
12
|
llvmlite/ir/values.py,sha256=XDUlrvVin0gWkDpaXd593S-oXaARbTnLq69bMALRsbI,34001
|
|
13
13
|
llvmlite/ir/_utils.py,sha256=mkpyEMlQ9nHMcWmBMBsJm4S16Y0BfvxBf5brsdMmKio,2001
|
|
14
14
|
llvmlite/ir/transforms.py,sha256=pV79pB20m4N_HLmBEksw5VVP8cxyf7AYGDCbS1E7fOQ,1552
|
|
@@ -24,7 +24,7 @@ llvmlite/binding/common.py,sha256=eCSnnY4sctgeqVwDv9PrH6jpMI45nJPmAz4rfjbPsf8,74
|
|
|
24
24
|
llvmlite/binding/ffi.py,sha256=sbN4vwClbgpnJHn4-ec2z8gmdCC95_TM3s6kjk6NXp4,12088
|
|
25
25
|
llvmlite/binding/executionengine.py,sha256=PgUFCVJdGvrxXCZAevMv8nUAL8n29Xm58FYO1XYLafc,11022
|
|
26
26
|
llvmlite/binding/transforms.py,sha256=C_Tp0XPV__aOHaVzLLL_QFa-yI9vkDx1gwZADk_KwG8,4947
|
|
27
|
-
llvmlite/binding/libllvmlite.so,sha256=
|
|
27
|
+
llvmlite/binding/libllvmlite.so,sha256=M1slZC2wwVRP8UfaNnr86PM9_3GVC5p7ntDz7tZ6frc,132174984
|
|
28
28
|
llvmlite/binding/typeref.py,sha256=T_ZQfvjTdLtARDci2wVuRfnalgEt9Oc2qb7ZUiiTFJ4,5534
|
|
29
29
|
llvmlite/binding/linker.py,sha256=M4bAkoxVAUgxqai5S0_iCHS5EcNRPBX_9zldVqFLV90,489
|
|
30
30
|
llvmlite/binding/analysis.py,sha256=BbCcAAGY0GLAEUek6ZogHkBAmFA9kvpS7333XyIrbhc,2253
|
|
@@ -34,12 +34,12 @@ llvmlite/binding/module.py,sha256=Zf9GcuCEFf1xtOmP-jXqKtJbj4dO8l9a2NEPKTwsimI,11
|
|
|
34
34
|
llvmlite/binding/__init__.py,sha256=LhAuO8C49hrQ7G2YqcjT8Udkus4ETI1N3zey9Qqt7Jo,405
|
|
35
35
|
llvmlite/binding/value.py,sha256=WGzbTt4bi42WHlOm-wrDkzIpLIV-EYiJU2ExwjeqmfE,18956
|
|
36
36
|
llvmlite/binding/targets.py,sha256=5nxDn73pK_ElQu86EU994Qcd-k5Ja2U127T_oLrW_kk,14802
|
|
37
|
-
llvmlite/binding/passmanagers.py,sha256=
|
|
37
|
+
llvmlite/binding/passmanagers.py,sha256=Y8y9EECDT0I9g0uRMNSpQeMx9czH-aqrNR-_Tdea4io,35079
|
|
38
38
|
llvmlite/binding/context.py,sha256=l2vdKsJ038PfSKzaU17FCSDYWtByzIFYREmx93JwKW8,657
|
|
39
39
|
llvmlite/binding/options.py,sha256=aDH4SFh6VZ11agtUJO9vAxhVhQkIGAByK9IHKeuRcAI,509
|
|
40
|
-
llvmlite-0.
|
|
41
|
-
llvmlite-0.
|
|
42
|
-
llvmlite-0.
|
|
43
|
-
llvmlite-0.
|
|
44
|
-
llvmlite-0.
|
|
45
|
-
llvmlite-0.
|
|
40
|
+
llvmlite-0.43.0rc1.dist-info/LICENSE.thirdparty,sha256=3FJyk8_C5LTVkELgsgRmcWKEXYVIZRky9anS9K38kos,12561
|
|
41
|
+
llvmlite-0.43.0rc1.dist-info/top_level.txt,sha256=WJi8Gq92jA2wv_aV1Oshp9iZ-zMa43Kcmw80kWeGYGA,9
|
|
42
|
+
llvmlite-0.43.0rc1.dist-info/RECORD,,
|
|
43
|
+
llvmlite-0.43.0rc1.dist-info/LICENSE,sha256=S5pyZLAROnsybuhPwkS3OZG1NbSDPkpW1YdQ8qciUNw,1298
|
|
44
|
+
llvmlite-0.43.0rc1.dist-info/METADATA,sha256=dr0us8hVw-w4ycRU30G9Dx1TbW8M4BtYFUjjRIHx8eU,4788
|
|
45
|
+
llvmlite-0.43.0rc1.dist-info/WHEEL,sha256=dSOw0vIE7tyToMwjLRGc34v_dTietGsEoaHI_vCu11U,154
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|