[polly] r246552 - Update isl to isl-0.15-129-gb086c90

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 1 08:42:13 PDT 2015


Author: grosser
Date: Tue Sep  1 10:42:13 2015
New Revision: 246552

URL: http://llvm.org/viewvc/llvm-project?rev=246552&view=rev
Log:
Update isl to isl-0.15-129-gb086c90

Modified:
    polly/trunk/lib/External/isl/GIT_HEAD_ID
    polly/trunk/lib/External/isl/Makefile.am
    polly/trunk/lib/External/isl/Makefile.in
    polly/trunk/lib/External/isl/basis_reduction_tab.c
    polly/trunk/lib/External/isl/configure
    polly/trunk/lib/External/isl/configure.ac
    polly/trunk/lib/External/isl/doc/Makefile.am
    polly/trunk/lib/External/isl/doc/Makefile.in
    polly/trunk/lib/External/isl/doc/manual.pdf
    polly/trunk/lib/External/isl/doc/user.pod
    polly/trunk/lib/External/isl/include/isl/schedule.h
    polly/trunk/lib/External/isl/isl_equalities.c
    polly/trunk/lib/External/isl/isl_int_sioimath.h
    polly/trunk/lib/External/isl/isl_map_simplify.c
    polly/trunk/lib/External/isl/isl_output.c
    polly/trunk/lib/External/isl/isl_schedule.c
    polly/trunk/lib/External/isl/isl_schedule_node.c
    polly/trunk/lib/External/isl/isl_schedule_node_private.h
    polly/trunk/lib/External/isl/isl_test.c
    polly/trunk/lib/External/isl/isl_test_int.c
    polly/trunk/lib/External/isl/isl_val_sioimath.c

Modified: polly/trunk/lib/External/isl/GIT_HEAD_ID
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/GIT_HEAD_ID?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/GIT_HEAD_ID (original)
+++ polly/trunk/lib/External/isl/GIT_HEAD_ID Tue Sep  1 10:42:13 2015
@@ -1 +1 @@
-isl-0.15-117-ge42acfe
+isl-0.15-129-gb086c90

Modified: polly/trunk/lib/External/isl/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/Makefile.am?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/Makefile.am (original)
+++ polly/trunk/lib/External/isl/Makefile.am Tue Sep  1 10:42:13 2015
@@ -303,6 +303,18 @@ deprecated_HEADERS = \
 	include/isl/deprecated/val_int.h \
 	include/isl/deprecated/vec_int.h
 
+BUILT_SOURCES = gitversion.h
+
+CLEANFILES = \
+	gitversion.h
+
+DISTCLEANFILES = \
+	isl-uninstalled.sh \
+	isl-uninstalled.pc \
+	isl.pc \
+	isl.pc.in \
+	include/isl/stdint.h
+
 EXTRA_DIST = \
 	LICENSE \
 	isl_config_post.h \

Modified: polly/trunk/lib/External/isl/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/Makefile.in?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/Makefile.in (original)
+++ polly/trunk/lib/External/isl/Makefile.in Tue Sep  1 10:42:13 2015
@@ -1045,6 +1045,17 @@ deprecated_HEADERS = \
 	include/isl/deprecated/val_int.h \
 	include/isl/deprecated/vec_int.h
 
+BUILT_SOURCES = gitversion.h
+CLEANFILES = \
+	gitversion.h
+
+DISTCLEANFILES = \
+	isl-uninstalled.sh \
+	isl-uninstalled.pc \
+	isl.pc \
+	isl.pc.in \
+	include/isl/stdint.h
+
 EXTRA_DIST = \
 	LICENSE \
 	isl_config_post.h \
@@ -1094,7 +1105,7 @@ EXTRA_DIST = \
 
 pkgconfigdir = $(pkgconfig_libdir)
 pkgconfig_DATA = $(pkgconfig_libfile)
-all: isl_config.h
+all: $(BUILT_SOURCES) isl_config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
@@ -1980,7 +1991,8 @@ distcleancheck: distclean
 	       exit 1; } >&2
 check-am: all-am
 	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-recursive
+check: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) check-recursive
 all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) \
 		isl_config.h
 installdirs: installdirs-recursive
@@ -1988,7 +2000,8 @@ installdirs-am:
 	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(deprecateddir)" "$(DESTDIR)$(pkgincludedir)" "$(DESTDIR)$(pkgincludedir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
-install: install-recursive
+install: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) install-recursive
 install-exec: install-exec-recursive
 install-data: install-data-recursive
 uninstall: uninstall-recursive
@@ -2013,16 +2026,19 @@ mostlyclean-generic:
 	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 	-rm -f imath_wrap/$(DEPDIR)/$(am__dirstamp)
 	-rm -f imath_wrap/$(am__dirstamp)
+	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 clean: clean-recursive
 
 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
