isl_coalesce.c: check_adj_eq: allow cut constraints when wrapping
commit95546f770d5bb79df8cd739ddd74fc01bdbcf0f3
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 11 Oct 2014 08:58:58 +0000 (11 10:58 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Mon, 12 Jan 2015 15:43:51 +0000 (12 16:43 +0100)
treeba3edcb2c4bd541bce1a9e441de8d415cf790f64
parent5f96fc203314f82ecec6359d43ddad7f2e65805b
isl_coalesce.c: check_adj_eq: allow cut constraints when wrapping

When one basic map satisfies an equality that is adjacent to an inequality
of another basic map, then we would not allow the second basic map to
have any cut constraints with respect to the first basic map.
This makes sense when trying to include the first basic map as an extension
of the second basic map, but when trying to wrap it in, cuts can be allowed.

In particular, the called can_wrap_in_facet function has already been set up
for handling such cuts, even though it wasn't being used.
When this function was introduced in c4dc489 (isl_map_coalesce: handle more
cases, Mon Feb 8 19:24:16 2010 +0100), it was called from two contexts
and one of those needed the same treatment that is also needed for cuts.
This call was then later removed in e4ac1a5 (isl_map_coalesce: allow wrapping
in sets that stick out in different directions, Sun Apr 18 17:50:05
2010 +0200), such that this functionality was no longer effectively used.
Now we make use of it once more.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_coalesce.c
isl_test.c