diff --git a/loopy/cse.py b/loopy/cse.py index d6af30b42a3ac954d1639aad0a8b2b7c564b604d..e6d67227fe12c00f9ee1388d6a58d8db5a04a091 100644 --- a/loopy/cse.py +++ b/loopy/cse.py @@ -504,9 +504,13 @@ def realize_cse(kernel, cse_tag, dtype, independent_inames=[], cse_cb_mapper = CSECallbackMapper(subst_cses) - new_insns = [compute_insn] + [ - insn.copy(expression=cse_cb_mapper(insn.expression)) - for insn in kernel.instructions] + new_insns = [compute_insn] + + for insn in kernel.instructions: + new_expr = cse_cb_mapper(insn.expression) + new_insns.append(insn.copy( + expression=new_expr, + forced_iname_deps=insn.all_inames())) # }}}