@@ -2101,7 +2117,8 @@ uninstall-am: uninstall-deprecatedHEADER
 	uninstall-local uninstall-nodist_pkgincludeHEADERS \
 	uninstall-pkgconfigDATA uninstall-pkgincludeHEADERS
 
-.MAKE: $(am__recursive_targets) all check-am install-am install-strip
+.MAKE: $(am__recursive_targets) all check check-am install install-am \
+	install-strip
 
 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
 	am--refresh check check-TESTS check-am clean clean-cscope \

Modified: polly/trunk/lib/External/isl/basis_reduction_tab.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/basis_reduction_tab.c?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/basis_reduction_tab.c (original)
+++ polly/trunk/lib/External/isl/basis_reduction_tab.c Tue Sep  1 10:42:13 2015
@@ -63,19 +63,19 @@ struct tab_lp {
 #ifdef USE_SMALL_INT_OPT
 #define GBR_numref(a)	isl_sioimath_encode_big(mp_rat_numer_ref(a))
 #define GBR_denref(a)	isl_sioimath_encode_big(mp_rat_denom_ref(a))
-#define GBR_floor(a, b)	isl_sioimath_fdiv_q(&(a), GBR_numref(b), GBR_denref(b))
-#define GBR_ceil(a, b)	isl_sioimath_cdiv_q(&(a), GBR_numref(b), GBR_denref(b))
+#define GBR_floor(a, b)	isl_sioimath_fdiv_q((a), GBR_numref(b), GBR_denref(b))
+#define GBR_ceil(a, b)	isl_sioimath_cdiv_q((a), GBR_numref(b), GBR_denref(b))
 #define GBR_set_num_neg(a, b)                              \
 	do {                                               \
 		isl_sioimath_scratchspace_t scratch;       \
 		impz_neg(mp_rat_numer_ref(*a),             \
-		    isl_sioimath_bigarg_src(b, &scratch)); \
+		    isl_sioimath_bigarg_src(*b, &scratch));\
 	} while (0)
 #define GBR_set_den(a, b)                                  \
 	do {                                               \
 		isl_sioimath_scratchspace_t scratch;       \
 		impz_set(mp_rat_denom_ref(*a),             \
-		    isl_sioimath_bigarg_src(b, &scratch)); \
+		    isl_sioimath_bigarg_src(*b, &scratch));\
 	} while (0)
 #else /* USE_SMALL_INT_OPT */
 #define GBR_numref(a)		mp_rat_numer_ref(a)

Modified: polly/trunk/lib/External/isl/configure
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/configure?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/configure (original)
+++ polly/trunk/lib/External/isl/configure Tue Sep  1 10:42:13 2015
@@ -18480,7 +18480,6 @@ ac_config_commands="$ac_config_commands
 	    GIT_HEAD_VERSION="\`GIT_DIR=$GIT_REPO git describe --always\`"
 	fi
 
-echo '#define GIT_HEAD_ID "'$GIT_HEAD_ID'"' > gitversion.h
 
 
 ac_config_headers="$ac_config_headers isl_config.h"

Modified: polly/trunk/lib/External/isl/configure.ac
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/configure.ac?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/configure.ac (original)
+++ polly/trunk/lib/External/isl/configure.ac Tue Sep  1 10:42:13 2015
@@ -247,7 +247,6 @@ PACKAGE_LIBS="-lisl $MP_LIBS"
 AX_CREATE_PKGCONFIG_INFO
 
 AX_DETECT_GIT_HEAD
