@@ -1671,6 +1671,9 @@ using the following functions.
enum isl_dim_type type);
#include <isl/val.h>
+ __isl_give isl_multi_val *isl_multi_val_set_range_tuple_id(
+ __isl_take isl_multi_val *mv,
+ __isl_take isl_id *id);
__isl_give isl_multi_val *isl_multi_val_set_tuple_id(
__isl_take isl_multi_val *mv,
enum isl_dim_type type, __isl_take isl_id *id);
@@ -1698,6 +1701,9 @@ using the following functions.
__isl_give isl_aff *isl_aff_set_tuple_id(
__isl_take isl_aff *aff,
enum isl_dim_type type, __isl_take isl_id *id);
+ __isl_give isl_multi_aff *isl_multi_aff_set_range_tuple_id(
+ __isl_take isl_multi_aff *ma,
+ __isl_take isl_id *id);
__isl_give isl_multi_aff *isl_multi_aff_set_tuple_id(
__isl_take isl_multi_aff *maff,
enum isl_dim_type type, __isl_take isl_id *id);
@@ -1707,6 +1713,14 @@ using the following functions.
__isl_give isl_pw_multi_aff *isl_pw_multi_aff_set_tuple_id(
__isl_take isl_pw_multi_aff *pma,
enum isl_dim_type type, __isl_take isl_id *id);
+ __isl_give isl_multi_pw_aff *
+ isl_multi_pw_aff_set_range_tuple_id(
+ __isl_take isl_multi_pw_aff *mpa,
+ __isl_take isl_id *id);
+ __isl_give isl_multi_union_pw_aff *
+ isl_multi_union_pw_aff_set_range_tuple_id(
+ __isl_take isl_multi_union_pw_aff *mupa,
+ __isl_take isl_id *id);
__isl_give isl_multi_union_pw_aff *
isl_multi_union_pw_aff_set_tuple_id(
__isl_take isl_multi_union_pw_aff *mupa,
@@ -223,6 +223,9 @@ __isl_give isl_id *isl_multi_##BASE##_get_tuple_id( \
__isl_give isl_multi_##BASE *isl_multi_##BASE##_set_tuple_name( \
__isl_take isl_multi_##BASE *multi, \
enum isl_dim_type type, const char *s); \
+__isl_overload \
+__isl_give isl_multi_##BASE *isl_multi_##BASE##_set_range_tuple_id( \
+ __isl_take isl_multi_##BASE *multi, __isl_take isl_id *id); \
__isl_give isl_multi_##BASE *isl_multi_##BASE##_set_tuple_id( \
__isl_take isl_multi_##BASE *multi, \
enum isl_dim_type type, __isl_take isl_id *id); \
@@ -96,6 +96,19 @@ error:
return NULL;
}
+/* Replace the identifier of the (range) tuple of "multi" by "id".
+ *
+ * Technically, the implementation should use isl_dim_set if "multi"
+ * lives in a set space and isl_dim_out if it lives in a map space.
+ * Internally, however, it can be assumed that isl_dim_set is equal
+ * to isl_dim_out.
+ */
+__isl_give MULTI(BASE) *FN(MULTI(BASE),set_range_tuple_id)(
+ __isl_take MULTI(BASE) *multi, __isl_take isl_id *id)
+{
+ return FN(MULTI(BASE),set_tuple_id)(multi, isl_dim_out, id);
+}
+
/* Drop the id on the specified tuple.
*/
__isl_give MULTI(BASE) *FN(MULTI(BASE),reset_tuple_id)(