=head3 Options
#include <isl/schedule.h>
+ int isl_options_set_schedule_maximize_band_depth(
+ isl_ctx *ctx, int val);
+ int isl_options_get_schedule_maximize_band_depth(
+ isl_ctx *ctx);
int isl_options_set_schedule_outer_zero_distance(
isl_ctx *ctx, int val);
int isl_options_get_schedule_outer_zero_distance(
=over
+=item * maximize_band_depth
+
+If this option is set, we do not split bands at the point
+where we detect splitting is necessary. Instead, we
+backtrack and split bands as early as possible. This
+reduces the number of splits and maximizes the width of
+the bands. Wider bands give more possibilities for tiling.
+
=item * schedule_outer_zero_distance
It this option is set, then we try to construct schedules
struct isl_schedule;
typedef struct isl_schedule isl_schedule;
+int isl_options_set_schedule_maximize_band_depth(isl_ctx *ctx, int val);
+int isl_options_get_schedule_maximize_band_depth(isl_ctx *ctx);
+
int isl_options_set_schedule_outer_zero_distance(isl_ctx *ctx, int val);
int isl_options_get_schedule_outer_zero_distance(isl_ctx *ctx);
gbr_only_first)
ISL_CTX_SET_BOOL_DEF(isl_options, struct isl_options, isl_options_args,
+ schedule_maximize_band_depth)
+ISL_CTX_GET_BOOL_DEF(isl_options, struct isl_options, isl_options_args,
+ schedule_maximize_band_depth)
+
+ISL_CTX_SET_BOOL_DEF(isl_options, struct isl_options, isl_options_args,
schedule_split_parallel)
ISL_CTX_GET_BOOL_DEF(isl_options, struct isl_options, isl_options_args,
schedule_split_parallel)