diff --git a/loopy/cse.py b/loopy/cse.py index 1db1ac2d5556fe3e78e3c9734d5b3ab1312792ad..f2086b2c2367bed56b82d7d8903c673c798e6930 100644 --- a/loopy/cse.py +++ b/loopy/cse.py @@ -361,6 +361,12 @@ def precompute(kernel, subst_name, dtype, sweep_inames=[], sweep_inames, invocation_descriptors) new_domain = new_domain.coalesce() + + if len(new_domain.get_basic_sets()) > 1: + hull_new_domain = new_domain.simple_hull() + if hull_new_domain <= new_domain: + new_domain = hull_new_domain + if isinstance(new_domain, isl.Set): dom_bsets = new_domain.get_basic_sets() if len(dom_bsets) > 1: