From f65c1270e1dda5f17c32330989eace788620cc8d Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Wed, 11 May 2016 23:19:39 -0500 Subject: [PATCH] Fix local-temporary determination for multiple assignments --- loopy/preprocess.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/loopy/preprocess.py b/loopy/preprocess.py index e1ee119d5..2fdadb48e 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 -- GitLab