[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