X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_aff_private.h;h=5a7c3e0970f164bb8fc9bd1dfed68dbe4a8dafed;hb=589fefc83fa2321d3f05b2ee500839a65c46c1b2;hp=3b3005730eaebe9acc0e1b803b7623f6770ed447;hpb=7f17911bba7c398741edde2ce03c64b6555afbec;p=platform%2Fupstream%2Fisl.git diff --git a/isl_aff_private.h b/isl_aff_private.h index 3b30057..5a7c3e0 100644 --- a/isl_aff_private.h +++ b/isl_aff_private.h @@ -6,6 +6,8 @@ #include #include +/* ls represents the domain space. + */ struct isl_aff { int ref; @@ -21,7 +23,7 @@ struct isl_pw_aff_piece { struct isl_pw_aff { int ref; - isl_dim *dim; + isl_space *dim; int n; @@ -29,12 +31,74 @@ struct isl_pw_aff { struct isl_pw_aff_piece p[1]; }; +struct isl_pw_multi_aff_piece { + isl_set *set; + isl_multi_aff *maff; +}; + +struct isl_pw_multi_aff { + int ref; + + isl_space *dim; + + int n; + + size_t size; + struct isl_pw_multi_aff_piece p[1]; +}; + __isl_give isl_aff *isl_aff_alloc(__isl_take isl_local_space *ls); +__isl_give isl_aff *isl_aff_reset_space_and_domain(__isl_take isl_aff *aff, + __isl_take isl_space *space, __isl_take isl_space *domain); +__isl_give isl_aff *isl_aff_reset_domain_space(__isl_take isl_aff *aff, + __isl_take isl_space *dim); +__isl_give isl_aff *isl_aff_realign_domain(__isl_take isl_aff *aff, + __isl_take isl_reordering *r); + +__isl_give isl_aff *isl_aff_normalize(__isl_take isl_aff *aff); + __isl_give isl_aff *isl_aff_expand_divs( __isl_take isl_aff *aff, __isl_take isl_mat *div, int *exp); +__isl_give isl_pw_aff *isl_pw_aff_alloc_size(__isl_take isl_space *space, + int n); +__isl_give isl_pw_aff *isl_pw_aff_reset_space(__isl_take isl_pw_aff *pwaff, + __isl_take isl_space *dim); +__isl_give isl_pw_aff *isl_pw_aff_reset_domain_space( + __isl_take isl_pw_aff *pwaff, __isl_take isl_space *space); __isl_give isl_pw_aff *isl_pw_aff_add_disjoint( __isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2); +__isl_give isl_pw_aff *isl_pw_aff_union_opt(__isl_take isl_pw_aff *pwaff1, + __isl_take isl_pw_aff *pwaff2, int max); + +#undef BASE +#define BASE aff + +#include + +__isl_give isl_multi_aff *isl_multi_aff_dup(__isl_keep isl_multi_aff *multi); +__isl_give isl_multi_aff *isl_multi_aff_align_params( + __isl_take isl_multi_aff *multi, __isl_take isl_space *model); + +__isl_give isl_multi_aff *isl_multi_aff_drop_dims( + __isl_take isl_multi_aff *maff, + enum isl_dim_type type, unsigned first, unsigned n); + +__isl_give isl_pw_multi_aff *isl_pw_multi_aff_reset_domain_space( + __isl_take isl_pw_multi_aff *pwmaff, __isl_take isl_space *space); +__isl_give isl_pw_multi_aff *isl_pw_multi_aff_reset_space( + __isl_take isl_pw_multi_aff *pwmaff, __isl_take isl_space *space); +__isl_give isl_pw_multi_aff *isl_pw_multi_aff_add_disjoint( + __isl_take isl_pw_multi_aff *pma1, __isl_take isl_pw_multi_aff *pma2); + +__isl_give isl_pw_multi_aff *isl_pw_multi_aff_project_out( + __isl_take isl_pw_multi_aff *pma, + enum isl_dim_type type, unsigned first, unsigned n); + +__isl_give isl_pw_multi_aff *isl_pw_multi_aff_substitute( + __isl_take isl_pw_multi_aff *pma, enum isl_dim_type type, unsigned pos, + __isl_keep isl_pw_aff *subs); + #endif