summaryrefslogtreecommitdiffstats
path: root/polly/lib/External/isl/closure.c
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/External/isl/closure.c')
-rw-r--r--polly/lib/External/isl/closure.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/polly/lib/External/isl/closure.c b/polly/lib/External/isl/closure.c
new file mode 100644
index 00000000000..a0faa15820a
--- /dev/null
+++ b/polly/lib/External/isl/closure.c
@@ -0,0 +1,34 @@
+#include <assert.h>
+#include <isl/map.h>
+#include <isl/options.h>
+
+int main(int argc, char **argv)
+{
+ struct isl_ctx *ctx;
+ struct isl_map *map;
+ struct isl_options *options;
+ int exact;
+
+ options = isl_options_new_with_defaults();
+ assert(options);
+ argc = isl_options_parse(options, argc, argv, ISL_ARG_ALL);
+
+ ctx = isl_ctx_alloc_with_options(&isl_options_args, options);
+
+ map = isl_map_read_from_file(ctx, stdin);
+ map = isl_map_transitive_closure(map, &exact);
+ if (!exact)
+ printf("# NOT exact\n");
+ isl_map_print(map, stdout, 0, ISL_FORMAT_ISL);
+ printf("\n");
+ map = isl_map_compute_divs(map);
+ map = isl_map_coalesce(map);
+ printf("# coalesced\n");
+ isl_map_print(map, stdout, 0, ISL_FORMAT_ISL);
+ printf("\n");
+ isl_map_free(map);
+
+ isl_ctx_free(ctx);
+
+ return 0;
+}
OpenPOWER on IntegriCloud