cloog_domain_from_isl_set: turn parameter sets into regular sets
commitfa8f0d7978b4c425c99637175071c0b3e90c0111
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 10 Dec 2011 17:23:42 +0000 (10 18:23 +0100)
committerTobias Grosser <tobias@grosser.es>
Sun, 11 Dec 2011 21:57:03 +0000 (11 22:57 +0100)
tree1df4429d96fe44cd6051e9c604bdff68a1d083fe
parent538c73b85f408897a96d894df206e836505927a1
cloog_domain_from_isl_set: turn parameter sets into regular sets

Recent versions of isl make an explicit distinction between regular
sets and parameter sets, but CLooG does not make any such distinction.
Usually, this doesn't lead to any problems because the context
(which should be a parametric set) is usually mapped into a higher
dimension before being combined with other sets (iteration domains).
This extension automatically turns a parameter set into a set.
However, when the iteration domains are zero-dimensional,
cloog_loop_restrict will not call cloog_domain_extend on the original
context, but will instead directly intersect the iteration domain
with the context.

We could simplify the code of cloog_loop_restrict to always call
cloog_domain_extend, but that may have a negative effect on other
backends.  Instead, we choose to turn any parametric set into
a regular set while it is being converted to a CloogDomain.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Signed-off-by: Tobias Grosser <tobias@grosser.es>
source/isl/domain.c