From 8ef9b265cc64cc55935fe6d464aef8253020bc28 Mon Sep 17 00:00:00 2001
From: Matt Wala <wala1@illinois.edu>
Date: Fri, 7 Apr 2017 13:22:37 -0500
Subject: [PATCH] Remove_instructions: Update no_sync_with (closes #60).

---
 loopy/transform/instruction.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/loopy/transform/instruction.py b/loopy/transform/instruction.py
index 410274f90..381a3b7c9 100644
--- a/loopy/transform/instruction.py
+++ b/loopy/transform/instruction.py
@@ -154,7 +154,14 @@ def remove_instructions(kernel, insn_ids):
         for dep_id in depends_on & insn_ids:
             new_deps = new_deps | id_to_insn[dep_id].depends_on
 
-        new_insns.append(insn.copy(depends_on=frozenset(new_deps)))
+        # update no_sync_with
+
+        new_no_sync_with = frozenset((insn_id, scope)
+                for insn_id, scope in insn.no_sync_with
+                if insn_id not in insn_ids)
+
+        new_insns.append(
+                insn.copy(depends_on=new_deps, no_sync_with=new_no_sync_with))
 
     return kernel.copy(
             instructions=new_insns)
-- 
GitLab