diff --git a/loopy/codegen/loop.py b/loopy/codegen/loop.py index 57255c179ea484c68b9c2ad9ef9be81607bff630..2004fe215a80032b167eb5301f43a9bf6822bdf3 100644 --- a/loopy/codegen/loop.py +++ b/loopy/codegen/loop.py @@ -286,9 +286,16 @@ def generate_sequential_loop_dim_code(kernel, sched_index, codegen_state): # {{{ find bounds - domain = isl.align_spaces(domain, slab, across_dim_types=True, + aligned_domain = isl.align_spaces(domain, slab, across_dim_types=True, obj_bigger_ok=True) - dom_and_slab = domain & slab + + dom_and_slab = aligned_domain & slab + + assumptions_non_param = isl.BasicSet.from_params(kernel.assumptions) + dom_and_slab, assumptions_non_param = isl.align_two( + dom_and_slab, assumptions_non_param) + dom_and_slab = dom_and_slab & assumptions_non_param + del assumptions_non_param # move inames that are usable into parameters moved_inames = []