-echo '#define GIT_HEAD_ID "'$GIT_HEAD_ID'"' > gitversion.h
 
 AH_BOTTOM([#include <isl_config_post.h>])
 AC_CONFIG_HEADERS(isl_config.h)

Modified: polly/trunk/lib/External/isl/doc/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/doc/Makefile.am?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/doc/Makefile.am (original)
+++ polly/trunk/lib/External/isl/doc/Makefile.am Tue Sep  1 10:42:13 2015
@@ -1,3 +1,16 @@
+
+CLEANFILES = \
+	manual.toc \
+	manual.bbl \
+	version.tex \
+	user.tex \
+	manual.pdf \
+	manual.aux \
+	manual.out \
+	manual.blg \
+	manual.log \
+	manual.brf
+
 if GENERATE_DOC
 export TEXINPUTS := $(srcdir):$(TEXINPUTS)
 export BIBINPUTS := $(srcdir):$(BIBINPUTS)

Modified: polly/trunk/lib/External/isl/doc/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/doc/Makefile.in?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/doc/Makefile.in (original)
+++ polly/trunk/lib/External/isl/doc/Makefile.in Tue Sep  1 10:42:13 2015
@@ -262,6 +262,18 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 versioninfo = @versioninfo@
+CLEANFILES = \
+	manual.toc \
+	manual.bbl \
+	version.tex \
+	user.tex \
+	manual.pdf \
+	manual.aux \
+	manual.out \
+	manual.blg \
+	manual.log \
+	manual.brf
+
 all: all-am
 
 .SUFFIXES:
@@ -364,6 +376,7 @@ install-strip:
 mostlyclean-generic:
 
 clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -452,6 +465,7 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+
 @GENERATE_DOC_TRUE at export TEXINPUTS := $(srcdir):$(TEXINPUTS)
 @GENERATE_DOC_TRUE at export BIBINPUTS := $(srcdir):$(BIBINPUTS)
 @GENERATE_DOC_TRUE at export BSTINPUTS := $(srcdir):$(BSTINPUTS)

Modified: polly/trunk/lib/External/isl/doc/manual.pdf
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/doc/manual.pdf?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
Binary files polly/trunk/lib/External/isl/doc/manual.pdf (original) and polly/trunk/lib/External/isl/doc/manual.pdf Tue Sep  1 10:42:13 2015 differ

Modified: polly/trunk/lib/External/isl/doc/user.pod
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/doc/user.pod?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/doc/user.pod (original)
+++ polly/trunk/lib/External/isl/doc/user.pod Tue Sep  1 10:42:13 2015
@@ -7582,6 +7582,15 @@ redundant.
 		__isl_take isl_schedule *schedule,
 		__isl_take isl_union_set *domain);
 
+The following function can be used to simplify the domain
+of a schedule with a domain node as root with respect to the given
+parameter domain.
+
+	#include <isl/schedule.h>
+	__isl_give isl_schedule *isl_schedule_gist_domain_params(
+		__isl_take isl_schedule *schedule,
+		__isl_take isl_set *context);
+
 The following function resets the user pointers on all parameter
 and tuple identifiers referenced by the nodes of the given schedule.
 

Modified: polly/trunk/lib/External/isl/include/isl/schedule.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/include/isl/schedule.h?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/include/isl/schedule.h (original)
+++ polly/trunk/lib/External/isl/include/isl/schedule.h Tue Sep  1 10:42:13 2015
@@ -121,6 +121,8 @@ __isl_give isl_schedule *isl_schedule_se
 	__isl_take isl_schedule *schedule1, __isl_take isl_schedule *schedule2);
 __isl_give isl_schedule *isl_schedule_intersect_domain(
 	__isl_take isl_schedule *schedule, __isl_take isl_union_set *domain);
+__isl_give isl_schedule *isl_schedule_gist_domain_params(
+	__isl_take isl_schedule *schedule, __isl_take isl_set *context);
 
 __isl_give isl_schedule *isl_schedule_reset_user(
 	__isl_take isl_schedule *schedule);

Modified: polly/trunk/lib/External/isl/isl_equalities.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_equalities.c?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_equalities.c (original)
+++ polly/trunk/lib/External/isl/isl_equalities.c Tue Sep  1 10:42:13 2015
@@ -544,6 +544,32 @@ error:
 	return NULL;
 }
 
