Blame isl-0.16.1/include/isl/band.h

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