diff options
| author | Tobias Grosser <tobias@grosser.es> | 2016-10-20 01:59:24 +0000 |
|---|---|---|
| committer | Tobias Grosser <tobias@grosser.es> | 2016-10-20 01:59:24 +0000 |
| commit | 69ed8542f56da6801443e914226283a61ae2c0f0 (patch) | |
| tree | 3ba0192e5d530a0a15532310e6780e9affa0e114 | |
| parent | c7766778a070986ccc38b7782e272cf7e0ff0892 (diff) | |
| download | bcm5719-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_ID | 2 | ||||
| -rw-r--r-- | polly/lib/External/isl/doc/manual.pdf | bin | 475053 -> 475152 bytes | |||
| -rw-r--r-- | polly/lib/External/isl/doc/user.pod | 10 | ||||
| -rw-r--r-- | polly/lib/External/isl/include/isl/aff.h | 1 | ||||
| -rw-r--r-- | polly/lib/External/isl/include/isl/flow.h | 2 | ||||
| -rw-r--r-- | polly/lib/External/isl/include/isl/id.h | 1 | ||||
| -rw-r--r-- | polly/lib/External/isl/isl_flow.c | 30 |
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 Binary files differindex 122ab1ff326..132ffb08cbd 100644 --- a/polly/lib/External/isl/doc/manual.pdf +++ b/polly/lib/External/isl/doc/manual.pdf 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 |

