From 3db1c3f3b746e357f1d80a453bb2044981e6e440 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Wed, 24 Feb 2016 18:43:30 -0600
Subject: [PATCH] Add (undocumented) separate_loop_head_tail_slab

---
 loopy/transform/iname.py | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/loopy/transform/iname.py b/loopy/transform/iname.py
index 545f4b1b2..c98ed26b4 100644
--- a/loopy/transform/iname.py
+++ b/loopy/transform/iname.py
@@ -1382,4 +1382,21 @@ def find_unused_axis_tag(kernel, kind, insn_match=None):
 
 # }}}
 
+
+# {{{ separate_loop_head_tail_slab
+
+# undocumented, because not super-useful
+def separate_loop_head_tail_slab(kernel, iname, head_it_count, tail_it_count):
+    """Mark *iname* so that the separate code is generated for
+    the lower *head_it_count* and the upper *tail_it_count*
+    iterations of the loop on *iname*.
+    """
+
+    iname_slab_increments = kernel.iname_slab_increments.copy()
+    iname_slab_increments[iname] = (head_it_count, tail_it_count)
+
+    return kernel.copy(iname_slab_increments=iname_slab_increments)
+
+# }}}
+
 # vim: foldmethod=marker
-- 
GitLab