4 #include <isl/printer.h>
6 #include <isl/union_map_type.h>
9 #if defined(__cplusplus)
14 typedef struct isl_band isl_band
;
16 ISL_DECLARE_LIST(band
)
18 __isl_give isl_band
*isl_band_copy(__isl_keep isl_band
*band
);
19 __isl_null isl_band
*isl_band_free(__isl_take isl_band
*band
);
21 isl_ctx
*isl_band_get_ctx(__isl_keep isl_band
*band
);
23 int isl_band_has_children(__isl_keep isl_band
*band
);
24 __isl_give isl_band_list
*isl_band_get_children(
25 __isl_keep isl_band
*band
);
27 __isl_give isl_union_map
*isl_band_get_prefix_schedule(
28 __isl_keep isl_band
*band
);
29 __isl_give isl_union_map
*isl_band_get_partial_schedule(
30 __isl_keep isl_band
*band
);
31 __isl_give isl_union_map
*isl_band_get_suffix_schedule(
32 __isl_keep isl_band
*band
);
34 int isl_options_set_tile_scale_tile_loops(isl_ctx
*ctx
, int val
);
35 int isl_options_get_tile_scale_tile_loops(isl_ctx
*ctx
);
36 int isl_options_set_tile_shift_point_loops(isl_ctx
*ctx
, int val
);
37 int isl_options_get_tile_shift_point_loops(isl_ctx
*ctx
);
39 int isl_band_tile(__isl_keep isl_band
*band
, __isl_take isl_vec
*sizes
);
40 int isl_band_split(__isl_keep isl_band
*band
, int pos
);
42 int isl_band_n_member(__isl_keep isl_band
*band
);
43 int isl_band_member_is_coincident(__isl_keep isl_band
*band
, int pos
);
45 int isl_band_list_foreach_band(__isl_keep isl_band_list
*list
,
46 int (*fn
)(__isl_keep isl_band
*band
, void *user
), void *user
);
48 __isl_give isl_printer
*isl_printer_print_band(__isl_take isl_printer
*p
,
49 __isl_keep isl_band
*band
);
50 void isl_band_dump(__isl_keep isl_band
*band
);
52 #if defined(__cplusplus)