isl_map_coalesce: remove hidden factors from constraint coefficients
commita929cb74cb3eeaa3200f266fde48259b781baa85
authorSven Verdoolaege <skimo@kotnet.org>
Fri, 10 Oct 2014 14:02:37 +0000 (10 16:02 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Mon, 12 Jan 2015 15:44:05 +0000 (12 16:44 +0100)
tree4410b12afc402c6e7ac7b82c5c9aafb2ec719a2b
parent2b7f835c574622d74f6df36e035a171072b83f99
isl_map_coalesce: remove hidden factors from constraint coefficients

Removing these hidden factors improves the chances of an inequality
being recognized as adjacent to an equality.

For example, the set

{ [x,y] : 2x = 3y and 0 <= y <= 4; [-3,-2] }

would not get coalesced before because the inequality 0 <= y
is not recognized as being adjacent to an equality of the second
basic map.  After removing common factors, the set looks like

{ [x,y] : 2x = 3y and 0 <= x - y <= 2; [-3,-2] }

and now the constraint 0 <= x - y is recognized as being
adjacent to an equality of the second basic map.

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