isl_basic_map_find_output_upper_div_constraint: allow integer divisions
commit4bdfe2567715c5d1a8287c07d8685eb3db281e32
authorSven Verdoolaege <sven@cerebras.net>
Wed, 22 Jul 2020 15:05:48 +0000 (22 17:05 +0200)
committerSven Verdoolaege <sven.verdoolaege@gmail.com>
Thu, 16 Mar 2023 21:07:28 +0000 (16 22:07 +0100)
tree414dd5291e7b0e82f8b459dc27e68ec7d5be4733
parent0f68f24e8fbe90afc1d5e95cac8f64752fcb2e94
isl_basic_map_find_output_upper_div_constraint: allow integer divisions

That is, allow the constraint to refer to local variables
with a known expression as an integer division, as long
as this integer division does not involve any output variables.

This allows more types of functions to be directly read off
from the constraints when converting a binary relation to a function,
without having to resort to parametric integer programming.

In particular, this ensures that the new test case is obviously equal
to the original description when first parsed as a binary relation and
then converted to a function, while parametric integer programming
may result in a different expression (and currently does).

Reviewed-by: Tianjiao Sun <tianjiao.sun@cerebras.net>
Signed-off-by: Sven Verdoolaege <sven@cerebras.net>
isl_map.c
isl_test.c
isl_test2.cc