~ubuntu-branches/ubuntu/trusty/cloog/trusty

« back to all changes in this revision

Viewing changes to isl/isl_options.c

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2011-12-15 18:39:17 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20111215183917-uqggmujou8wna9js
Tags: 0.17.0-1
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#include <string.h>
13
13
 
14
14
#include <isl/ctx.h>
15
 
#include <isl/options.h>
 
15
#include <isl_options_private.h>
16
16
#include <isl/version.h>
17
17
 
18
18
struct isl_arg_choice isl_lp_solver_choice[] = {
64
64
        {0}
65
65
};
66
66
 
 
67
static struct isl_arg_choice on_error[] = {
 
68
        {"warn",        ISL_ON_ERROR_WARN},
 
69
        {"continue",    ISL_ON_ERROR_CONTINUE},
 
70
        {"abort",       ISL_ON_ERROR_ABORT},
 
71
        {0}
 
72
};
 
73
 
67
74
static struct isl_arg_flags bernstein_recurse[] = {
68
75
        {"none",        ISL_BERNSTEIN_FACTORS | ISL_BERNSTEIN_INTERVALS, 0},
69
76
        {"factors",     ISL_BERNSTEIN_FACTORS | ISL_BERNSTEIN_INTERVALS,
86
93
        printf("%s", isl_version());
87
94
}
88
95
 
89
 
struct isl_arg isl_options_arg[] = {
 
96
ISL_ARGS_START(struct isl_options, isl_options_args)
90
97
ISL_ARG_CHOICE(struct isl_options, lp_solver, 0, "lp-solver", \
91
98
        isl_lp_solver_choice,   ISL_LP_TAB, "lp solver to use")
92
99
ISL_ARG_CHOICE(struct isl_options, ilp_solver, 0, "ilp-solver", \
106
113
        "only perform basis reduction in first direction")
107
114
ISL_ARG_CHOICE(struct isl_options, bound, 0, "bound", bound,
108
115
        ISL_BOUND_BERNSTEIN, "algorithm to use for computing bounds")
 
116
ISL_ARG_CHOICE(struct isl_options, on_error, 0, "on-error", on_error,
 
117
        ISL_ON_ERROR_WARN, "how to react if an error is detected")
109
118
ISL_ARG_FLAGS(struct isl_options, bernstein_recurse, 0,
110
119
        "bernstein-recurse", bernstein_recurse, ISL_BERNSTEIN_FACTORS, NULL)
111
120
ISL_ARG_BOOL(struct isl_options, bernstein_triangulate, 0,
115
124
        "detect simple symmetries in PIP input")
116
125
ISL_ARG_CHOICE(struct isl_options, convex, 0, "convex-hull", \
117
126
        convex, ISL_CONVEX_HULL_WRAP, "convex hull algorithm to use")
 
127
ISL_ARG_INT(struct isl_options, schedule_max_constant_term, 0,
 
128
        "schedule-max-constant-term", "limit", -1, "Only consider schedules "
 
129
        "where the coefficients of the constant dimension do not exceed "
 
130
        "<limit>. A value of -1 allows arbitrary coefficients.")
118
131
ISL_ARG_BOOL(struct isl_options, schedule_parametric, 0,
119
132
        "schedule-parametric", 1, "construct possibly parametric schedules")
120
133
ISL_ARG_BOOL(struct isl_options, schedule_outer_zero_distance, 0,
122
135
        "try to construct schedules with outer zero distances over "
123
136
        "proximity dependences")
124
137
ISL_ARG_BOOL(struct isl_options, schedule_maximize_band_depth, 0,
125
 
        "schedule-maximize-band-depth", 0,
 
138
        "schedule-maximize-band-depth", 1,
126
139
        "maximize the number of scheduling dimensions in a band")
127
140
ISL_ARG_BOOL(struct isl_options, schedule_split_parallel, 0,
128
141
        "schedule-split-parallel", 1,
129
142
        "split non-tilable bands with parallel schedules")
130
143
ISL_ARG_VERSION(print_version)
131
 
ISL_ARG_END
132
 
};
133
 
 
134
 
ISL_ARG_DEF(isl_options, struct isl_options, isl_options_arg)
 
144
ISL_ARGS_END
 
145
 
 
146
ISL_ARG_DEF(isl_options, struct isl_options, isl_options_args)
 
147
 
 
148
ISL_ARG_CTX_DEF(isl_options, struct isl_options, isl_options_args)
 
149
 
 
150
ISL_CTX_SET_CHOICE_DEF(isl_options, struct isl_options, isl_options_args, bound)
 
151
ISL_CTX_GET_CHOICE_DEF(isl_options, struct isl_options, isl_options_args, bound)
 
152
 
 
153
ISL_CTX_SET_CHOICE_DEF(isl_options, struct isl_options, isl_options_args,
 
154
        on_error)
 
155
ISL_CTX_GET_CHOICE_DEF(isl_options, struct isl_options, isl_options_args,
 
156
        on_error)
 
157
 
 
158
ISL_CTX_SET_BOOL_DEF(isl_options, struct isl_options, isl_options_args,
 
159
        gbr_only_first)
 
160
ISL_CTX_GET_BOOL_DEF(isl_options, struct isl_options, isl_options_args,
 
161
        gbr_only_first)
 
162
 
 
163
ISL_CTX_SET_INT_DEF(isl_options, struct isl_options, isl_options_args,
 
164
        schedule_max_constant_term)
 
165
ISL_CTX_GET_INT_DEF(isl_options, struct isl_options, isl_options_args,
 
166
        schedule_max_constant_term)
 
167
 
 
168
ISL_CTX_SET_BOOL_DEF(isl_options, struct isl_options, isl_options_args,
 
169
        schedule_maximize_band_depth)
 
170
ISL_CTX_GET_BOOL_DEF(isl_options, struct isl_options, isl_options_args,
 
171
        schedule_maximize_band_depth)
 
172
 
 
173
ISL_CTX_SET_BOOL_DEF(isl_options, struct isl_options, isl_options_args,
 
174
        schedule_outer_zero_distance)
 
175
ISL_CTX_GET_BOOL_DEF(isl_options, struct isl_options, isl_options_args,
 
176
        schedule_outer_zero_distance)