From 9ca2d7320956c66a7434f03d64d0c9d92079d2ec Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Tue, 16 Jul 2013 18:20:19 -0400 Subject: [PATCH] split_inames: Fix up loop_priority (rep by Alex Rubinsteyn) --- loopy/__init__.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/loopy/__init__.py b/loopy/__init__.py index d7309a6a5..5be6d48c7 100644 --- a/loopy/__init__.py +++ b/loopy/__init__.py @@ -259,11 +259,20 @@ def split_iname(kernel, split_iname, inner_length, iname_slab_increments = kernel.iname_slab_increments.copy() iname_slab_increments[outer_iname] = slabs - kernel = (kernel - .copy(domains=new_domains, - iname_slab_increments=iname_slab_increments, - instructions=new_insns, - applied_iname_rewrites=applied_iname_rewrites)) + new_loop_priority = [] + for prio_iname in kernel.loop_priority: + if prio_iname == split_iname: + new_loop_priority.append(outer_iname) + new_loop_priority.append(inner_iname) + else: + new_loop_priority.append(prio_iname) + + kernel = kernel.copy( + domains=new_domains, + iname_slab_increments=iname_slab_increments, + instructions=new_insns, + applied_iname_rewrites=applied_iname_rewrites, + loop_priority=new_loop_priority) from loopy.context_matching import parse_stack_match within = parse_stack_match(within) -- GitLab