diff --git a/loopy/cse.py b/loopy/cse.py index 5388ce19360f819fd32865f29c73fb9fc701b715..f0a0b0f3bca2699bd154f5d7b92eb7a976840779 100644 --- a/loopy/cse.py +++ b/loopy/cse.py @@ -520,55 +520,5 @@ def realize_cse(kernel, cse_tag, dtype, independent_inames=[], -def realize_cse_old(kernel, cse_tag, dtype, duplicate_inames=[], parallel_inames=None, - dup_iname_to_tag={}, new_inames=None, default_tag_class=AutoFitLocalIndexTag): - """ - :arg duplicate_inames: which inames are supposed to be separate loops - in the CSE. Also determines index order of temporary array. - :arg parallel_inames: only a convenient interface for dup_iname_to_tag - """ - - dtype = np.dtype(dtype) - - - cse_lookup_table = [] - cse_result_insns = [] - - def map_cse(cse, rec): - - # {{{ concoct new inner and outer expressions - - # }}} - - cse_result_insns.append(new_insn) - cse_lookup_table.append((cse.child, new_outer_expr)) - - return new_outer_expr - - from loopy.symbolic import CSECallbackMapper - cse_cb_mapper = CSECallbackMapper(map_cse) - - new_insns = [] - for insn in kernel.instructions: - was_empty = not bool(cse_result_insns) - new_expr = cse_cb_mapper(insn.expression) - - if was_empty and cse_result_insns: - new_insns.append(insn.copy(expression=new_expr)) - else: - new_insns.append(insn) - - new_insns.extend(cse_result_insns) - - # build new domain, duplicating each constraint on duplicated inames - - - new_iname_to_tag = kernel.iname_to_tag.copy() - for old_iname, new_iname in zip(duplicate_inames, new_inames): - new_iname_to_tag[new_iname] = dup_iname_to_tag[old_iname] - - - - # vim: foldmethod=marker