1 #ifndef ISL_OPTIONS_PRIVATE_H 2 #define ISL_OPTIONS_PRIVATE_H 3 4 #include <isl/options.h> 5 6 struct isl_options { 7 #define ISL_CONTEXT_GBR 0 8 #define ISL_CONTEXT_LEXMIN 1 9 unsigned context; 10 11 #define ISL_GBR_NEVER 0 12 #define ISL_GBR_ONCE 1 13 #define ISL_GBR_ALWAYS 2 14 unsigned gbr; 15 unsigned gbr_only_first; 16 17 #define ISL_CLOSURE_ISL 0 18 #define ISL_CLOSURE_BOX 1 19 unsigned closure; 20 21 int bound; 22 unsigned on_error; 23 24 #define ISL_BERNSTEIN_FACTORS 1 25 #define ISL_BERNSTEIN_INTERVALS 2 26 int bernstein_recurse; 27 28 int bernstein_triangulate; 29 30 int pip_symmetry; 31 32 #define ISL_CONVEX_HULL_WRAP 0 33 #define ISL_CONVEX_HULL_FM 1 34 int convex; 35 36 int coalesce_bounded_wrapping; 37 int coalesce_preserve_locals; 38 39 int schedule_max_coefficient; 40 int schedule_max_constant_term; 41 int schedule_parametric; 42 int schedule_outer_coincidence; 43 int schedule_maximize_band_depth; 44 int schedule_maximize_coincidence; 45 int schedule_split_scaled; 46 int schedule_treat_coalescing; 47 int schedule_separate_components; 48 int schedule_whole_component; 49 unsigned schedule_algorithm; 50 int schedule_carry_self_first; 51 int schedule_serialize_sccs; 52 53 int tile_scale_tile_loops; 54 int tile_shift_point_loops; 55 56 char *ast_iterator_type; 57 int ast_always_print_block; 58 int ast_print_outermost_block; 59 int ast_print_macro_once; 60 61 int ast_build_atomic_upper_bound; 62 int ast_build_prefer_pdiv; 63 int ast_build_detect_min_max; 64 int ast_build_exploit_nested_bounds; 65 int ast_build_group_coscheduled; 66 int ast_build_separation_bounds; 67 int ast_build_scale_strides; 68 int ast_build_allow_else; 69 int ast_build_allow_or; 70 71 int print_stats; 72 unsigned long max_operations; 73 }; 74 75 #endif 76