From 1a7944789a8717c8ceb2568ea8b1bf9344775a05 Mon Sep 17 00:00:00 2001
From: Matt Wala <wala1@illinois.edu>
Date: Thu, 29 Dec 2016 22:04:35 -0600
Subject: [PATCH] Barrier insertion: Don't treat write-after-write
 self-dependencies as special (see #21 on gitlab).

This change should effectively be a no-op, since we don't insert
barriers for self-dependencies anyway.
---
 loopy/schedule/__init__.py | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/loopy/schedule/__init__.py b/loopy/schedule/__init__.py
index 4148d7d75..c078da2ec 100644
--- a/loopy/schedule/__init__.py
+++ b/loopy/schedule/__init__.py
@@ -1483,21 +1483,19 @@ class DependencyTracker(object):
         tgt_read = self.map_to_base_storage(
             target.read_dependency_names() & self.relevant_vars)
 
-        for (accessed_vars, accessor_map, ignore_self) in [
-                (tgt_read, self.writer_map, False),
-                (tgt_write, self.reader_map, False),
-                (tgt_write, self.writer_map, True)]:
+        for (accessed_vars, accessor_map) in [
+                (tgt_read, self.writer_map),
+                (tgt_write, self.reader_map),
+                (tgt_write, self.writer_map)]:
 
             for dep in self.get_conflicting_accesses(
-                    accessed_vars, accessor_map, ignore_self, target.id):
+                    accessed_vars, accessor_map, target.id):
                 yield dep
 
     def get_conflicting_accesses(
-            self, accessed_vars, var_to_accessor_map, ignore_self, target):
+            self, accessed_vars, var_to_accessor_map, target):
 
         def determine_conflict_nature(source, target):
-            if ignore_self and source == target:
-                return None
             if (not self.reverse and source in
                     self.kernel.get_nosync_set(target, scope=self.var_kind)):
                 return None
-- 
GitLab