Update ISL to isl-0.17.1-203-g3fef898.
authorMichael Kruse <llvm@meinersbur.de>
Thu, 1 Sep 2016 08:26:22 +0000 (08:26 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Thu, 1 Sep 2016 08:26:22 +0000 (08:26 +0000)
This version has isl_space_has_equal_tuples added to the public API.

llvm-svn: 280341

polly/lib/External/isl/GIT_HEAD_ID
polly/lib/External/isl/doc/manual.pdf
polly/lib/External/isl/doc/user.pod
polly/lib/External/isl/include/isl/space.h
polly/lib/External/isl/isl_space.c

index d1fe9ab..b577ffb 100644 (file)
@@ -1 +1 @@
-isl-0.17.1-200-gd8de4ea
+isl-0.17.1-203-g3fef898
index c24de99..c7f4f2f 100644 (file)
Binary files a/polly/lib/External/isl/doc/manual.pdf and b/polly/lib/External/isl/doc/manual.pdf differ
index e7f2aa0..8dab36d 100644 (file)
@@ -952,6 +952,9 @@ Spaces can be compared using the following functions:
        #include <isl/space.h>
        isl_bool isl_space_is_equal(__isl_keep isl_space *space1,
                __isl_keep isl_space *space2);
+       isl_bool isl_space_has_equal_tuples(
+               __isl_keep isl_space *space1,
+               __isl_keep isl_space *space2);
        isl_bool isl_space_is_domain(__isl_keep isl_space *space1,
                __isl_keep isl_space *space2);
        isl_bool isl_space_is_range(__isl_keep isl_space *space1,
@@ -970,6 +973,17 @@ tuples (C<isl_dim_in>, C<isl_dim_out> or C<isl_dim_set>) of the given
 spaces are the same.  That is, it checks if they have the same
 identifier (if any), the same dimension and the same internal structure
 (if any).
+C<isl_space_is_equal> checks whether two spaces are identical.
+In particular, it checks whether they have the same type
+(parameter, set or map space), the same tuples
+(if they are not parameter spaces) in the sense
+of C<isl_space_tuple_is_equal> and the same parameters
+in the same order.
+C<isl_space_has_equal_tuples> check whether two spaces have
+the same tuples.  In contrast to C<isl_space_is_equal>, it does not check the
+parameters.  This is useful because many C<isl> functions align the
+parameters before they perform their operations, such that equivalence
+is not necessary.
 
 It is often useful to create objects that live in the
 same space as some other object.  This can be accomplished
index 3d50955..2ad53bd 100644 (file)
@@ -153,6 +153,8 @@ isl_bool isl_space_is_range(__isl_keep isl_space *space1,
        __isl_keep isl_space *space2);
 isl_bool isl_space_is_equal(__isl_keep isl_space *space1,
        __isl_keep isl_space *space2);
+isl_bool isl_space_has_equal_tuples(__isl_keep isl_space *space1,
+       __isl_keep isl_space *space2);
 isl_bool isl_space_tuple_is_equal(__isl_keep isl_space *space1,
        enum isl_dim_type type1, __isl_keep isl_space *space2,
        enum isl_dim_type type2);
index f954e31..b4b88b7 100644 (file)
@@ -766,13 +766,13 @@ static __isl_keep isl_space *nested(__isl_keep isl_space *dim,
 
 /* Are the two spaces the same, apart from positions and names of parameters?
  */
-static int isl_space_has_equal_tuples(__isl_keep isl_space *space1,
+isl_bool isl_space_has_equal_tuples(__isl_keep isl_space *space1,
        __isl_keep isl_space *space2)
 {
        if (!space1 || !space2)
-               return -1;
+               return isl_bool_error;
        if (space1 == space2)
-               return 1;
+               return isl_bool_true;
        return isl_space_tuple_is_equal(space1, isl_dim_in,
                                        space2, isl_dim_in) &&
               isl_space_tuple_is_equal(space1, isl_dim_out,