summaryrefslogtreecommitdiff
path: root/isl_reordering.h
diff options
context:
space:
mode:
authorSven Verdoolaege <skimo@kotnet.org>2010-08-24 21:01:20 +0200
committerSven Verdoolaege <skimo@kotnet.org>2010-08-26 16:24:01 +0200
commitbe01bd1cee8c2f95b846175a2dc6152e2d626f21 (patch)
tree0c30752709dc9adccf1b288ea366b7bd4765b506 /isl_reordering.h
parent42adc9b0fa1839f3b546675a252b6cc8e9ef053c (diff)
downloadisl-be01bd1cee8c2f95b846175a2dc6152e2d626f21.tar.gz
isl-be01bd1cee8c2f95b846175a2dc6152e2d626f21.tar.bz2
isl-be01bd1cee8c2f95b846175a2dc6152e2d626f21.zip
align parameters of union arguments to binary functions
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Diffstat (limited to 'isl_reordering.h')
-rw-r--r--isl_reordering.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/isl_reordering.h b/isl_reordering.h
new file mode 100644
index 00000000..0afb5545
--- /dev/null
+++ b/isl_reordering.h
@@ -0,0 +1,31 @@
+#ifndef ISL_REORDERING_H
+#define ISL_REORDERING_H
+
+#include <isl_dim.h>
+
+/* pos maps original dimensions to new dimensions.
+ * The final dimension is given by dim.
+ * The number of dimensions (i.e., the range of values) in the result
+ * may be larger than the number of dimensions in the input.
+ * In particular, the possible values of the entries in pos ranges from 0 to
+ * the total dimension of dim - 1, unless isl_reordering_extend
+ * has been called.
+ */
+struct isl_reordering {
+ int ref;
+ isl_dim *dim;
+ unsigned len;
+ int pos[1];
+};
+typedef struct isl_reordering isl_reordering;
+
+__isl_give isl_reordering *isl_parameter_alignment_reordering(
+ __isl_keep isl_dim *alignee, __isl_keep isl_dim *aligner);
+__isl_give isl_reordering *isl_reordering_copy(__isl_keep isl_reordering *exp);
+void isl_reordering_free(__isl_take isl_reordering *exp);
+__isl_give isl_reordering *isl_reordering_extend_dim(
+ __isl_take isl_reordering *exp, __isl_take isl_dim *dim);
+__isl_give isl_reordering *isl_reordering_extend(__isl_take isl_reordering *exp,
+ unsigned extra);
+
+#endif