add option to bound the constant scheduling coefficients
[platform/upstream/isl.git] / doc / user.pod
index dbed4a2..76b6e01 100644 (file)
@@ -4128,6 +4128,14 @@ A representation of the band can be printed using
 =head3 Options
 
        #include <isl/schedule.h>
+       int isl_options_set_schedule_max_constant_term(
+               isl_ctx *ctx, int val);
+       int isl_options_get_schedule_max_constant_term(
+               isl_ctx *ctx);
+       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(
@@ -4140,9 +4148,25 @@ A representation of the band can be printed using
 
 =over
 
+=item * max_constant_term
+
+This option enforces that the constant coefficients in the calculated schedule
+are not larger than the maximal constant term. This option can significantly
+increase the speed of the scheduling calculation and may also prevent fusing of
+unrelated dimensions. A value of -1 means that this option does not introduce
+bounds on the constant coefficients.
+
+=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
+If this option is set, then we try to construct schedules
 where the outermost scheduling dimension in each band
 results in a zero dependence distance over the proximity
 dependences.