Skip to content
This repository was archived by the owner on Jan 25, 2023. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
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.
  • Loading branch information
PokhodenkoSA committed Dec 16, 2020
commit 00e056eb0c3f499b704f7efc70c8b4a8e21c72bd
9 changes: 8 additions & 1 deletion numba/core/lowering.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,13 @@ def debug_print(self, msg):
class Lower(BaseLower):
GeneratorLower = generators.GeneratorLower

def __init__(self, context, library, fndesc, func_ir, metadata=None):
BaseLower.__init__(self, context, library, fndesc, func_ir, metadata)
from numba.parfors.parfor_lowering import _lower_parfor_parallel
from numba.parfors import parfor
if parfor.Parfor not in lower_extensions:
lower_extensions[parfor.Parfor] = [_lower_parfor_parallel]

def pre_block(self, block):
from numba.core.unsafe import eh

Expand Down Expand Up @@ -440,7 +447,7 @@ def lower_inst(self, inst):
else:
for _class, func in lower_extensions.items():
if isinstance(inst, _class):
func(self, inst)
func[-1](self, inst)
return
raise NotImplementedError(type(inst))

Expand Down
2 changes: 1 addition & 1 deletion numba/parfors/parfor_lowering.py
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,7 @@ def _lower_parfor_parallel(lowerer, parfor):
print("_lower_parfor_parallel done")

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


def _create_shape_signature(
Expand Down