diff --git a/loopy/__init__.py b/loopy/__init__.py index a90e99ffd1d9123f7940753c86f24843e951ddd0..5e36fc11159b5c0483995f6b5432f4bbb370fecf 100644 --- a/loopy/__init__.py +++ b/loopy/__init__.py @@ -320,10 +320,13 @@ def realize_cse(kernel, cse_tag, dtype, duplicate_inames=[], parallel_inames=Non var(iname) for iname in duplicate_inames )] - from pymbolic import substitute - new_inner_expr = substitute(rec(expr.child), dict( - (old_iname, var(new_iname)) - for old_iname, new_iname in zip(duplicate_inames, new_inames))) + from loopy.symbolic import SubstitutionMapper + from pymbolic.mapper.substitutor import make_subst_func + subst_map = SubstitutionMapper(make_subst_func( + dict( + (old_iname, var(new_iname)) + for old_iname, new_iname in zip(duplicate_inames, new_inames)))) + new_inner_expr = subst_map(rec(expr.child)) # }}}