+/* Return "bset" and set *T and *T2 to the identity transformation
+ * on "bset" (provided T and T2 are not NULL).
+ */
+static __isl_give isl_basic_set *return_with_identity(
+	__isl_take isl_basic_set *bset, __isl_give isl_mat **T,
+	__isl_give isl_mat **T2)
+{
+	unsigned dim;
+	isl_mat *id;
+
+	if (!bset)
+		return NULL;
+	if (!T && !T2)
+		return bset;
+
+	dim = isl_basic_set_dim(bset, isl_dim_set);
+	id = isl_mat_identity(isl_basic_map_get_ctx(bset), 1 + dim);
+	if (T)
+		*T = isl_mat_copy(id);
+	if (T2)
+		*T2 = isl_mat_copy(id);
+	isl_mat_free(id);
+
+	return bset;
+}
+
 /* Use the n equalities of bset to unimodularly transform the
  * variables x such that n transformed variables x1' have a constant value
  * and rewrite the constraints of bset in terms of the remaining
@@ -568,7 +594,7 @@ static struct isl_basic_set *compress_va
 	dim = isl_basic_set_n_dim(bset);
 	isl_assert(bset->ctx, bset->n_eq <= dim, goto error);
 	if (bset->n_eq == 0)
-		return bset;
+		return return_with_identity(bset, T, T2);
 
 	B = isl_mat_sub_alloc6(bset->ctx, bset->eq, 0, bset->n_eq, 0, 1 + dim);
 	TC = isl_mat_variable_compression(B, T2);
@@ -604,7 +630,7 @@ struct isl_basic_set *isl_basic_set_remo
 	isl_assert(bset->ctx, isl_basic_set_n_param(bset) == 0, goto error);
 	bset = isl_basic_set_gauss(bset, NULL);
 	if (ISL_F_ISSET(bset, ISL_BASIC_SET_EMPTY))
-		return bset;
+		return return_with_identity(bset, T, T2);
 	bset = compress_variables(bset, T, T2);
 	return bset;
 error:

Modified: polly/trunk/lib/External/isl/isl_int_sioimath.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_int_sioimath.h?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_int_sioimath.h (original)
+++ polly/trunk/lib/External/isl/isl_int_sioimath.h Tue Sep  1 10:42:13 2015
@@ -1149,68 +1149,68 @@ inline size_t isl_sioimath_sizeinbase(is
 void isl_sioimath_print(FILE *out, isl_sioimath_src i, int width);
 void isl_sioimath_dump(isl_sioimath_src arg);
 
-typedef isl_sioimath isl_int;
-#define isl_int_init(i)			isl_sioimath_init(&(i))
-#define isl_int_clear(i)		isl_sioimath_clear(&(i))
-
-#define isl_int_set(r, i)		isl_sioimath_set(&(r), i)
-#define isl_int_set_si(r, i)		isl_sioimath_set_si(&(r), i)
-#define isl_int_set_ui(r, i)		isl_sioimath_set_ui(&(r), i)
-#define isl_int_fits_slong(r)		isl_sioimath_fits_slong(r)
-#define isl_int_get_si(r)		isl_sioimath_get_si(r)
-#define isl_int_fits_ulong(r)		isl_sioimath_fits_ulong(r)
-#define isl_int_get_ui(r)		isl_sioimath_get_ui(r)
-#define isl_int_get_d(r)		isl_sioimath_get_d(r)
-#define isl_int_get_str(r)		isl_sioimath_get_str(r)
-#define isl_int_abs(r, i)		isl_sioimath_abs(&(r), i)
-#define isl_int_neg(r, i)		isl_sioimath_neg(&(r), i)
-#define isl_int_swap(i, j)		isl_sioimath_swap(&(i), &(j))
-#define isl_int_swap_or_set(i, j)	isl_sioimath_swap(&(i), &(j))
-#define isl_int_add_ui(r, i, j)		isl_sioimath_add_ui(&(r), i, j)
-#define isl_int_sub_ui(r, i, j)		isl_sioimath_sub_ui(&(r), i, j)
-
-#define isl_int_add(r, i, j)		isl_sioimath_add(&(r), i, j)
-#define isl_int_sub(r, i, j)		isl_sioimath_sub(&(r), i, j)
-#define isl_int_mul(r, i, j)		isl_sioimath_mul(&(r), i, j)
-#define isl_int_mul_2exp(r, i, j)	isl_sioimath_mul_2exp(&(r), i, j)
-#define isl_int_mul_si(r, i, j)		isl_sioimath_mul_si(&(r), i, j)
-#define isl_int_mul_ui(r, i, j)		isl_sioimath_mul_ui(&(r), i, j)
-#define isl_int_pow_ui(r, i, j)		isl_sioimath_pow_ui(&(r), i, j)
-#define isl_int_addmul(r, i, j)		isl_sioimath_addmul(&(r), i, j)
-#define isl_int_addmul_ui(r, i, j)	isl_sioimath_addmul_ui(&(r), i, j)
-#define isl_int_submul(r, i, j)		isl_sioimath_submul(&(r), i, j)
-#define isl_int_submul_ui(r, i, j)	isl_sioimath_submul_ui(&(r), i, j)
-
-#define isl_int_gcd(r, i, j)		isl_sioimath_gcd(&(r), i, j)
-#define isl_int_lcm(r, i, j)		isl_sioimath_lcm(&(r), i, j)
-#define isl_int_divexact(r, i, j)	isl_sioimath_tdiv_q(&(r), i, j)
-#define isl_int_divexact_ui(r, i, j)	isl_sioimath_tdiv_q_ui(&(r), i, j)
-#define isl_int_tdiv_q(r, i, j)		isl_sioimath_tdiv_q(&(r), i, j)
-#define isl_int_cdiv_q(r, i, j)		isl_sioimath_cdiv_q(&(r), i, j)
-#define isl_int_fdiv_q(r, i, j)		isl_sioimath_fdiv_q(&(r), i, j)
-#define isl_int_fdiv_r(r, i, j)		isl_sioimath_fdiv_r(&(r), i, j)
-#define isl_int_fdiv_q_ui(r, i, j)	isl_sioimath_fdiv_q_ui(&(r), i, j)
-
-#define isl_int_read(r, s)		isl_sioimath_read(&(r), s)
-#define isl_int_sgn(i)			isl_sioimath_sgn(i)
-#define isl_int_cmp(i, j)		isl_sioimath_cmp(i, j)
-#define isl_int_cmp_si(i, si)		isl_sioimath_cmp_si(i, si)
-#define isl_int_eq(i, j)		(isl_sioimath_cmp(i, j) == 0)
-#define isl_int_ne(i, j)		(isl_sioimath_cmp(i, j) != 0)
-#define isl_int_lt(i, j)		(isl_sioimath_cmp(i, j) < 0)
-#define isl_int_le(i, j)		(isl_sioimath_cmp(i, j) <= 0)
-#define isl_int_gt(i, j)		(isl_sioimath_cmp(i, j) > 0)
-#define isl_int_ge(i, j)		(isl_sioimath_cmp(i, j) >= 0)
-#define isl_int_abs_cmp(i, j)		isl_sioimath_abs_cmp(i, j)
-#define isl_int_abs_eq(i, j)		(isl_sioimath_abs_cmp(i, j) == 0)
-#define isl_int_abs_ne(i, j)		(isl_sioimath_abs_cmp(i, j) != 0)
-#define isl_int_abs_lt(i, j)		(isl_sioimath_abs_cmp(i, j) < 0)
-#define isl_int_abs_gt(i, j)		(isl_sioimath_abs_cmp(i, j) > 0)
-#define isl_int_abs_ge(i, j)		(isl_sioimath_abs_cmp(i, j) >= 0)
-#define isl_int_is_divisible_by(i, j)	isl_sioimath_is_divisible_by(i, j)
+typedef isl_sioimath isl_int[1];
+#define isl_int_init(i)			isl_sioimath_init((i))
+#define isl_int_clear(i)		isl_sioimath_clear((i))
+
+#define isl_int_set(r, i)		isl_sioimath_set((r), *(i))
+#define isl_int_set_si(r, i)		isl_sioimath_set_si((r), i)
+#define isl_int_set_ui(r, i)		isl_sioimath_set_ui((r), i)
+#define isl_int_fits_slong(r)		isl_sioimath_fits_slong(*(r))
+#define isl_int_get_si(r)		isl_sioimath_get_si(*(r))
+#define isl_int_fits_ulong(r)		isl_sioimath_fits_ulong(*(r))
+#define isl_int_get_ui(r)		isl_sioimath_get_ui(*(r))
+#define isl_int_get_d(r)		isl_sioimath_get_d(*(r))
+#define isl_int_get_str(r)		isl_sioimath_get_str(*(r))
+#define isl_int_abs(r, i)		isl_sioimath_abs((r), *(i))
+#define isl_int_neg(r, i)		isl_sioimath_neg((r), *(i))
+#define isl_int_swap(i, j)		isl_sioimath_swap((i), (j))
+#define isl_int_swap_or_set(i, j)	isl_sioimath_swap((i), (j))
+#define isl_int_add_ui(r, i, j)		isl_sioimath_add_ui((r), *(i), j)
+#define isl_int_sub_ui(r, i, j)		isl_sioimath_sub_ui((r), *(i), j)
+
+#define isl_int_add(r, i, j)		isl_sioimath_add((r), *(i), *(j))
+#define isl_int_sub(r, i, j)		isl_sioimath_sub((r), *(i), *(j))
+#define isl_int_mul(r, i, j)		isl_sioimath_mul((r), *(i), *(j))
+#define isl_int_mul_2exp(r, i, j)	isl_sioimath_mul_2exp((r), *(i), j)
+#define isl_int_mul_si(r, i, j)		isl_sioimath_mul_si((r), *(i), j)
+#define isl_int_mul_ui(r, i, j)		isl_sioimath_mul_ui((r), *(i), j)
+#define isl_int_pow_ui(r, i, j)		isl_sioimath_pow_ui((r), *(i), j)
+#define isl_int_addmul(r, i, j)		isl_sioimath_addmul((r), *(i), *(j))
+#define isl_int_addmul_ui(r, i, j)	isl_sioimath_addmul_ui((r), *(i), j)
+#define isl_int_submul(r, i, j)		isl_sioimath_submul((r), *(i), *(j))
+#define isl_int_submul_ui(r, i, j)	isl_sioimath_submul_ui((r), *(i), j)
+
+#define isl_int_gcd(r, i, j)		isl_sioimath_gcd((r), *(i), *(j))
+#define isl_int_lcm(r, i, j)		isl_sioimath_lcm((r), *(i), *(j))
+#define isl_int_divexact(r, i, j)	isl_sioimath_tdiv_q((r), *(i), *(j))
+#define isl_int_divexact_ui(r, i, j)	isl_sioimath_tdiv_q_ui((r), *(i), j)
+#define isl_int_tdiv_q(r, i, j)		isl_sioimath_tdiv_q((r), *(i), *(j))
+#define isl_int_cdiv_q(r, i, j)		isl_sioimath_cdiv_q((r), *(i), *(j))
+#define isl_int_fdiv_q(r, i, j)		isl_sioimath_fdiv_q((r), *(i), *(j))
+#define isl_int_fdiv_r(r, i, j)		isl_sioimath_fdiv_r((r), *(i), *(j))
+#define isl_int_fdiv_q_ui(r, i, j)	isl_sioimath_fdiv_q_ui((r), *(i), j)
+
+#define isl_int_read(r, s)		isl_sioimath_read((r), s)
+#define isl_int_sgn(i)			isl_sioimath_sgn(*(i))
+#define isl_int_cmp(i, j)		isl_sioimath_cmp(*(i), *(j))
+#define isl_int_cmp_si(i, si)		isl_sioimath_cmp_si(*(i), si)
+#define isl_int_eq(i, j)		(isl_sioimath_cmp(*(i), *(j)) == 0)
+#define isl_int_ne(i, j)		(isl_sioimath_cmp(*(i), *(j)) != 0)
+#define isl_int_lt(i, j)		(isl_sioimath_cmp(*(i), *(j)) < 0)
+#define isl_int_le(i, j)		(isl_sioimath_cmp(*(i), *(j)) <= 0)
+#define isl_int_gt(i, j)		(isl_sioimath_cmp(*(i), *(j)) > 0)
+#define isl_int_ge(i, j)		(isl_sioimath_cmp(*(i), *(j)) >= 0)
+#define isl_int_abs_cmp(i, j)		isl_sioimath_abs_cmp(*(i), *(j))
+#define isl_int_abs_eq(i, j)		(isl_sioimath_abs_cmp(*(i), *(j)) == 0)
+#define isl_int_abs_ne(i, j)		(isl_sioimath_abs_cmp(*(i), *(j)) != 0)
+#define isl_int_abs_lt(i, j)		(isl_sioimath_abs_cmp(*(i), *(j)) < 0)
+#define isl_int_abs_gt(i, j)		(isl_sioimath_abs_cmp(*(i), *(j)) > 0)
+#define isl_int_abs_ge(i, j)		(isl_sioimath_abs_cmp(*(i), *(j)) >= 0)
+#define isl_int_is_divisible_by(i, j)	isl_sioimath_is_divisible_by(*(i), *(j))
 
-#define isl_int_hash(v, h)		isl_sioimath_hash(v, h)
+#define isl_int_hash(v, h)		isl_sioimath_hash(*(v), h)
 #define isl_int_free_str(s)		free(s)
-#define isl_int_print(out, i, width)	isl_sioimath_print(out, i, width)
+#define isl_int_print(out, i, width)	isl_sioimath_print(out, *(i), width)
 
 #endif /* ISL_INT_SIOIMATH_H */

