From e5f4a542b863d1728473037c5919f016e684bd58 Mon Sep 17 00:00:00 2001 From: Sergey Pokhodenko Date: Mon, 9 Nov 2020 15:38:35 +0300 Subject: [PATCH] Patch for addrspace This commit removes modification that introduce addrspace in ce96c20 by @DrTodd13 and test are fixed in 947b407 by @reazulhoque. This commit could be reverted to get the patch which could be proposed to upstream. --- numba/core/datamodel/models.py | 2 +- numba/core/types/common.py | 3 +-- numba/core/types/misc.py | 5 ++--- numba/core/types/npytypes.py | 12 +++++------- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/numba/core/datamodel/models.py b/numba/core/datamodel/models.py index 4049d7c0e60..77b2fc90a21 100644 --- a/numba/core/datamodel/models.py +++ b/numba/core/datamodel/models.py @@ -865,7 +865,7 @@ def __init__(self, dmm, fe_type): ('parent', types.pyobject), ('nitems', types.intp), ('itemsize', types.intp), - ('data', types.CPointer(fe_type.dtype, addrspace=fe_type.addrspace)), + ('data', types.CPointer(fe_type.dtype)), ('shape', types.UniTuple(types.intp, ndim)), ('strides', types.UniTuple(types.intp, ndim)), diff --git a/numba/core/types/common.py b/numba/core/types/common.py index f054d62652e..f1806540c60 100644 --- a/numba/core/types/common.py +++ b/numba/core/types/common.py @@ -45,7 +45,7 @@ class Buffer(IterableType, ArrayCompatible): # CS and FS are not reserved for inner contig but strided LAYOUTS = frozenset(['C', 'F', 'CS', 'FS', 'A']) - def __init__(self, dtype, ndim, layout, readonly=False, name=None, addrspace=None): + def __init__(self, dtype, ndim, layout, readonly=False, name=None): from .misc import unliteral if isinstance(dtype, Buffer): @@ -55,7 +55,6 @@ def __init__(self, dtype, ndim, layout, readonly=False, name=None, addrspace=Non self.dtype = unliteral(dtype) self.ndim = ndim self.layout = layout - self.addrspace = addrspace if readonly: self.mutable = False if name is None: diff --git a/numba/core/types/misc.py b/numba/core/types/misc.py index a2445d967d3..34d8f3a51bf 100644 --- a/numba/core/types/misc.py +++ b/numba/core/types/misc.py @@ -155,15 +155,14 @@ class CPointer(Type): """ mutable = True - def __init__(self, dtype, addrspace=None): + def __init__(self, dtype): self.dtype = dtype - self.addrspace = addrspace name = "%s*" % dtype super(CPointer, self).__init__(name) @property def key(self): - return self.dtype, self.addrspace + return self.dtype class EphemeralPointer(CPointer): diff --git a/numba/core/types/npytypes.py b/numba/core/types/npytypes.py index 6f6307c5526..c7c312adce3 100644 --- a/numba/core/types/npytypes.py +++ b/numba/core/types/npytypes.py @@ -395,7 +395,7 @@ class Array(Buffer): """ def __init__(self, dtype, ndim, layout, readonly=False, name=None, - aligned=True, addrspace=None): + aligned=True): if readonly: self.mutable = False if (not aligned or @@ -408,7 +408,7 @@ def __init__(self, dtype, ndim, layout, readonly=False, name=None, if not self.aligned: type_name = "unaligned " + type_name name = "%s(%s, %sd, %s)" % (type_name, dtype, ndim, layout) - super(Array, self).__init__(dtype, ndim, layout, name=name, addrspace=addrspace) + super(Array, self).__init__(dtype, ndim, layout, name=name) @property def mangling_args(self): @@ -417,7 +417,7 @@ def mangling_args(self): 'aligned' if self.aligned else 'unaligned'] return self.__class__.__name__, args - def copy(self, dtype=None, ndim=None, layout=None, readonly=None, addrspace=None): + def copy(self, dtype=None, ndim=None, layout=None, readonly=None): if dtype is None: dtype = self.dtype if ndim is None: @@ -426,14 +426,12 @@ def copy(self, dtype=None, ndim=None, layout=None, readonly=None, addrspace=None layout = self.layout if readonly is None: readonly = not self.mutable - if addrspace is None: - addrspace = self.addrspace return Array(dtype=dtype, ndim=ndim, layout=layout, readonly=readonly, - aligned=self.aligned, addrspace=addrspace) + aligned=self.aligned) @property def key(self): - return self.dtype, self.ndim, self.layout, self.mutable, self.aligned, self.addrspace + return self.dtype, self.ndim, self.layout, self.mutable, self.aligned def unify(self, typingctx, other): """