diff --git a/loopy/preprocess.py b/loopy/preprocess.py index e1ee119d5c9afb985384cffc17c9946c49a5b734..2fdadb48e790d2cd05cc00f4d04c31957505aaa9 100644 --- a/loopy/preprocess.py +++ b/loopy/preprocess.py @@ -332,9 +332,10 @@ def mark_local_temporaries(kernel): if isinstance(kernel.iname_to_tag.get(iname), LocalIndexTagBase)) locparallel_assignee_inames = set(iname - for _, assignee_indices in insn.assignees_and_indices() - for iname in get_dependencies(assignee_indices) + for aname, aindices in insn.assignees_and_indices() + for iname in get_dependencies(aindices) & kernel.all_inames() + if aname == temp_var.name if isinstance(kernel.iname_to_tag.get(iname), LocalIndexTagBase)) assert locparallel_assignee_inames <= locparallel_compute_inames