isl_map_is_disjoint: maps with non-matching tuples may still intersect
commit171cbde75e86c5aa1b5a2b8880a34085080f713c
authorSven Verdoolaege <skimo@kotnet.org>
Sun, 20 Oct 2013 08:09:12 +0000 (20 10:09 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Sun, 20 Oct 2013 08:09:12 +0000 (20 10:09 +0200)
tree8c84396496f74a9d692728ae93df46ae8c8b4198
parent3a637dd3b2f2fd2698b98aaf3e1ac899614fb01e
isl_map_is_disjoint: maps with non-matching tuples may still intersect

isl_map_is_disjoint first calls isl_map_plain_is_disjoint to handle
some obvious cases, but if the parameters of the input maps have
not been aligned, then isl_map_plain_is_disjoint may come to the wrong
conclusion.  In particular, if the maps involve nested spaces, then
isl_space_match will return false, whereas isl_map_plain_is_disjoint
expects the function to return true.

We may have to reconsider isl_space_match at some point, but for now
we simply make sure that the parameters are the same before calling
isl_space_match on the input and output tuples.

Reported-by: Michael Kruse <meinersbur@googlemail.com>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_map_simplify.c
isl_test.c