llvmlite 0.42.0__cp311-cp311-macosx_10_9_x86_64.whl → 0.43.0rc1__cp311-cp311-macosx_10_9_x86_64.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 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.42.0'
8
- version_full = 'b2a26aafd266b8972ad26dfa98dc41642f84913e'
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
 
Binary file
@@ -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
- ffi.lib.LLVMPY_AddArgPromotionPass.argtypes = [ffi.LLVMPassManagerRef, c_uint]
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
- ffi.LLVMPassManagerRef,
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]
@@ -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 = [(14, )]
790
- self.assertIn((major,), valid)
791
- self.assertIn(patch, range(10))
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
- pm.add_arg_promotion_pass(42)
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
- pm.add_loop_unswitch_pass()
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()
@@ -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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: llvmlite
3
- Version: 0.42.0
3
+ Version: 0.43.0rc1
4
4
  Summary: lightweight wrapper around basic LLVM functionality
5
5
  Home-page: http://llvmlite.readthedocs.io
6
6
  License: BSD
@@ -1,5 +1,5 @@
1
1
  llvmlite/__init__.py,sha256=PiUSiFLCm0YX5rbHS4xOLGdqdPDC8j3etV3nmEaelzI,92
2
- llvmlite/_version.py,sha256=mrP_SVZnRr17yNMSPH6Pekgh9lG7Rzxay6eRNk2ThxI,418
2
+ llvmlite/_version.py,sha256=RwC4j6BMxrFNjGrVat6KVJ3h6RaAKI35NOzRW9GeRiA,421
3
3
  llvmlite/utils.py,sha256=BwgrA2JaYaZiHRafshoZBHiYSBskJQMG_K2F2jbW2-w,695
4
4
  llvmlite/binding/__init__.py,sha256=LhAuO8C49hrQ7G2YqcjT8Udkus4ETI1N3zey9Qqt7Jo,405
5
5
  llvmlite/binding/analysis.py,sha256=BbCcAAGY0GLAEUek6ZogHkBAmFA9kvpS7333XyIrbhc,2253
@@ -9,13 +9,13 @@ llvmlite/binding/dylib.py,sha256=ypfikOYKiWQZi8h00LhLBXwmPlJ5d86yLOUn01pDjmM,130
9
9
  llvmlite/binding/executionengine.py,sha256=PgUFCVJdGvrxXCZAevMv8nUAL8n29Xm58FYO1XYLafc,11022
10
10
  llvmlite/binding/ffi.py,sha256=sbN4vwClbgpnJHn4-ec2z8gmdCC95_TM3s6kjk6NXp4,12088
11
11
  llvmlite/binding/initfini.py,sha256=zF9tJXmCONabkP0d_IqmiU6M_Wn8N8ArkwfXBxf1TDo,1595
12
- llvmlite/binding/libllvmlite.dylib,sha256=WWm7pYG6zXJslNI9r-u3DKrdAblaRHhnUuxvUOOhhgo,95508808
12
+ llvmlite/binding/libllvmlite.dylib,sha256=tVC_r3bEZkgD3zzoep5r9S7P0qmQEprCVaLPt38N1dk,95508816
13
13
  llvmlite/binding/linker.py,sha256=M4bAkoxVAUgxqai5S0_iCHS5EcNRPBX_9zldVqFLV90,489
14
14
  llvmlite/binding/module.py,sha256=Zf9GcuCEFf1xtOmP-jXqKtJbj4dO8l9a2NEPKTwsimI,11174
15
15
  llvmlite/binding/object_file.py,sha256=qZMTAi6gcVQq2e3KghHNxVH3Ivzr7zxDPecfiZ1Riy8,2664
16
16
  llvmlite/binding/options.py,sha256=aDH4SFh6VZ11agtUJO9vAxhVhQkIGAByK9IHKeuRcAI,509
17
17
  llvmlite/binding/orcjit.py,sha256=HUWDKicxrYK5s2trdrM_KEmkfvwifrP4E9MxmCb8JSM,11856
18
- llvmlite/binding/passmanagers.py,sha256=EW_DJdG54jOHhaUofowAbar2Rvyi7knV6MRWkox6pTg,34769
18
+ llvmlite/binding/passmanagers.py,sha256=Y8y9EECDT0I9g0uRMNSpQeMx9czH-aqrNR-_Tdea4io,35079
19
19
  llvmlite/binding/targets.py,sha256=5nxDn73pK_ElQu86EU994Qcd-k5Ja2U127T_oLrW_kk,14802
