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