llvmlite 0.43.0rc1__cp310-cp310-macosx_11_0_arm64.whl → 0.44.0rc2__cp310-cp310-macosx_11_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.

@@ -3,7 +3,12 @@ from llvmlite import ir
3
3
  from llvmlite import binding as llvm
4
4
  from llvmlite.tests import TestCase
5
5
 
6
- from . import refprune_proto as proto
6
+ import llvmlite.tests.refprune_proto as proto
7
+
8
+ # TODO:: Get rid of Legacy tests once completely transitioned to NewPassManager
9
+
10
+ # FIXME: Remove me once typed pointers are no longer supported.
11
+ from llvmlite import opaque_pointers_enabled
7
12
 
8
13
 
9
14
  def _iterate_cases(generate_test):
@@ -18,6 +23,15 @@ def _iterate_cases(generate_test):
18
23
  yield f'test_{k}', wrap(case_fn)
19
24
 
20
25
 
26
+ class PassManagerMixin():
27
+
28
+ def pb(self):
29
+ llvm.initialize_native_target()
30
+ tm = llvm.Target.from_default_triple().create_target_machine()
31
+ pto = llvm.create_pipeline_tuning_options(speed_level=0, size_level=0)
32
+ return llvm.create_pass_builder(tm, pto)
33
+
34
+
21
35
  class TestRefPrunePrototype(TestCase):
22
36
  """
23
37
  Test that the prototype is working.
@@ -35,7 +49,7 @@ class TestRefPrunePrototype(TestCase):
35
49
  ptr_ty = ir.IntType(8).as_pointer()
36
50
 
37
51
 
38
- class TestRefPrunePass(TestCase):
52
+ class TestRefPrunePass(TestCase, PassManagerMixin):
39
53
  """
40
54
  Test that the C++ implementation matches the expected behavior as for
41
55
  the prototype.
@@ -115,6 +129,14 @@ class TestRefPrunePass(TestCase):
115
129
  return m
116
130
 
117
131
  def apply_refprune(self, irmod):
132
+ mod = llvm.parse_assembly(str(irmod))
133
+ pb = self.pb()
134
+ pm = pb.getModulePassManager()
135
+ pm.add_refprune_pass()
136
+ pm.run(mod, pb)
137
+ return mod
138
+
139
+ def apply_refprune_legacy(self, irmod):
118
140
  mod = llvm.parse_assembly(str(irmod))
119
141
  pm = llvm.ModulePassManager()
120
142
  pm.add_refprune_pass()
@@ -153,12 +175,21 @@ class TestRefPrunePass(TestCase):
153
175
  outmod = self.apply_refprune(irmod)
154
176
  self.check(outmod, expected, nodes)
155
177
 
178
+ def generate_test_legacy(self, case_gen):
179
+ nodes, edges, expected = case_gen()
180
+ irmod = self.generate_ir(nodes, edges)
181
+ outmod = self.apply_refprune_legacy(irmod)
182
+ self.check(outmod, expected, nodes)
183
+
156
184
  # Generate tests
157
185
  for name, case in _iterate_cases(generate_test):
158
186
  locals()[name] = case
159
187
 
188
+ for name, case in _iterate_cases(generate_test_legacy):
189
+ locals()[name + "_legacy"] = case
160
190
 
161
- class BaseTestByIR(TestCase):
191
+
192
+ class BaseTestByIR(TestCase, PassManagerMixin):
162
193
  refprune_bitmask = 0
163
194
 
164
195
  prologue = r"""
@@ -167,6 +198,20 @@ declare void @NRT_decref(i8* %ptr)
167
198
  """
168
199
 
169
200
  def check(self, irmod, subgraph_limit=None):
201
+ mod = llvm.parse_assembly(f"{self.prologue}\n{irmod}")
202
+ pb = self.pb()
203
+ pm = pb.getModulePassManager()
204
+ if subgraph_limit is None:
205
+ pm.add_refprune_pass(self.refprune_bitmask)
206
+ else:
207
+ pm.add_refprune_pass(self.refprune_bitmask,
208
+ subgraph_limit=subgraph_limit)
209
+ before = llvm.dump_refprune_stats()
210
+ pm.run(mod, pb)
211
+ after = llvm.dump_refprune_stats()
212
+ return mod, after - before
213
+
214
+ def check_legacy(self, irmod, subgraph_limit=None):
170
215
  mod = llvm.parse_assembly(f"{self.prologue}\n{irmod}")
