isl_tab_basic_map_partial_lexopt: copy integer divisions to context
commit5a23e59b9f47de16fd7fe8b75e323c5810f61c83
authorSven Verdoolaege <sven@cerebras.net>
Thu, 9 Feb 2023 13:39:57 +0000 (9 14:39 +0100)
committerSven Verdoolaege <sven.verdoolaege@gmail.com>
Sun, 7 Apr 2024 15:54:19 +0000 (7 17:54 +0200)
tree676ab9fa6873ca69a8693f2b12c2db49a0c82a11
parent777d211f477d96f8a33d0d365de38953ed847f0d
isl_tab_basic_map_partial_lexopt: copy integer divisions to context

For the updated test case, one of the constraints expressing
the integer division floor((a)/6) would appear to have an indeterminate sign
in the context, triggering a split of the context and therefore
also a split of the solution.
There is no need to split the context on such a constraint,
especially since the integer division only involves variables
that also appear in the context.

Copy such integer divisions to the context, including
their defining constraints.
This ensures that no split will be performed based on these constraints
since they will be known to be non-negative in the context.

Signed-off-by: Sven Verdoolaege <sven@cerebras.net>
isl_tab_pip.c
isl_test2.cc