From d1433a2ab7cc087e94eaffd3a23038a7c1f4e1df Mon Sep 17 00:00:00 2001 From: jdsteve2 Date: Tue, 23 Jan 2018 01:02:18 -0600 Subject: [PATCH] no longer modifying maps in place when converting to numpy types --- loopy/statistics.py | 50 ++++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/loopy/statistics.py b/loopy/statistics.py index dbbdb97da..6c7f20d36 100755 --- a/loopy/statistics.py +++ b/loopy/statistics.py @@ -1236,14 +1236,19 @@ def get_op_map(knl, numpy_types=True, count_redundant_work=False): % type(insn).__name__) if numpy_types: - op_map.count_map = dict((Op( - dtype=op.dtype.numpy_dtype, - name=op.name, - count_granularity=op.count_granularity), - count) - for op, count in six.iteritems(op_map.count_map)) - - return op_map + return ToCountMap( + init_dict=dict( + (Op( + dtype=op.dtype.numpy_dtype, + name=op.name, + count_granularity=op.count_granularity + ) + , ct) + for op, ct in six.iteritems(op_map.count_map)), + val_type=op_map.val_type + ) + else: + return op_map # }}} @@ -1420,19 +1425,22 @@ def get_mem_access_map(knl, numpy_types=True, count_redundant_work=False, % type(insn).__name__) if numpy_types: - # FIXME: Don't modify in-place - access_map.count_map = dict( - (MemAccess( - mtype=mem_access.mtype, - dtype=mem_access.dtype.numpy_dtype, - stride=mem_access.stride, - direction=mem_access.direction, - variable=mem_access.variable, - count_granularity=mem_access.count_granularity - ), count) - for mem_access, count in six.iteritems(access_map.count_map)) - - return access_map + return ToCountMap( + init_dict=dict( + (MemAccess( + mtype=mem_access.mtype, + dtype=mem_access.dtype.numpy_dtype, + stride=mem_access.stride, + direction=mem_access.direction, + variable=mem_access.variable, + count_granularity=mem_access.count_granularity + ) + , ct) + for mem_access, ct in six.iteritems(access_map.count_map)), + val_type=access_map.val_type + ) + else: + return access_map # }}} -- GitLab