From 0e17dc9d549000ba128b7f7556c36a6d5ffd48d1 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 12 Jan 2012 15:24:01 +0100 Subject: [PATCH] add isl_multi_aff_set_tuple_id Signed-off-by: Sven Verdoolaege --- doc/user.pod | 3 +++ include/isl/aff.h | 3 +++ isl_multi_templ.c | 25 +++++++++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index d80faf2..22e3a01 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -3176,6 +3176,9 @@ It can be modified using __isl_give isl_multi_aff *isl_multi_aff_set_dim_name( __isl_take isl_multi_aff *maff, enum isl_dim_type type, unsigned pos, const char *s); + __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); __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); diff --git a/include/isl/aff.h b/include/isl/aff.h index 30b0163..ee9b4e5 100644 --- a/include/isl/aff.h +++ b/include/isl/aff.h @@ -238,6 +238,9 @@ __isl_give isl_set *isl_pw_aff_list_gt_set(__isl_take isl_pw_aff_list *list1, isl_ctx *isl_multi_aff_get_ctx(__isl_keep isl_multi_aff *maff); __isl_give isl_space *isl_multi_aff_get_space(__isl_keep isl_multi_aff *maff); +__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); __isl_give isl_multi_aff *isl_multi_aff_copy(__isl_keep isl_multi_aff *maff); void *isl_multi_aff_free(__isl_take isl_multi_aff *maff); diff --git a/isl_multi_templ.c b/isl_multi_templ.c index a60b7d4..31699fe 100644 --- a/isl_multi_templ.c +++ b/isl_multi_templ.c @@ -201,6 +201,31 @@ __isl_give MULTI(BASE) *FN(MULTI(BASE),reset_domain_space)( return FN(MULTI(BASE),reset_space_and_domain)(multi, space, domain); } +__isl_give MULTI(BASE) *FN(MULTI(BASE),reset_space)( + __isl_take MULTI(BASE) *multi, __isl_take isl_space *space) +{ + isl_space *domain; + + domain = isl_space_domain(isl_space_copy(space)); + return FN(MULTI(BASE),reset_space_and_domain)(multi, space, domain); +} + +__isl_give MULTI(BASE) *FN(MULTI(BASE),set_tuple_id)( + __isl_keep MULTI(BASE) *multi, enum isl_dim_type type, + __isl_take isl_id *id) +{ + isl_space *space; + + multi = FN(MULTI(BASE),cow)(multi); + if (!multi) + return isl_id_free(id); + + space = FN(MULTI(BASE),get_space)(multi); + space = isl_space_set_tuple_id(space, type, id); + + return FN(MULTI(BASE),reset_space)(multi, space); +} + __isl_give MULTI(BASE) *FN(MULTI(BASE),realign_domain)( __isl_take MULTI(BASE) *multi, __isl_take isl_reordering *exp) { -- 2.7.4