detect some modulo expressions when extracting a functionmaster
commit00f031cac24959b55e281bedfe94ce610d1d700e
authorSven Verdoolaege <sven@cerebras.net>
Tue, 16 Nov 2021 13:25:20 +0000 (16 14:25 +0100)
committerSven Verdoolaege <sven.verdoolaege@gmail.com>
Sun, 24 Mar 2024 20:36:56 +0000 (24 21:36 +0100)
treee1703e2cc9d5e19c33f13c7a9fda8d64d4e172c0
parent8dcf938d82624143cda57593f327614b3ecb6ae6
detect some modulo expressions when extracting a function

In the worst case, isl_pw_multi_aff_from_map resorts
to parametric integer programming to find a function representation
of a single valued binary relation, but it detects
some special cases first by examining the constraints.
This prevents a subdivision of the domain that may result
from parametric integer programming.
In particular, it already checks for specific cases
of integer divisions.
Extend this to also check for some forms of modulo expressions.
This ensures that the new test cases can be represented
by functions defined over a single cell.

Signed-off-by: Sven Verdoolaege <sven@cerebras.net>
isl_aff.c
isl_map.c
isl_map_private.h
isl_test2.cc
test_inputs/codegen/mod2.c