llvmlite 0.42.0__cp312-cp312-win_amd64.whl → 0.43.0rc1__cp312-cp312-win_amd64.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=H1Gry6WUS7YcF46WxcqGc4J5D5JErCeM60Db2awDFM8,95
2
- llvmlite/_version.py,sha256=WpFpXNka1Fp7pr8mX6Mnr_3GWJJJFBScNNUFM5czdOU,429
2
+ llvmlite/_version.py,sha256=ZJaGh_3dgGZCzdfP_zlumTYA5oB89BJr2ErxxT6iH_o,432
3
3
  llvmlite/utils.py,sha256=pjxZnAAR2kmKLUTyIEoHKVFt70rK9kQMgBp7x2KDBn0,724
4
4
  llvmlite/binding/__init__.py,sha256=t2JUIsAZBjO_KEMqJSYZSj0FeJFshRiSc7uz4nIv7qo,423
5
5
  llvmlite/binding/analysis.py,sha256=9hzt_SNJNY-VUPIaOQcI3ZM0Ock2uLjzS8KNkkFZLQI,2322
@@ -10,12 +10,12 @@ llvmlite/binding/executionengine.py,sha256=h8EdSkQQeNjzyBL5psNeOMeuyiAtPN_UHPssr
10
10
  llvmlite/binding/ffi.py,sha256=M1vNcqm4RfTDothQVXdokG02cPpWrBK2_wnC32dM6sQ,12478
11
11
  llvmlite/binding/initfini.py,sha256=F6r9ubo5qngIFRz08022vOxFMVikstcu_tq8LrXsJCM,1668
12
12
  llvmlite/binding/linker.py,sha256=Pd3ePT5kBa7ZxUTApskS3zymsZ7uJ932QF88oRpbc2Y,509
13
- llvmlite/binding/llvmlite.dll,sha256=ujNI6sI7yeWyfYcmUxiwCOIUFvFOKbf9Rg9rjw6DW6k,80393216
13
+ llvmlite/binding/llvmlite.dll,sha256=y0UcMlLpU04dd7d6gIkW1RyjfxOHl9SVSTQwBrrDSKI,80394752
14
14
  llvmlite/binding/module.py,sha256=05ig4UzCu8Vdcf1Uk2iFxlbDvYtMksNM4fER2P-0Kz8,11523
15
15
  llvmlite/binding/object_file.py,sha256=4mj6EkKafX4ieGy-bSvU46sckYNFzLLWNhLSvkfnGeM,2746
16
16
  llvmlite/binding/options.py,sha256=DTfM0Feim-maHwAc9C0Q4HHb8ootXlI3RtdzDX3-CKQ,526
17
17
  llvmlite/binding/orcjit.py,sha256=eY0sxPJTBOv7Q1rUVMPTF2AEkeYrKzKJ8QbRzDuUx8Q,12198
18
- llvmlite/binding/passmanagers.py,sha256=ABpt0Qt9xGLuluBupMzxHLyf0fqZWxhwsei_c3FDm4U,35701
18
+ llvmlite/binding/passmanagers.py,sha256=sD7wKxL7fvX300K2h0A3aO8cuF5jCyO1AduYOfoc7lw,36018
19
19
  llvmlite/binding/targets.py,sha256=Qj1HrDQ17qPH3kfDRCuYrFuOjCi1X7A2qMtltOSFHSs,15252
20
20
  llvmlite/binding/transforms.py,sha256=bGrsY0Wnr9Zsk8Q2BrkA9bZjHCwYAQZE1AMl0HaF4jM,5098
21
21
  llvmlite/binding/typeref.py,sha256=GNzmyKQLAj1qUKYAGhCCmfppxMLZvwwH-Cy3LZjirGs,5732
@@ -33,13 +33,13 @@ llvmlite/tests/__init__.py,sha256=bjwcCUkizqVJEjD0YGSfXc5KA99tFI-6NK78Mr-zRrU,14
33
33
  llvmlite/tests/__main__.py,sha256=akCE3R4XPkV3ywVk4LsKMplMU_u8MmK15bVnYRVJFfI,43
34
34
  llvmlite/tests/customize.py,sha256=TWOCtgBTa57uCogdEOnWsX-jKKssTbWAItET3-9INTs,13675
35
35
  llvmlite/tests/refprune_proto.py,sha256=4ZwWsoDzVx6Ih-Z8yVxctOjEhGRKonV3QkL2815Mmiw,9006
36
- llvmlite/tests/test_binding.py,sha256=P72_ZJKWGxGNh7ikGinzyzB3QgUfkgWysz2V44mVdJk,89050
36
+ llvmlite/tests/test_binding.py,sha256=f4nlMJDmgrFaSftf1R9Bf0JFqi7ULXSky3yEjpEoLZg,89193
37
37
  llvmlite/tests/test_ir.py,sha256=36b3ucGPSjtiVi-k5LXSDksjW0MmwtyydgBuLj24pgc,108434
38
- llvmlite/tests/test_refprune.py,sha256=RSYXHErZlrv3OLV3YO2JQdSj_HG3z2ZyZiQ3b-8pz6Q,14761
38
+ llvmlite/tests/test_refprune.py,sha256=1BrCU971C-S2xWZRdR71kYAWZ_qdiFu2slkEoY-AVHA,15645
39
39
  llvmlite/tests/test_valuerepr.py,sha256=uSEyNSVuo2JFZDL7QARFgsbKiNzgR2HFALcwK6yXSGc,2049
40
- llvmlite-0.42.0.dist-info/LICENSE,sha256=8z_CZxFReVSrz6WQQ-4H0BpmI7ZhwdJsxpsJM85P-5g,1322
41
- llvmlite-0.42.0.dist-info/LICENSE.thirdparty,sha256=e1ZMevmrRG0kW6Zq3IzaL2HR0WL4QomVV0megLcVmTo,12786
42
- llvmlite-0.42.0.dist-info/METADATA,sha256=aFS0wiMJrFXZY66bV7PsUoRX0g9Yw6dlYJDvT8yN-Tk,4922
43
- llvmlite-0.42.0.dist-info/WHEEL,sha256=aDrgWfEd5Ac7WJzHsr90rcMGiH4MHbAXoCWpyP5CEBc,102
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=8z_CZxFReVSrz6WQQ-4H0BpmI7ZhwdJsxpsJM85P-5g,1322
41
+ llvmlite-0.43.0rc1.dist-info/LICENSE.thirdparty,sha256=e1ZMevmrRG0kW6Zq3IzaL2HR0WL4QomVV0megLcVmTo,12786
42
+ llvmlite-0.43.0rc1.dist-info/METADATA,sha256=bPTfDtz8hfdqbyNzCoUksnYQnPw4KjLHW-cOlJi2ZmE,4925
43
+ llvmlite-0.43.0rc1.dist-info/WHEEL,sha256=fZWyj_84lK0cA-ZNCsdwhbJl0OTrpWkxInEn424qrSs,102
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: cp312-cp312-win_amd64
5
5