From afbd4800b40c6d6f1136865255b45b52e04fa489 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Thu, 4 Jun 2015 12:49:31 -0500 Subject: [PATCH] Take into account assumptions when generating for loop bounds --- loopy/codegen/loop.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/loopy/codegen/loop.py b/loopy/codegen/loop.py index 6b7f1ec24..91c8f5499 100644 --- a/loopy/codegen/loop.py +++ b/loopy/codegen/loop.py @@ -299,7 +299,6 @@ def generate_sequential_loop_dim_code(kernel, sched_index, codegen_state): 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 = [] @@ -317,13 +316,22 @@ def generate_sequential_loop_dim_code(kernel, sched_index, codegen_state): static_min_of_pw_aff, static_max_of_pw_aff) - static_lbound = static_min_of_pw_aff( + lbound = ( kernel.cache_manager.dim_min( - dom_and_slab, loop_iname_idx).coalesce(), + dom_and_slab, loop_iname_idx) + .gist(kernel.assumptions) + .coalesce()) + ubound = ( + kernel.cache_manager.dim_max( + dom_and_slab, loop_iname_idx) + .gist(kernel.assumptions) + .coalesce()) + + static_lbound = static_min_of_pw_aff( + lbound, constants_only=False, prefer_constants=False) static_ubound = static_max_of_pw_aff( - kernel.cache_manager.dim_max( - dom_and_slab, loop_iname_idx).coalesce(), + ubound, constants_only=False, prefer_constants=False) # }}} -- GitLab