| #ifndef ISL_BAND_H |
| #define ISL_BAND_H |
| |
| #include <isl/printer.h> |
| #include <isl/list.h> |
| #include <isl/union_map_type.h> |
| #include <isl/vec.h> |
| |
| #if defined(__cplusplus) |
| extern "C" { |
| #endif |
| |
| struct isl_band; |
| typedef struct isl_band isl_band; |
| |
| __isl_give isl_band *isl_band_copy(__isl_keep isl_band *band); |
| void *isl_band_free(__isl_take isl_band *band); |
| |
| isl_ctx *isl_band_get_ctx(__isl_keep isl_band *band); |
| |
| int isl_band_has_children(__isl_keep isl_band *band); |
| __isl_give isl_band_list *isl_band_get_children( |
| __isl_keep isl_band *band); |
| |
| __isl_give isl_union_map *isl_band_get_prefix_schedule( |
| __isl_keep isl_band *band); |
| __isl_give isl_union_map *isl_band_get_partial_schedule( |
| __isl_keep isl_band *band); |
| __isl_give isl_union_map *isl_band_get_suffix_schedule( |
| __isl_keep isl_band *band); |
| |
| int isl_options_set_tile_scale_tile_loops(isl_ctx *ctx, int val); |
| int isl_options_get_tile_scale_tile_loops(isl_ctx *ctx); |
| |
| int isl_band_tile(__isl_keep isl_band *band, __isl_take isl_vec *sizes); |
| |
| int isl_band_n_member(__isl_keep isl_band *band); |
| int isl_band_member_is_zero_distance(__isl_keep isl_band *band, int pos); |
| |
| int isl_band_list_foreach_band(__isl_keep isl_band_list *list, |
| int (*fn)(__isl_keep isl_band *band, void *user), void *user); |
| |
| __isl_give isl_printer *isl_printer_print_band(__isl_take isl_printer *p, |
| __isl_keep isl_band *band); |
| void isl_band_dump(__isl_keep isl_band *band); |
| |
| #if defined(__cplusplus) |
| } |
| #endif |
| |
| #endif |