allow the user to impose a bound on the number of low-level operations
[isl.git] / isl_options_private.h
blobbb73d684a91b71e7485510ae2b78476e2ca9e725
1 #ifndef ISL_OPTIONS_PRIVATE_H
2 #define ISL_OPTIONS_PRIVATE_H
4 #include <isl/options.h>
6 struct isl_options {
7 #define ISL_CONTEXT_GBR 0
8 #define ISL_CONTEXT_LEXMIN 1
9 unsigned context;
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;
17 #define ISL_CLOSURE_ISL 0
18 #define ISL_CLOSURE_BOX 1
19 unsigned closure;
21 int bound;
22 unsigned on_error;
24 #define ISL_BERNSTEIN_FACTORS 1
25 #define ISL_BERNSTEIN_INTERVALS 2
26 int bernstein_recurse;
28 int bernstein_triangulate;
30 int pip_symmetry;
32 #define ISL_CONVEX_HULL_WRAP 0
33 #define ISL_CONVEX_HULL_FM 1
34 int convex;
36 int coalesce_bounded_wrapping;
38 int schedule_max_coefficient;
39 int schedule_max_constant_term;
40 int schedule_parametric;
41 int schedule_outer_coincidence;
42 int schedule_maximize_band_depth;
43 int schedule_split_scaled;
44 int schedule_separate_components;
45 unsigned schedule_algorithm;
46 int schedule_fuse;
48 int tile_scale_tile_loops;
49 int tile_shift_point_loops;
51 char *ast_iterator_type;
53 int ast_build_atomic_upper_bound;
54 int ast_build_prefer_pdiv;
55 int ast_build_exploit_nested_bounds;
56 int ast_build_group_coscheduled;
57 int ast_build_separation_bounds;
58 int ast_build_scale_strides;
59 int ast_build_allow_else;
60 int ast_build_allow_or;
62 int print_stats;
63 unsigned long max_operations;
66 #endif