From 9620c61784ca0c78c591049b896f82b5329d9283 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Tue, 22 Sep 2015 19:28:13 -0500
Subject: [PATCH] Fix computation of check domains in the presence of boosting

---
 loopy/check.py | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/loopy/check.py b/loopy/check.py
index 01a6e52c2..354c6bf35 100644
--- a/loopy/check.py
+++ b/loopy/check.py
@@ -1,7 +1,4 @@
-from __future__ import division
-from __future__ import absolute_import
-import six
-from six.moves import range
+from __future__ import absolute_import, division, print_function
 
 __copyright__ = "Copyright (C) 2012 Andreas Kloeckner"
 
@@ -25,6 +22,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 """
 
+import six
+from six.moves import range
 
 from islpy import dim_type
 import islpy as isl
@@ -484,10 +483,14 @@ def check_implemented_domains(kernel, implemented_domains, code=None):
                 .project_out_except(insn_inames, [dim_type.set]))
 
         insn_domain = kernel.get_inames_domain(insn_inames)
+        insn_parameters = frozenset(insn_domain.get_var_names(dim_type.param))
         assumptions, insn_domain = align_two(assumption_non_param, insn_domain)
         desired_domain = ((insn_domain & assumptions)
-            .project_out_except(insn_inames, [dim_type.set]))
+            .project_out_except(insn_inames, [dim_type.set])
+            .project_out_except(insn_parameters, [dim_type.param]))
 
+        insn_impl_domain = (insn_impl_domain
+                .project_out_except(insn_parameters, [dim_type.param]))
         insn_impl_domain, desired_domain = align_two(
                 insn_impl_domain, desired_domain)
 
-- 
GitLab