From d6b7985516ab04433cbb347cb205fee790b89f2e Mon Sep 17 00:00:00 2001
From: Tim Warburton <timwar@caam.rice.edu>
Date: Tue, 1 Nov 2011 23:51:21 -0500
Subject: [PATCH] Be a bit less boring when duplicating inames.

---
 loopy/__init__.py | 5 +++--
 loopy/cse.py      | 7 ++++++-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/loopy/__init__.py b/loopy/__init__.py
index a14dff965..6a6874873 100644
--- a/loopy/__init__.py
+++ b/loopy/__init__.py
@@ -73,7 +73,8 @@ def make_kernel(*args, **kwargs):
 
         for iname in reduction_expr.inames:
             if iname in duplicate_inames:
-                new_iname = knl.make_unique_var_name(iname, newly_created_vars)
+                new_iname = knl.make_unique_var_name(iname+"_"+insn.id,
+                        newly_created_vars)
 
                 old_insn_inames.append(iname)
                 new_insn_inames.append(new_iname)
@@ -123,7 +124,7 @@ def make_kernel(*args, **kwargs):
 
             new_inames = [
                     knl.make_unique_var_name(
-                        iname,
+                        based_on=iname+"_"+insn.id,
                         extra_used_vars=
                         newly_created_vars)
                     for iname in duplicate_inames]
diff --git a/loopy/cse.py b/loopy/cse.py
index 345647643..5388ce193 100644
--- a/loopy/cse.py
+++ b/loopy/cse.py
@@ -371,7 +371,12 @@ def realize_cse(kernel, cse_tag, dtype, independent_inames=[],
     temp_new_inames = []
     for old_iname, new_iname in zip(independent_inames, new_inames):
         if new_iname is None:
-            new_iname = kernel.make_unique_var_name(old_iname, set(temp_new_inames))
+            if cse_tag is not None:
+                based_on = old_iname+"_"+cse_tag
+            else:
+                based_on = old_iname
+
+            new_iname = kernel.make_unique_var_name(based_on, set(temp_new_inames))
             assert new_iname != old_iname
 
         temp_new_inames.append(new_iname)
-- 
GitLab