1 #ifndef ISL_DIM_MAP_H 2 #define ISL_DIM_MAP_H 3 4 #include <isl/ctx.h> 5 #include <isl/space.h> 6 #include <isl/map.h> 7 #include <isl_reordering.h> 8 9 struct isl_dim_map; 10 typedef struct isl_dim_map isl_dim_map; 11 12 __isl_give isl_dim_map *isl_dim_map_alloc(isl_ctx *ctx, unsigned len); 13 __isl_null isl_dim_map *isl_dim_map_free(__isl_take isl_dim_map *dim_map); 14 void isl_dim_map_range(__isl_keep isl_dim_map *dim_map, 15 unsigned dst_pos, int dst_stride, unsigned src_pos, int src_stride, 16 unsigned n, int sign); 17 void isl_dim_map_dim_range(__isl_keep isl_dim_map *dim_map, 18 __isl_keep isl_space *space, enum isl_dim_type type, 19 unsigned first, unsigned n, unsigned dst_pos); 20 void isl_dim_map_dim(__isl_keep isl_dim_map *dim_map, 21 __isl_keep isl_space *space, enum isl_dim_type type, unsigned dst_pos); 22 void isl_dim_map_div(__isl_keep isl_dim_map *dim_map, 23 __isl_keep isl_basic_map *bmap, unsigned dst_pos); 24 __isl_give isl_basic_set *isl_basic_set_add_constraints_dim_map( 25 __isl_take isl_basic_set *dst, __isl_take isl_basic_set *src, 26 __isl_take isl_dim_map *dim_map); 27 __isl_give isl_basic_map *isl_basic_map_add_constraints_dim_map( 28 __isl_take isl_basic_map *dst, __isl_take isl_basic_map *src, 29 __isl_take isl_dim_map *dim_map); 30 31 __isl_give isl_dim_map *isl_dim_map_extend(__isl_keep isl_dim_map *dim_map, 32 __isl_keep isl_basic_map *bmap); 33 34 __isl_give isl_dim_map *isl_dim_map_from_reordering( 35 __isl_keep isl_reordering *exp); 36 37 #endif 38