Modified: polly/trunk/lib/External/isl/isl_map_simplify.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_map_simplify.c?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_map_simplify.c (original)
+++ polly/trunk/lib/External/isl/isl_map_simplify.c Tue Sep  1 10:42:13 2015
@@ -2362,6 +2362,7 @@ static __isl_give isl_basic_set *update_
  * The (explicit) equalities of "bset" are assumed to have been taken
  * into account by the transformation such that only the inequalities
  * are relevant.
+ * "context" is assumed not to be empty.
  *
  * "row" keeps track of the constraint index of a "bset" inequality in "tab".
  * A value of -1 means that the inequality is obviously redundant and may
@@ -2557,8 +2558,13 @@ static __isl_give isl_basic_set *uset_gi
 	ineq = isl_mat_product(ineq, isl_mat_copy(T));
 	context = isl_basic_set_preimage(context, T);
 
-	if (!ineq)
+	if (!ineq || !context)
 		goto error;
+	if (isl_basic_set_plain_is_empty(context)) {
+		isl_mat_free(ineq);
+		isl_basic_set_free(context);
+		return isl_basic_set_set_to_empty(bset);
+	}
 
 	ctx = isl_mat_get_ctx(ineq);
 	n_row = isl_mat_rows(ineq);

Modified: polly/trunk/lib/External/isl/isl_output.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_output.c?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_output.c (original)
+++ polly/trunk/lib/External/isl/isl_output.c Tue Sep  1 10:42:13 2015
@@ -515,7 +515,12 @@ error:
 static __isl_give isl_printer *print_div(__isl_keep isl_space *dim,
 	__isl_keep isl_mat *div, int pos, __isl_take isl_printer *p)
 {
-	int c = p->output_format == ISL_FORMAT_C;
+	int c;
+
+	if (!p || !div)
+		return isl_printer_free(p);
+
+	c = p->output_format == ISL_FORMAT_C;
 	p = isl_printer_print_str(p, c ? "floord(" : "floor((");
 	p = print_affine_of_len(dim, div, p,
 				div->row[pos] + 1, div->n_col - 1);
@@ -554,22 +559,19 @@ static __isl_give isl_printer *print_div
 }
 
 static __isl_give isl_printer *print_disjunct(__isl_keep isl_basic_map *bmap,
-	__isl_keep isl_space *dim, __isl_take isl_printer *p, int latex)
+	__isl_keep isl_space *space, __isl_take isl_printer *p, int latex)
 {
 	if (bmap->n_div > 0) {
-		isl_space *space;
 		isl_mat *div;
 
-		space = isl_basic_map_get_space(bmap);
 		div = isl_basic_map_get_divs(bmap);
 		p = isl_printer_print_str(p, s_open_exists[latex]);
 		p = print_div_list(p, space, div, latex);
-		isl_space_free(space);
 		isl_mat_free(div);
 		p = isl_printer_print_str(p, ": ");
 	}
 
-	p = print_constraints(bmap, dim, p, latex);
+	p = print_constraints(bmap, space, p, latex);
 
 	if (bmap->n_div > 0)
 		p = isl_printer_print_str(p, s_close_exists[latex]);
@@ -2028,6 +2030,7 @@ __isl_give isl_printer *isl_printer_prin
 		p = isl_printer_print_str(p, " : ");
 		p = isl_printer_print_str(p, s_open_exists[0]);
 		p = print_div_list(p, ls->dim, ls->div, 0);
+		p = isl_printer_print_str(p, s_close_exists[0]);
 	} else if (isl_space_is_params(ls->dim))
 		p = isl_printer_print_str(p, s_such_that[0]);
 	p = isl_printer_print_str(p, " }");

