isl_arg.c: print_arg_help: print "no-" on default-set option before any prefix

This makes it easier to notice the "no-" in the help output, especially
if there are multiple prefixes.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_args_parse: allow multiple prefixes

In particular, print all prefixes in --help output and skip all prefixes
when parsing options.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
ISL_ARG_GROUP: allow specification of long name/prefix

This will allow us to group options inside the same structure and
still specify a prefix.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
add isl_space_reset_user

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
add isl_set_reset_user and isl_map_reset_user

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc: list isl_multi_*_reset_tuple_id as function modifying input

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
add isl_multi_*_reset_user

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc: document isl_space*product functions

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
add isl_space_is_wrapping

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
add isl_map_range_is_wrapping

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
add isl_multi_*_range_is_wrapping

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
add isl_space_range_factor_{domain,range}

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
add isl_map_range_factor_{domain,range}

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
add isl_multi_*_range_factor_{domain,range}

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
export isl_ast_expr_set_op_arg

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_union_set_compute_schedule: fix check for progress in carry_dependences

Commit 6b21b75 (isl_union_set_compute_schedule: ensure carry_dependences
makes progress, Sun Nov 4 16:30:54 2012 +0100) introduced a test
for trivial solutions in order to avoid recomputing the same trivial
solution over and over, but it failed to take into account that
the coefficients computed in carry_dependences correspond to
the original iterators and not on the result of a change of basis.
As a result the test could mistakenly flag some perfectly fine solutions
as trivial and vice versa.
Fix the test by performing the change of basis on the computed solution.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Merge branch 'maint'
isl_ast_build_expr.c: extract_modulo: assume input is integer expression

Commit e1ac81f (isl_ast_expr_from_aff: clear denominator before calling
extract_modulos, Wed Jul 3 12:34:18 2013 +0200) ensures that the denominator
of the input of extract_modulo is one, but failed to adjust extract_modulo
accordingly.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_ast_build_expr.c: extract_modulos: store intermediate data in structure

This will make it easier to perform further refactorings and
to consider extra opportunities for discovering modulos.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_ast_build_expr.c: extract_modulos: postpone modification of input

Adding an arbitrary expression to the input affine expression
may change the order of the integer divisions inside that expression.
It should be safer to postpone this addition until after the processing
has finished.

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