20
20
  llvmlite/binding/transforms.py,sha256=C_Tp0XPV__aOHaVzLLL_QFa-yI9vkDx1gwZADk_KwG8,4947
21
21
  llvmlite/binding/typeref.py,sha256=T_ZQfvjTdLtARDci2wVuRfnalgEt9Oc2qb7ZUiiTFJ4,5534
@@ -33,13 +33,13 @@ llvmlite/tests/__init__.py,sha256=TBHEOsEq-9M9rF94nES2HxefA-7GYwNE00Y7gTkHrD8,13
33
33
  llvmlite/tests/__main__.py,sha256=10_On1rLj4CX1xsBJ9TbjULvNSp_K0qk9U1N6azUTUw,40
34
34
  llvmlite/tests/customize.py,sha256=85Af1gyZ5rtXXI3qpeTc2DXMrgETjv7hrLN-73A7Fhg,13268
35
35
  llvmlite/tests/refprune_proto.py,sha256=I5g0jWHYlsLCOX3Ct9-fA5_udLfkipzuBAsEkrNsFIk,8677
36
- llvmlite/tests/test_binding.py,sha256=ny9nbYoxSvo_b-6ZpwpN7dRU1iWObwqA0FI5mUCk1Kk,86468
36
+ llvmlite/tests/test_binding.py,sha256=_zM99Ij_-UvtFJAsl7DDXn1PgL6cnA1QxY9dcWkcShg,86608
37
37
  llvmlite/tests/test_ir.py,sha256=BdNnJwSzNdG3AsBF_v0xe7MTZMN36NbhrAYSV0mHUQk,105705
38
- llvmlite/tests/test_refprune.py,sha256=oyk3HBLCOMPyRG-bj-omO3Ec_1lI66S8iNgZwl81Zs0,14235
38
+ llvmlite/tests/test_refprune.py,sha256=R0AWosWAuKOp-yX2lZGSxrTV8wBRtxiKbtQagGU1pwI,15088
39
39
  llvmlite/tests/test_valuerepr.py,sha256=57MaGznJUnqCf0etajnOCoBRue5-nmFTx1bds_5atlE,1989
40
- llvmlite-0.42.0.dist-info/LICENSE,sha256=S5pyZLAROnsybuhPwkS3OZG1NbSDPkpW1YdQ8qciUNw,1298
41
- llvmlite-0.42.0.dist-info/LICENSE.thirdparty,sha256=3FJyk8_C5LTVkELgsgRmcWKEXYVIZRky9anS9K38kos,12561
42
- llvmlite-0.42.0.dist-info/METADATA,sha256=KRN67iICEYpA5na5Vcxr2DeVZA_SbFEyfqllxsNxDNI,4785
43
- llvmlite-0.42.0.dist-info/WHEEL,sha256=1K25WgJ_KyfvTx-UW0AtTToB1lRjnG-GzH7SmFlnRPw,111
44
- llvmlite-0.42.0.dist-info/top_level.txt,sha256=WJi8Gq92jA2wv_aV1Oshp9iZ-zMa43Kcmw80kWeGYGA,9
45
- llvmlite-0.42.0.dist-info/RECORD,,
40
+ llvmlite-0.43.0rc1.dist-info/LICENSE,sha256=S5pyZLAROnsybuhPwkS3OZG1NbSDPkpW1YdQ8qciUNw,1298
41
+ llvmlite-0.43.0rc1.dist-info/LICENSE.thirdparty,sha256=3FJyk8_C5LTVkELgsgRmcWKEXYVIZRky9anS9K38kos,12561
42
+ llvmlite-0.43.0rc1.dist-info/METADATA,sha256=dr0us8hVw-w4ycRU30G9Dx1TbW8M4BtYFUjjRIHx8eU,4788
43
+ llvmlite-0.43.0rc1.dist-info/WHEEL,sha256=3Ij8bI-sb8yCMxXItr4MLlNoRGZb2WoUxQe9xIFR_DQ,111
44
+ llvmlite-0.43.0rc1.dist-info/top_level.txt,sha256=WJi8Gq92jA2wv_aV1Oshp9iZ-zMa43Kcmw80kWeGYGA,9
45
+ llvmlite-0.43.0rc1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.2)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-macosx_10_9_x86_64
5
5