Modified: polly/trunk/lib/External/isl/isl_schedule.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_schedule.c?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_schedule.c (original)
+++ polly/trunk/lib/External/isl/isl_schedule.c Tue Sep  1 10:42:13 2015
@@ -478,6 +478,36 @@ error:
 	return NULL;
 }
 
+/* Replace the domain of the schedule "schedule" with the gist
+ * of the original domain with respect to the parameter domain "context".
+ */
+__isl_give isl_schedule *isl_schedule_gist_domain_params(
+	__isl_take isl_schedule *schedule, __isl_take isl_set *context)
+{
+	enum isl_schedule_node_type root_type;
+	isl_schedule_node *node;
+
+	if (!schedule || !context)
+		goto error;
+
+	root_type = isl_schedule_tree_get_type(schedule->root);
+	if (root_type != isl_schedule_node_domain)
+		isl_die(isl_schedule_get_ctx(schedule), isl_error_invalid,
+			"root node must be a domain node", goto error);
+
+	node = isl_schedule_get_root(schedule);
+	isl_schedule_free(schedule);
+	node = isl_schedule_node_domain_gist_params(node, context);
+	schedule = isl_schedule_node_get_schedule(node);
+	isl_schedule_node_free(node);
+
+	return schedule;
+error:
+	isl_schedule_free(schedule);
+	isl_set_free(context);
+	return NULL;
+}
+
 /* Return an isl_union_map representation of the schedule.
  * If we still have access to the schedule tree, then we return
  * an isl_union_map corresponding to the subtree schedule of the child

Modified: polly/trunk/lib/External/isl/isl_schedule_node.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_schedule_node.c?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_schedule_node.c (original)
+++ polly/trunk/lib/External/isl/isl_schedule_node.c Tue Sep  1 10:42:13 2015
@@ -3418,6 +3418,31 @@ error:
 	return NULL;
 }
 
+/* Replace the domain of domain node "node" with the gist
+ * of the original domain with respect to the parameter domain "context".
+ */
+__isl_give isl_schedule_node *isl_schedule_node_domain_gist_params(
+	__isl_take isl_schedule_node *node, __isl_take isl_set *context)
+{
+	isl_union_set *domain;
+	isl_schedule_tree *tree;
+
+	if (!node || !context)
+		goto error;
+
+	tree = isl_schedule_tree_copy(node->tree);
+	domain = isl_schedule_tree_domain_get_domain(node->tree);
+	domain = isl_union_set_gist_params(domain, context);
+	tree = isl_schedule_tree_domain_set_domain(tree, domain);
+	node = isl_schedule_node_graft_tree(node, tree);
+
+	return node;
+error:
+	isl_schedule_node_free(node);
+	isl_set_free(context);
+	return NULL;
+}
+
 /* Internal data structure for isl_schedule_node_get_subtree_expansion.
  * "expansions" contains a list of accumulated expansions
  * for each outer expansion, set or sequence node.  The first element

Modified: polly/trunk/lib/External/isl/isl_schedule_node_private.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_schedule_node_private.h?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_schedule_node_private.h (original)
+++ polly/trunk/lib/External/isl/isl_schedule_node_private.h Tue Sep  1 10:42:13 2015
@@ -44,6 +44,8 @@ __isl_give isl_schedule_node *isl_schedu
 
 __isl_give isl_schedule_node *isl_schedule_node_domain_intersect_domain(
 	__isl_take isl_schedule_node *node, __isl_take isl_union_set *domain);
+__isl_give isl_schedule_node *isl_schedule_node_domain_gist_params(
+	__isl_take isl_schedule_node *node, __isl_take isl_set *context);
 
 __isl_give isl_schedule_node *isl_schedule_node_insert_expansion(
 	__isl_take isl_schedule_node *node,

Modified: polly/trunk/lib/External/isl/isl_test.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_test.c?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_test.c (original)
+++ polly/trunk/lib/External/isl/isl_test.c Tue Sep  1 10:42:13 2015
@@ -1309,6 +1309,9 @@ struct {
 	  "[t1, t2] -> { [i4, i5, i6] : exists (e0 = floor((381 - t1)/5), "
 		"e1 = floor((-1 + i4)/2): t2 = 0 and 2e1 = -1 + i4 and "
 		"i4 <= 1 and 5e0 <= 381 - t1 and 20e0 >= 1511 - 4t1 - 5i4) }" },
+	{ "{ [0, 0, q, p] : -5 <= q <= 5 and p >= 0 }",
+	  "{ [a, b, q, p] : b >= 1 + a }",
+	  "{ [a, b, q, p] : false }" },
 };
 
 static int test_gist(struct isl_ctx *ctx)

Modified: polly/trunk/lib/External/isl/isl_test_int.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_test_int.c?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_test_int.c (original)
+++ polly/trunk/lib/External/isl/isl_test_int.c Tue Sep  1 10:42:13 2015
@@ -29,8 +29,8 @@ static void int_test_hash(isl_int val)
 	isl_int_init(promoted);
 	isl_int_set(promoted, val);
 
-	isl_sioimath_try_demote(&demoted);
-	isl_sioimath_promote(&promoted);
+	isl_sioimath_try_demote(demoted);
+	isl_sioimath_promote(promoted);
 
 	assert(isl_int_eq(demoted, promoted));
 
@@ -86,14 +86,14 @@ static void invoke_alternate_representat
 		isl_int_read(int2, arg2);
 
 		if (j & 1)
-			isl_sioimath_promote(&int1);
+			isl_sioimath_promote(int1);
 		else
-			isl_sioimath_try_demote(&int1);
+			isl_sioimath_try_demote(int1);
 
 		if (j & 2)
-			isl_sioimath_promote(&int2);
+			isl_sioimath_promote(int2);
 		else
-			isl_sioimath_try_demote(&int2);
+			isl_sioimath_try_demote(int2);
 
 		(*fn)(int1, int2);
 	}
@@ -118,19 +118,19 @@ static void invoke_alternate_representat
 		isl_int_read(int3, arg3);
 
 		if (j & 1)
-			isl_sioimath_promote(&int1);
+			isl_sioimath_promote(int1);
 		else
-			isl_sioimath_try_demote(&int1);
+			isl_sioimath_try_demote(int1);
 
 		if (j & 2)
-			isl_sioimath_promote(&int2);
+			isl_sioimath_promote(int2);
 		else
-			isl_sioimath_try_demote(&int2);
+			isl_sioimath_try_demote(int2);
 
 		if (j & 4)
-			isl_sioimath_promote(&int3);
+			isl_sioimath_promote(int3);
 		else
-			isl_sioimath_try_demote(&int3);
+			isl_sioimath_try_demote(int3);
 
 		(*fn)(int1, int2, int3);
 	}

Modified: polly/trunk/lib/External/isl/isl_val_sioimath.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_val_sioimath.c?rev=246552&r1=246551&r2=246552&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_val_sioimath.c (original)
+++ polly/trunk/lib/External/isl/isl_val_sioimath.c Tue Sep  1 10:42:13 2015
@@ -13,8 +13,8 @@ __isl_give isl_val *isl_val_int_from_chu
 	if (!v)
 		return NULL;
 
-	impz_import(isl_sioimath_reinit_big(&v->n), n, -1, size, 0, 0, chunks);
-	isl_sioimath_try_demote(&v->n);
+	impz_import(isl_sioimath_reinit_big(v->n), n, -1, size, 0, 0, chunks);
+	isl_sioimath_try_demote(v->n);
 	isl_int_set_si(v->d, 1);
 
 	return v;
@@ -44,7 +44,7 @@ int isl_val_get_abs_num_chunks(__isl_kee
 			"expecting rational value", return -1);
 
 	impz_export(chunks, NULL, -1, size, 0, 0,
-	    isl_sioimath_bigarg_src(v->n, &scratch));
+	    isl_sioimath_bigarg_src(*v->n, &scratch));
 	if (isl_val_is_zero(v))
 		memset(chunks, 0, size);
 
@@ -64,5 +64,5 @@ size_t isl_val_n_abs_num_chunks(__isl_ke
 			"expecting rational value", return 0);
 
 	size *= 8;
-	return (isl_sioimath_sizeinbase(v->n, 2) + size - 1) / size;
+	return (isl_sioimath_sizeinbase(*v->n, 2) + size - 1) / size;
 }




More information about the llvm-commits mailing list