Skip to content
This repository was archived by the owner on Jan 25, 2023. It is now read-only.

Commit 00e056e

Browse files
committed
Patch for lowering (#98)
This patch introduces global initialization of lower_extensions with one functions and replaces with a list of functions. This change first made in commit 947b407 by @reazulhoque.
1 parent d07f9af commit 00e056e

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

numba/core/lowering.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,13 @@ def debug_print(self, msg):
274274
class Lower(BaseLower):
275275
GeneratorLower = generators.GeneratorLower
276276

277+
def __init__(self, context, library, fndesc, func_ir, metadata=None):
278+
BaseLower.__init__(self, context, library, fndesc, func_ir, metadata)
279+
from numba.parfors.parfor_lowering import _lower_parfor_parallel
280+
from numba.parfors import parfor
281+
if parfor.Parfor not in lower_extensions:
282+
lower_extensions[parfor.Parfor] = [_lower_parfor_parallel]
283+
277284
def pre_block(self, block):
278285
from numba.core.unsafe import eh
279286

@@ -440,7 +447,7 @@ def lower_inst(self, inst):
440447
else:
441448
for _class, func in lower_extensions.items():
442449
if isinstance(inst, _class):
443-
func(self, inst)
450+
func[-1](self, inst)
444451
return
445452
raise NotImplementedError(type(inst))
446453

numba/parfors/parfor_lowering.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ def _lower_parfor_parallel(lowerer, parfor):
480480
print("_lower_parfor_parallel done")
481481

482482
# A work-around to prevent circular imports
483-
lowering.lower_extensions[parfor.Parfor] = _lower_parfor_parallel
483+
#lowering.lower_extensions[parfor.Parfor] = _lower_parfor_parallel
484484

485485

486486
def _create_shape_signature(

0 commit comments

Comments
 (0)