summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2016-10-20 01:59:24 +0000
committerTobias Grosser <tobias@grosser.es>2016-10-20 01:59:24 +0000
commit69ed8542f56da6801443e914226283a61ae2c0f0 (patch)
tree3ba0192e5d530a0a15532310e6780e9affa0e114
parentc7766778a070986ccc38b7782e272cf7e0ff0892 (diff)
downloadbcm5719-llvm-69ed8542f56da6801443e914226283a61ae2c0f0.tar.gz
bcm5719-llvm-69ed8542f56da6801443e914226283a61ae2c0f0.zip
Update isl to isl-0.17.1-236-ga9c6cc7
This includes isl_id_to_str, which is used in Michael's upcoming DeLICM patch. llvm-svn: 284689
-rw-r--r--polly/lib/External/isl/GIT_HEAD_ID2
-rw-r--r--polly/lib/External/isl/doc/manual.pdfbin475053 -> 475152 bytes
-rw-r--r--polly/lib/External/isl/doc/user.pod10
-rw-r--r--polly/lib/External/isl/include/isl/aff.h1
-rw-r--r--polly/lib/External/isl/include/isl/flow.h2
-rw-r--r--polly/lib/External/isl/include/isl/id.h1
-rw-r--r--polly/lib/External/isl/isl_flow.c30
7 files changed, 43 insertions, 3 deletions
diff --git a/polly/lib/External/isl/GIT_HEAD_ID b/polly/lib/External/isl/GIT_HEAD_ID
index 1371dda4cbd..0f2cb7d0a6b 100644
--- a/polly/lib/External/isl/GIT_HEAD_ID
+++ b/polly/lib/External/isl/GIT_HEAD_ID
@@ -1 +1 @@
-isl-0.17.1-233-gc911e6a
+isl-0.17.1-236-ga9c6cc7
diff --git a/polly/lib/External/isl/doc/manual.pdf b/polly/lib/External/isl/doc/manual.pdf
index 122ab1ff326..132ffb08cbd 100644
--- a/polly/lib/External/isl/doc/manual.pdf
+++ b/polly/lib/External/isl/doc/manual.pdf
Binary files differ
diff --git a/polly/lib/External/isl/doc/user.pod b/polly/lib/External/isl/doc/user.pod
index b0877da20d4..2368ef99e1e 100644
--- a/polly/lib/External/isl/doc/user.pod
+++ b/polly/lib/External/isl/doc/user.pod
@@ -3688,6 +3688,10 @@ Alternatively, a string representation can be obtained
directly using the following functions, which always print
in isl format.
+ #include <isl/id.h>
+ __isl_give char *isl_id_to_str(
+ __isl_keep isl_id *id);
+
#include <isl/space.h>
__isl_give char *isl_space_to_str(
__isl_keep isl_space *space);
@@ -8739,8 +8743,8 @@ of type C<isl_union_access_info> can be obtained using
C<isl_union_access_info_to_str> prints the information in flow format.
-The output of C<isl_union_access_info_compute_flow> can be examined
-and freed using the following functions.
+The output of C<isl_union_access_info_compute_flow> can be examined,
+copied, and freed using the following functions.
#include <isl/flow.h>
__isl_give isl_union_map *isl_union_flow_get_must_dependence(
@@ -8757,6 +8761,8 @@ and freed using the following functions.
__isl_keep isl_union_flow *flow);
__isl_give isl_union_map *isl_union_flow_get_may_no_source(
__isl_keep isl_union_flow *flow);
+ __isl_give isl_union_flow *isl_union_flow_copy(
+ __isl_keep isl_union_flow *flow);
__isl_null isl_union_flow *isl_union_flow_free(
__isl_take isl_union_flow *flow);
diff --git a/polly/lib/External/isl/include/isl/aff.h b/polly/lib/External/isl/include/isl/aff.h
index 29f8a5da48b..2d56ed813c8 100644
--- a/polly/lib/External/isl/include/isl/aff.h
+++ b/polly/lib/External/isl/include/isl/aff.h
@@ -885,6 +885,7 @@ __isl_give isl_union_pw_aff *isl_union_pw_aff_read_from_str(isl_ctx *ctx,
__isl_give char *isl_union_pw_aff_to_str(__isl_keep isl_union_pw_aff *upa);
__isl_give isl_printer *isl_printer_print_union_pw_aff(
__isl_take isl_printer *p, __isl_keep isl_union_pw_aff *upa);
+void isl_union_pw_aff_dump(__isl_keep isl_union_pw_aff *upa);
ISL_DECLARE_MULTI(union_pw_aff)
ISL_DECLARE_MULTI_NEG(union_pw_aff)
diff --git a/polly/lib/External/isl/include/isl/flow.h b/polly/lib/External/isl/include/isl/flow.h
index 388d7919bed..a90c089eaa3 100644
--- a/polly/lib/External/isl/include/isl/flow.h
+++ b/polly/lib/External/isl/include/isl/flow.h
@@ -107,6 +107,8 @@ __isl_give isl_union_flow *isl_union_access_info_compute_flow(
__isl_take isl_union_access_info *access);
isl_ctx *isl_union_flow_get_ctx(__isl_keep isl_union_flow *flow);
+__isl_give isl_union_flow *isl_union_flow_copy(
+ __isl_keep isl_union_flow *flow);
__isl_export
__isl_give isl_union_map *isl_union_flow_get_must_dependence(
__isl_keep isl_union_flow *flow);
diff --git a/polly/lib/External/isl/include/isl/id.h b/polly/lib/External/isl/include/isl/id.h
index fa018463920..c025d513030 100644
--- a/polly/lib/External/isl/include/isl/id.h
+++ b/polly/lib/External/isl/include/isl/id.h
@@ -29,6 +29,7 @@ __isl_keep const char *isl_id_get_name(__isl_keep isl_id *id);
__isl_give isl_id *isl_id_set_free_user(__isl_take isl_id *id,
void (*free_user)(void *user));
+__isl_give char *isl_id_to_str(__isl_keep isl_id *id);
__isl_give isl_printer *isl_printer_print_id(__isl_take isl_printer *p,
__isl_keep isl_id *id);
void isl_id_dump(__isl_keep isl_id *id);
diff --git a/polly/lib/External/isl/isl_flow.c b/polly/lib/External/isl/isl_flow.c
index b5ae691d844..6e2a9a3a51a 100644
--- a/polly/lib/External/isl/isl_flow.c
+++ b/polly/lib/External/isl/isl_flow.c
@@ -1741,6 +1741,36 @@ error:
return NULL;
}
+/* Copy this isl_union_flow object.
+ */
+__isl_give isl_union_flow *isl_union_flow_copy(__isl_keep isl_union_flow *flow)
+{
+ isl_union_flow *copy;
+
+ if (!flow)
+ return NULL;
+
+ copy = isl_union_flow_alloc(isl_union_map_get_space(flow->must_dep));
+
+ if (!copy)
+ return NULL;
+
+ copy->must_dep = isl_union_map_union(copy->must_dep,
+ isl_union_map_copy(flow->must_dep));
+ copy->may_dep = isl_union_map_union(copy->may_dep,
+ isl_union_map_copy(flow->may_dep));
+ copy->must_no_source = isl_union_map_union(copy->must_no_source,
+ isl_union_map_copy(flow->must_no_source));
+ copy->may_no_source = isl_union_map_union(copy->may_no_source,
+ isl_union_map_copy(flow->may_no_source));
+
+ if (!copy->must_dep || !copy->may_dep ||
+ !copy->must_no_source || !copy->may_no_source)
+ return isl_union_flow_free(copy);
+
+ return copy;
+}
+
/* Drop the schedule dimensions from the iteration domains in "flow".
* In particular, the schedule dimensions have been prepended
* to the iteration domains prior to the dependence analysis by
OpenPOWER on IntegriCloud