AX_DETECT_GIT_HEAD: detect git version with newer versions of git

In particular, if isl is used as a submodule, then in newer versions
of git, .git may be a file containing the path of the real directory
that has the repository.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
.gitignore: add test-driver

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_ast_node_print: avoid dangling else warnings on printed AST

Some compilers (notably clang) warn about dangling else if
an if statement with an else branch appears inside a for loop
or another if statement without a surrounding block.
Print a block around such if statements to avoid this warning.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_basic_map_simplify: fix elimination of unit coefficient known divs

If a known div appears with a unit coefficient in a constraint,
then it is eliminated from that constraint in order to simplify
the constraint.
However, one if the div constraints may have been eliminated
as being redundant with respect to the modified constraint and
the elimination of the div from the constraint may therefore
result in a loss of information about the div from the constraints.
To make sure this problem does not occur, we (re)introduce
the div constraint that could potentially have been eliminated
with respect to the modified constraint.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Add __isl_take to isl_constraint_set_coefficient_val

Signed-off-by: Andreas Kloeckner <inform@tiker.net>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Add isl_schedule_constraints_copy

The wrapper generator in islpy depends on there being a "copy" method
for (to first order) all types for which it writes wrappers, as
"__isl_take" arguments are automatically copied on input.

Signed-off-by: Andreas Kloeckner <inform@tiker.net>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Merge branch 'maint'