171
216
  pm = llvm.ModulePassManager()
172
217
  if subgraph_limit is None:
@@ -195,6 +240,10 @@ define void @main(i8* %ptr) {
195
240
  mod, stats = self.check(self.per_bb_ir_1)
196
241
  self.assertEqual(stats.basicblock, 2)
197
242
 
243
+ def test_per_bb_1_legacy(self):
244
+ mod, stats = self.check_legacy(self.per_bb_ir_1)
245
+ self.assertEqual(stats.basicblock, 2)
246
+
198
247
  per_bb_ir_2 = r"""
199
248
  define void @main(i8* %ptr) {
200
249
  call void @NRT_incref(i8* %ptr)
@@ -210,9 +259,31 @@ define void @main(i8* %ptr) {
210
259
  mod, stats = self.check(self.per_bb_ir_2)
211
260
  self.assertEqual(stats.basicblock, 4)
212
261
  # not pruned
213
- self.assertIn("call void @NRT_incref(i8* %ptr)", str(mod))
262
+ # FIXME: Remove `else' once TP are no longer supported.
263
+ if opaque_pointers_enabled:
264
+ self.assertIn("call void @NRT_incref(ptr %ptr)", str(mod))
265
+ else:
266
+ self.assertIn("call void @NRT_incref(i8* %ptr)", str(mod))
267
+
268
+ def test_per_bb_2_legacy(self):
269
+ mod, stats = self.check_legacy(self.per_bb_ir_2)
270
+ self.assertEqual(stats.basicblock, 4)
271
+ # not pruned
272
+ # FIXME: Remove `else' once TP are no longer supported.
273
+ if opaque_pointers_enabled:
274
+ self.assertIn("call void @NRT_incref(ptr %ptr)", str(mod))
275
+ else:
276
+ self.assertIn("call void @NRT_incref(i8* %ptr)", str(mod))
214
277
 
215
278
  per_bb_ir_3 = r"""
279
+ define void @main(ptr %ptr, ptr %other) {
280
+ call void @NRT_incref(ptr %ptr)
281
+ call void @NRT_incref(ptr %ptr)
282
+ call void @NRT_decref(ptr %ptr)
283
+ call void @NRT_decref(ptr %other)
284
+ ret void
285
+ }
286
+ """ if opaque_pointers_enabled else r"""
216
287
  define void @main(i8* %ptr, i8* %other) {
217
288
  call void @NRT_incref(i8* %ptr)
218
289
  call void @NRT_incref(i8* %ptr)
@@ -226,10 +297,34 @@ define void @main(i8* %ptr, i8* %other) {
226
297
  mod, stats = self.check(self.per_bb_ir_3)
227
298
  self.assertEqual(stats.basicblock, 2)
228
299
  # not pruned
229
- self.assertIn("call void @NRT_decref(i8* %other)", str(mod))
300
+ # FIXME: Remove `else' once TP are no longer supported.
301
+ if opaque_pointers_enabled:
302
+ self.assertIn("call void @NRT_decref(ptr %other)", str(mod))
303
+ else:
304
+ self.assertIn("call void @NRT_decref(i8* %other)", str(mod))
305
+
306
+ def test_per_bb_3_legacy(self):
307
+ mod, stats = self.check_legacy(self.per_bb_ir_3)
308
+ self.assertEqual(stats.basicblock, 2)
309
+ # not pruned
310
+ # FIXME: Remove `else' once TP are no longer supported.
311
+ if opaque_pointers_enabled:
312
+ self.assertIn("call void @NRT_decref(ptr %other)", str(mod))
313
+ else:
314
+ self.assertIn("call void @NRT_decref(i8* %other)", str(mod))
230
315
 
231
316
  per_bb_ir_4 = r"""
232
317
  ; reordered
318
+ define void @main(ptr %ptr, ptr %other) {
319
+ call void @NRT_incref(ptr %ptr)
320
+ call void @NRT_decref(ptr %ptr)
321
+ call void @NRT_decref(ptr %ptr)
322
+ call void @NRT_decref(ptr %other)
323
+ call void @NRT_incref(ptr %ptr)
324
+ ret void
325
+ }
326
+ """ if opaque_pointers_enabled else r"""
327
+ ; reordered
233
328
  define void @main(i8* %ptr, i8* %other) {
234
329
  call void @NRT_incref(i8* %ptr)
235
330
  call void @NRT_decref(i8* %ptr)
@@ -244,7 +339,21 @@ define void @main(i8* %ptr, i8* %other) {
244
339
  mod, stats = self.check(self.per_bb_ir_4)
245
340
  self.assertEqual(stats.basicblock, 4)
246
341
  # not pruned
247
- self.assertIn("call void @NRT_decref(i8* %other)", str(mod))
342
+ # FIXME: Remove `else' once TP are no longer supported.
343
+ if opaque_pointers_enabled:
344
+ self.assertIn("call void @NRT_decref(ptr %other)", str(mod))
345
+ else:
346
+ self.assertIn("call void @NRT_decref(i8* %other)", str(mod))
347
+
348
+ def test_per_bb_4_legacy(self):
349
+ mod, stats = self.check_legacy(self.per_bb_ir_4)
350
+ self.assertEqual(stats.basicblock, 4)
351
+ # not pruned
352
+ # FIXME: Remove `else' once TP are no longer supported.
353
+ if opaque_pointers_enabled:
354
+ self.assertIn("call void @NRT_decref(ptr %other)", str(mod))
355
+ else:
356
+ self.assertIn("call void @NRT_decref(i8* %other)", str(mod))
248
357
 
249
358
 
250
359
  class TestDiamond(BaseTestByIR):
@@ -265,6 +374,10 @@ bb_B:
265
374
  mod, stats = self.check(self.per_diamond_1)
266
375
  self.assertEqual(stats.diamond, 2)
267
376
 
377
+ def test_per_diamond_1_legacy(self):
378
+ mod, stats = self.check_legacy(self.per_diamond_1)
379
+ self.assertEqual(stats.diamond, 2)
380
+
268
381
  per_diamond_2 = r"""
269
382
  define void @main(i8* %ptr, i1 %cond) {
270
383
  bb_A:
@@ -284,6 +397,10 @@ bb_D:
284
397
  mod, stats = self.check(self.per_diamond_2)
285
398
  self.assertEqual(stats.diamond, 2)
286
399
 
400
+ def test_per_diamond_2_legacy(self):
401
+ mod, stats = self.check_legacy(self.per_diamond_2)
402
+ self.assertEqual(stats.diamond, 2)
403
+
287
404
  per_diamond_3 = r"""
288
405
  define void @main(i8* %ptr, i1 %cond) {
289
406
  bb_A:
@@ -304,6 +421,10 @@ bb_D:
304
421
  mod, stats = self.check(self.per_diamond_3)
305
422
  self.assertEqual(stats.diamond, 0)
306
423
 
424
+ def test_per_diamond_3_legacy(self):
425
+ mod, stats = self.check_legacy(self.per_diamond_3)
426
+ self.assertEqual(stats.diamond, 0)
427
+
307
428
  per_diamond_4 = r"""
308
429
  define void @main(i8* %ptr, i1 %cond) {
309
430
  bb_A:
@@ -324,6 +445,10 @@ bb_D:
324
445
  mod, stats = self.check(self.per_diamond_4)
325
446
  self.assertEqual(stats.diamond, 2)
326
447
 
448
+ def test_per_diamond_4_legacy(self):
449
+ mod, stats = self.check_legacy(self.per_diamond_4)
450
+ self.assertEqual(stats.diamond, 2)
451
+
327
452
  per_diamond_5 = r"""
328
453
  define void @main(i8* %ptr, i1 %cond) {
329
454
  bb_A:
@@ -345,6 +470,10 @@ bb_D:
345
470
  mod, stats = self.check(self.per_diamond_5)
346
471
  self.assertEqual(stats.diamond, 4)
347
472
 
473
+ def test_per_diamond_5_legacy(self):
474
+ mod, stats = self.check_legacy(self.per_diamond_5)
475
+ self.assertEqual(stats.diamond, 4)
476
+
348
477
 
349
478
  class TestFanout(BaseTestByIR):
350
479
  """More complex cases are tested in TestRefPrunePass
@@ -370,6 +499,10 @@ bb_C:
370
499
  mod, stats = self.check(self.fanout_1)
371
500
  self.assertEqual(stats.fanout, 3)
372
501
 
502
+ def test_fanout_1_legacy(self):
503
+ mod, stats = self.check_legacy(self.fanout_1)
504
+ self.assertEqual(stats.fanout, 3)
505
+
373
506
  fanout_2 = r"""
374
507
  define void @main(i8* %ptr, i1 %cond, i8** %excinfo) {
375
508
  bb_A:
@@ -388,6 +521,10 @@ bb_C:
388
521
  mod, stats = self.check(self.fanout_2)
389
522
  self.assertEqual(stats.fanout, 0)
390
523
 
524
+ def test_fanout_2_legacy(self):
525
+ mod, stats = self.check_legacy(self.fanout_2)
526
+ self.assertEqual(stats.fanout, 0)
527
+
391
528
  fanout_3 = r"""
392
529
  define void @main(i8* %ptr, i1 %cond) {
393
530
  bb_A:
@@ -416,6 +553,16 @@ bb_C:
416
553
  mod, stats = self.check(self.fanout_3, subgraph_limit=1)
417
554
  self.assertEqual(stats.fanout, 0)
418
555
 
556
+ def test_fanout_3_legacy(self):
557
+ mod, stats = self.check_legacy(self.fanout_3)
558
+ self.assertEqual(stats.fanout, 6)
559
+
560
+ def test_fanout_3_limited_legacy(self):
561
+ # With subgraph limit at 1, it is essentially turning off the fanout
562
+ # pruner.
563
+ mod, stats = self.check_legacy(self.fanout_3, subgraph_limit=1)
564
+ self.assertEqual(stats.fanout, 0)
565
+
419
566
 
420
567
  class TestFanoutRaise(BaseTestByIR):
421
568
  refprune_bitmask = llvm.RefPruneSubpasses.FANOUT_RAISE
@@ -439,6 +586,10 @@ bb_C:
439
586
  mod, stats = self.check(self.fanout_raise_1)
440
587
  self.assertEqual(stats.fanout_raise, 2)
441
588
 
589
+ def test_fanout_raise_1_legacy(self):
590
+ mod, stats = self.check_legacy(self.fanout_raise_1)
591
+ self.assertEqual(stats.fanout_raise, 2)
592
+
442
593
  fanout_raise_2 = r"""
443
594
  define i32 @main(i8* %ptr, i1 %cond, i8** %excinfo) {
444
595
  bb_A:
@@ -461,6 +612,12 @@ bb_C:
461
612
  mod, stats = self.check(self.fanout_raise_2)
462
613
  self.assertEqual(stats.fanout_raise, 0)
463
614
 
615
+ def test_fanout_raise_2_legacy(self):
616
+ # This is ensuring that fanout_raise is not pruning when the metadata
617
+ # is incorrectly named.
618
+ mod, stats = self.check_legacy(self.fanout_raise_2)
619
+ self.assertEqual(stats.fanout_raise, 0)
620
+
464
621
  fanout_raise_3 = r"""
465
622
  define i32 @main(i8* %ptr, i1 %cond, i8** %excinfo) {
466
623
  bb_A:
@@ -481,6 +638,10 @@ bb_C:
481
638
  mod, stats = self.check(self.fanout_raise_3)
482
639
  self.assertEqual(stats.fanout_raise, 2)
483
640
 
641
+ def test_fanout_raise_3_legacy(self):
642
+ mod, stats = self.check_legacy(self.fanout_raise_3)
643
+ self.assertEqual(stats.fanout_raise, 2)
644
+
484
645
  fanout_raise_4 = r"""
485
646
  define i32 @main(i8* %ptr, i1 %cond, i8** %excinfo) {
486
647
  bb_A:
@@ -499,6 +660,10 @@ bb_C:
499
660
  mod, stats = self.check(self.fanout_raise_4)
500
661
  self.assertEqual(stats.fanout_raise, 0)
501
662
 
663
+ def test_fanout_raise_4_legacy(self):
664
+ mod, stats = self.check_legacy(self.fanout_raise_4)
665
+ self.assertEqual(stats.fanout_raise, 0)
666
+
502
667
  fanout_raise_5 = r"""
503
668
  define i32 @main(i8* %ptr, i1 %cond, i8** %excinfo) {
504
669
  bb_A:
@@ -521,6 +686,10 @@ common.ret:
521
686
  mod, stats = self.check(self.fanout_raise_5)
522
687
  self.assertEqual(stats.fanout_raise, 2)
523
688
 
689
+ def test_fanout_raise_5_legacy(self):
690
+ mod, stats = self.check_legacy(self.fanout_raise_5)
691
+ self.assertEqual(stats.fanout_raise, 2)
692
+
524
693
  # test case 6 is from https://github.com/numba/llvmlite/issues/1023
525
694
  fanout_raise_6 = r"""
526
695
  define i32 @main(i8* %ptr, i1 %cond1, i1 %cond2, i1 %cond3, i8** %excinfo) {
@@ -552,6 +721,10 @@ bb_F:
552
721
  mod, stats = self.check(self.fanout_raise_6)
553
722
  self.assertEqual(stats.fanout_raise, 7)
554
723
 
724
+ def test_fanout_raise_6_legacy(self):
725
+ mod, stats = self.check_legacy(self.fanout_raise_6)
726
+ self.assertEqual(stats.fanout_raise, 7)
727
+
555
728
 
556
729
  if __name__ == '__main__':
557
730
  unittest.main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: llvmlite
3
- Version: 0.43.0rc1
3
+ Version: 0.44.0rc2
4
4
  Summary: lightweight wrapper around basic LLVM functionality
5
5
  Home-page: http://llvmlite.readthedocs.io
6
6
  License: BSD
@@ -10,13 +10,13 @@ Classifier: Intended Audience :: Developers
10
10
  Classifier: Operating System :: OS Independent
11
11
  Classifier: Programming Language :: Python
12
12
  Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.9
14
13
  Classifier: Programming Language :: Python :: 3.10
15
14
  Classifier: Programming Language :: Python :: 3.11
16
15
  Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
17
  Classifier: Topic :: Software Development :: Code Generators
18
18
  Classifier: Topic :: Software Development :: Compilers
19
- Requires-Python: >=3.9
19
+ Requires-Python: >=3.10
20
20
  License-File: LICENSE
21
21
  License-File: LICENSE.thirdparty
22
22
 
@@ -79,17 +79,18 @@ Key Benefits
79
79
  Compatibility
80
80
  =============
81
81
 
82
- llvmlite has been tested with Python 3.9 -- 3.12 and is likely to work with
82
+ llvmlite has been tested with Python 3.10 -- 3.13 and is likely to work with
83
83
  greater versions.
84
84
 
85
- As of version 0.41.0, llvmlite requires LLVM 14.x.x on all architectures
85
+ As of version 0.44.0, llvmlite requires LLVM 15.x.x on all architectures
86
86
 
87
87
  Historical compatibility table:
88
88
 
89
89
  ================= ========================
90
90
  llvmlite versions compatible LLVM versions
91
91
  ================= ========================
92
- 0.41.0 - ... 14.x.x
92
+ 0.44.0 - ...... 15.x.x
93
+ 0.41.0 - 0.43.0 14.x.x
93
94
  0.40.0 - 0.40.1 11.x.x and 14.x.x (12.x.x and 13.x.x untested but may work)
94
95
  0.37.0 - 0.39.1 11.x.x
95
96
  0.34.0 - 0.36.0 10.0.x (9.0.x for ``aarch64`` only)
@@ -0,0 +1,46 @@
1
+ llvmlite/__init__.py,sha256=YGdYHOwLdIP4w-ENRKffl1zEV45kEeCgkQBWRxoWEZc,354
2
+ llvmlite/_version.py,sha256=oWFMcTxtbjNk8W0s4M7QoPX__8RRyT3K91uer23-ekw,421
3
+ llvmlite/utils.py,sha256=BwgrA2JaYaZiHRafshoZBHiYSBskJQMG_K2F2jbW2-w,695
4
+ llvmlite/binding/__init__.py,sha256=BDNavrxYzQ1tTQZ-vgfELQkmyS178uY2DeGkfh6dhiA,436
5
+ llvmlite/binding/analysis.py,sha256=BbCcAAGY0GLAEUek6ZogHkBAmFA9kvpS7333XyIrbhc,2253
6
+ llvmlite/binding/common.py,sha256=eCSnnY4sctgeqVwDv9PrH6jpMI45nJPmAz4rfjbPsf8,742
7
+ llvmlite/binding/context.py,sha256=st8O3QZM2vJNB6-kaNRgtudFcGlUg7_3bJe82w1ktrc,1098
8
+ llvmlite/binding/dylib.py,sha256=ypfikOYKiWQZi8h00LhLBXwmPlJ5d86yLOUn01pDjmM,1300
9
+ llvmlite/binding/executionengine.py,sha256=PgUFCVJdGvrxXCZAevMv8nUAL8n29Xm58FYO1XYLafc,11022
10
+ llvmlite/binding/ffi.py,sha256=dG4C4TI_4RQtF3RHCCSQGYZ6LrJK1NlF2vwj6QQP2SM,12366
11
+ llvmlite/binding/initfini.py,sha256=zF9tJXmCONabkP0d_IqmiU6M_Wn8N8ArkwfXBxf1TDo,1595
12
+ llvmlite/binding/libllvmlite.dylib,sha256=FOUAaJBhYjUeAjNe-QZqkfWAVK2_Wd2AOU38Dmc0M-Q,90436894
13
+ llvmlite/binding/linker.py,sha256=M4bAkoxVAUgxqai5S0_iCHS5EcNRPBX_9zldVqFLV90,489
14
+ llvmlite/binding/module.py,sha256=Zf9GcuCEFf1xtOmP-jXqKtJbj4dO8l9a2NEPKTwsimI,11174
15
+ llvmlite/binding/newpassmanagers.py,sha256=jRuHmEhLlOGPDwz5Z28EBm5WAuOPr8mhx2ScRkCAa0c,11344
16
+ llvmlite/binding/object_file.py,sha256=qZMTAi6gcVQq2e3KghHNxVH3Ivzr7zxDPecfiZ1Riy8,2664
17
+ llvmlite/binding/options.py,sha256=aDH4SFh6VZ11agtUJO9vAxhVhQkIGAByK9IHKeuRcAI,509
18
+ llvmlite/binding/orcjit.py,sha256=HUWDKicxrYK5s2trdrM_KEmkfvwifrP4E9MxmCb8JSM,11856
19
+ llvmlite/binding/passmanagers.py,sha256=0JsdV1lfbXXAe1fEKUNCIuyNJavY71eN8C7dBtEOvvo,35199
20
+ llvmlite/binding/targets.py,sha256=RN1p4J5OYc3siGqr7rmpMxA8wIaRjX9K_rZHpFxwzBI,17343
21
+ llvmlite/binding/transforms.py,sha256=C_Tp0XPV__aOHaVzLLL_QFa-yI9vkDx1gwZADk_KwG8,4947
22
+ llvmlite/binding/typeref.py,sha256=Cl1qSb4hvoAVY3PhC6WDcPgfHOL69hV8xMEw4vGWpzU,8506
23
+ llvmlite/binding/value.py,sha256=GVsScOUMcSx9vrIq2LQiBPlsfjIHGsbcuELyf8wnSnQ,19477
24
+ llvmlite/ir/__init__.py,sha256=rNPtrPLshsPJYO4GegWAU-rpbpiYo0xU-CQb3rt0JtE,258
25
+ llvmlite/ir/_utils.py,sha256=mkpyEMlQ9nHMcWmBMBsJm4S16Y0BfvxBf5brsdMmKio,2001
26
+ llvmlite/ir/builder.py,sha256=23dpZ2Sw6Kq_Db2qRvRqaKEQwhOztJdq2g6l4QfzpBo,33628
27
+ llvmlite/ir/context.py,sha256=tIFLM1FDatctrgN45jrdxbxIPQjgQTRLGoImkCdgcVA,540
28
+ llvmlite/ir/instructions.py,sha256=BFYnbjDBjjI21_ilOMx67Rg_x7OjUlcTjNDFKiry5os,33053
29
+ llvmlite/ir/module.py,sha256=pfpAh-73WMLptKqwgARwZ7aLMHpm88AcJA2GPfGvyVM,9074
30
+ llvmlite/ir/transforms.py,sha256=pV79pB20m4N_HLmBEksw5VVP8cxyf7AYGDCbS1E7fOQ,1552
31
+ llvmlite/ir/types.py,sha256=_KlN_4zpDK4ouAIjMF_bSKSkCcT10pJWLVDLs-eGp34,20022
32
+ llvmlite/ir/values.py,sha256=FkRpEoG2ur3TqpFwj7co5ymYCnADU5EcmsjaOF--b90,34023
33
+ llvmlite/tests/__init__.py,sha256=TBHEOsEq-9M9rF94nES2HxefA-7GYwNE00Y7gTkHrD8,1378
34
+ llvmlite/tests/__main__.py,sha256=10_On1rLj4CX1xsBJ9TbjULvNSp_K0qk9U1N6azUTUw,40
35
+ llvmlite/tests/customize.py,sha256=85Af1gyZ5rtXXI3qpeTc2DXMrgETjv7hrLN-73A7Fhg,13268
36
+ llvmlite/tests/refprune_proto.py,sha256=I5g0jWHYlsLCOX3Ct9-fA5_udLfkipzuBAsEkrNsFIk,8677
37
+ llvmlite/tests/test_binding.py,sha256=5aB9EHFQ7znJT4NomfRE_LYqfX2ESBxlS4j8Y5grHGg,109211
38
+ llvmlite/tests/test_ir.py,sha256=aYwdRE0yHjdP51HTfqlzDTJ5mI7Kku2QWk0K4b62a34,118560
39
+ llvmlite/tests/test_refprune.py,sha256=DpACceYVOszsok29ikR1T3GHMnXBNdPU5m7iUZZyo8k,21620
40
+ llvmlite/tests/test_valuerepr.py,sha256=57MaGznJUnqCf0etajnOCoBRue5-nmFTx1bds_5atlE,1989
41
+ llvmlite-0.44.0rc2.dist-info/LICENSE,sha256=S5pyZLAROnsybuhPwkS3OZG1NbSDPkpW1YdQ8qciUNw,1298
42
+ llvmlite-0.44.0rc2.dist-info/LICENSE.thirdparty,sha256=3FJyk8_C5LTVkELgsgRmcWKEXYVIZRky9anS9K38kos,12561
43
+ llvmlite-0.44.0rc2.dist-info/METADATA,sha256=FrxqYLa69W7qCRAwcGjCLX8lOGFwpXxDk6o5DMmgFbQ,4817
44
+ llvmlite-0.44.0rc2.dist-info/WHEEL,sha256=ouErvQ11jObv_Zc_3angaSrUe1BdXm5BVGaL2Y171WY,110
45
+ llvmlite-0.44.0rc2.dist-info/top_level.txt,sha256=WJi8Gq92jA2wv_aV1Oshp9iZ-zMa43Kcmw80kWeGYGA,9
46
+ llvmlite-0.44.0rc2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: bdist_wheel (0.44.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-macosx_11_0_arm64
5
5
 
@@ -1,45 +0,0 @@
1
- llvmlite/__init__.py,sha256=PiUSiFLCm0YX5rbHS4xOLGdqdPDC8j3etV3nmEaelzI,92
2
- llvmlite/_version.py,sha256=RwC4j6BMxrFNjGrVat6KVJ3h6RaAKI35NOzRW9GeRiA,421
3
- llvmlite/utils.py,sha256=BwgrA2JaYaZiHRafshoZBHiYSBskJQMG_K2F2jbW2-w,695
4
- llvmlite/binding/__init__.py,sha256=LhAuO8C49hrQ7G2YqcjT8Udkus4ETI1N3zey9Qqt7Jo,405
5
- llvmlite/binding/analysis.py,sha256=BbCcAAGY0GLAEUek6ZogHkBAmFA9kvpS7333XyIrbhc,2253
6
- llvmlite/binding/common.py,sha256=eCSnnY4sctgeqVwDv9PrH6jpMI45nJPmAz4rfjbPsf8,742
7
- llvmlite/binding/context.py,sha256=l2vdKsJ038PfSKzaU17FCSDYWtByzIFYREmx93JwKW8,657
8
- llvmlite/binding/dylib.py,sha256=ypfikOYKiWQZi8h00LhLBXwmPlJ5d86yLOUn01pDjmM,1300
9
- llvmlite/binding/executionengine.py,sha256=PgUFCVJdGvrxXCZAevMv8nUAL8n29Xm58FYO1XYLafc,11022
10
- llvmlite/binding/ffi.py,sha256=sbN4vwClbgpnJHn4-ec2z8gmdCC95_TM3s6kjk6NXp4,12088
11
- llvmlite/binding/initfini.py,sha256=zF9tJXmCONabkP0d_IqmiU6M_Wn8N8ArkwfXBxf1TDo,1595
12
- llvmlite/binding/libllvmlite.dylib,sha256=HgY_0NrgneaQ5ZkDOuVjnVSEEYfxbmFoYLy9QlulQQA,91532430
13
- llvmlite/binding/linker.py,sha256=M4bAkoxVAUgxqai5S0_iCHS5EcNRPBX_9zldVqFLV90,489
14
- llvmlite/binding/module.py,sha256=Zf9GcuCEFf1xtOmP-jXqKtJbj4dO8l9a2NEPKTwsimI,11174
15
- llvmlite/binding/object_file.py,sha256=qZMTAi6gcVQq2e3KghHNxVH3Ivzr7zxDPecfiZ1Riy8,2664
16
- llvmlite/binding/options.py,sha256=aDH4SFh6VZ11agtUJO9vAxhVhQkIGAByK9IHKeuRcAI,509
17
- llvmlite/binding/orcjit.py,sha256=HUWDKicxrYK5s2trdrM_KEmkfvwifrP4E9MxmCb8JSM,11856
18
- llvmlite/binding/passmanagers.py,sha256=Y8y9EECDT0I9g0uRMNSpQeMx9czH-aqrNR-_Tdea4io,35079
19
- llvmlite/binding/targets.py,sha256=5nxDn73pK_ElQu86EU994Qcd-k5Ja2U127T_oLrW_kk,14802
20
- llvmlite/binding/transforms.py,sha256=C_Tp0XPV__aOHaVzLLL_QFa-yI9vkDx1gwZADk_KwG8,4947
21
- llvmlite/binding/typeref.py,sha256=T_ZQfvjTdLtARDci2wVuRfnalgEt9Oc2qb7ZUiiTFJ4,5534
22
- llvmlite/binding/value.py,sha256=WGzbTt4bi42WHlOm-wrDkzIpLIV-EYiJU2ExwjeqmfE,18956
23
- llvmlite/ir/__init__.py,sha256=rNPtrPLshsPJYO4GegWAU-rpbpiYo0xU-CQb3rt0JtE,258
24
- llvmlite/ir/_utils.py,sha256=mkpyEMlQ9nHMcWmBMBsJm4S16Y0BfvxBf5brsdMmKio,2001
25
- llvmlite/ir/builder.py,sha256=t6ZCvkwXd1jmb-CGoTW12kLOSTnwjfS_eY9JJs6ij3g,33479
26
- llvmlite/ir/context.py,sha256=npgEbox0MzChmH7nfHpTdSsN_G4zU-XrpGx5AIYwafk,518
27
- llvmlite/ir/instructions.py,sha256=_fpnCyItoGgPJHhcuCrVxwkDEz4O9a_45thxcnBcDuQ,31767
28
- llvmlite/ir/module.py,sha256=pfpAh-73WMLptKqwgARwZ7aLMHpm88AcJA2GPfGvyVM,9074
29
- llvmlite/ir/transforms.py,sha256=pV79pB20m4N_HLmBEksw5VVP8cxyf7AYGDCbS1E7fOQ,1552
30
- llvmlite/ir/types.py,sha256=2GX-PIx_jDvt4GIfHkqiEkrJI_gPQqSktOsku2UZTgQ,16149
31
- llvmlite/ir/values.py,sha256=XDUlrvVin0gWkDpaXd593S-oXaARbTnLq69bMALRsbI,34001
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=I5g0jWHYlsLCOX3Ct9-fA5_udLfkipzuBAsEkrNsFIk,8677
36
- llvmlite/tests/test_binding.py,sha256=_zM99Ij_-UvtFJAsl7DDXn1PgL6cnA1QxY9dcWkcShg,86608
37
- llvmlite/tests/test_ir.py,sha256=BdNnJwSzNdG3AsBF_v0xe7MTZMN36NbhrAYSV0mHUQk,105705
38
- llvmlite/tests/test_refprune.py,sha256=R0AWosWAuKOp-yX2lZGSxrTV8wBRtxiKbtQagGU1pwI,15088
39
- llvmlite/tests/test_valuerepr.py,sha256=57MaGznJUnqCf0etajnOCoBRue5-nmFTx1bds_5atlE,1989
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=E2L8cNry8_qENFWMb8KxRWLe-RhZW94hLc32Xo3HiTg,110
44
- llvmlite-0.43.0rc1.dist-info/top_level.txt,sha256=WJi8Gq92jA2wv_aV1Oshp9iZ-zMa43Kcmw80kWeGYGA,9
45
- llvmlite-0.43.0rc1.dist-info/RECORD,,