diff --git a/loopy/codegen/loop.py b/loopy/codegen/loop.py index f8df9ddf4302a10ae05badc610629b1bd9dcad93..05cc51ecbf5b48a780b0a6612ba04d7d3c0488eb 100644 --- a/loopy/codegen/loop.py +++ b/loopy/codegen/loop.py @@ -82,16 +82,11 @@ def get_slab_decomposition(kernel, iname, sched_index, codegen_state): # {{{ unrolled loops def generate_unroll_loop(kernel, sched_index, codegen_state): - from loopy.isl_helpers import block_shift_constraint - ccm = codegen_state.c_code_mapper space = kernel.space iname = kernel.schedule[sched_index].iname tag = kernel.iname_to_tag.get(iname) - lower_cns, upper_cns = get_simple_loop_bounds(kernel, sched_index, iname, - codegen_state.implemented_domain) - bounds = kernel.get_iname_bounds(iname) from loopy.isl_helpers import static_max_of_pw_aff from loopy.symbolic import pw_aff_to_expr @@ -101,18 +96,12 @@ def generate_unroll_loop(kernel, sched_index, codegen_state): lower_bound_pw_aff_pieces = bounds.lower_bound_pw_aff.coalesce().get_pieces() if len(lower_bound_pw_aff_pieces) > 1: - raise NotImplementedError("lower bound for unroll needs conditional/" - "has more than one piece") + raise NotImplementedError("lower bound for unroll of '%s'" + "needs conditional/has more than one piece:\n%s" % ( + iname, "\n".join(str(piece) for piece in lower_bound_pw_aff_pieces))) (_, lower_bound_aff), = lower_bound_pw_aff_pieces - def generate_idx_eq_slabs(): - for i in xrange(length): - yield (i, isl.Set.universe(kernel.space) - .add_constraint( - block_shift_constraint( - lower_cns, iname, -i, as_equality=True))) - from loopy.kernel import UnrollTag if isinstance(tag, UnrollTag): result = []