isl_tab_detect_redundant: check later constraints first
commit39be838bfa058b7e1de8e60c94f1779b9a697d59
authorSven Verdoolaege <skimo@kotnet.org>
Thu, 31 Mar 2016 15:49:51 +0000 (31 17:49 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Fri, 1 Apr 2016 10:09:40 +0000 (1 12:09 +0200)
tree4341ee998b11a7c0ca4d0fb3cd20d63bfe954c4c
parent94c243cdaea02d60da87c16e4df235219bdd17b4
isl_tab_detect_redundant: check later constraints first

A given set description may have constraints that are mutually redundant.
That is, either constraint can be removed as redundant, but not both.
This means that the order in which constraints are considered can
lead to different results.  The order in which the constraints are
considered now is difficult to predict by the callers and therefore
also difficult to control.  Check later constraints first such that
later constraints will be end up being removed in favor of earlier
constraints.  This allows the caller to specify which constraints
are preferred by ordering them.

Note that this new selection mechanism results in some fairly random
changes in the AST generation outputs exactly because different constraints
may end up getting preserved.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_tab.c
test_inputs/codegen/omega/lefur03-0.c
test_inputs/codegen/omega/lefur04-0.c
test_inputs/codegen/redundant.c
test_inputs/codegen/unroll6.c