1 | /* |
2 | * Copyright 2008-2009 Katholieke Universiteit Leuven |
3 | * |
4 | * Use of this software is governed by the MIT license |
5 | * |
6 | * Written by Sven Verdoolaege, K.U.Leuven, Departement |
7 | * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium |
8 | */ |
9 | |
10 | #ifndef ISL_OPTIONS_H |
11 | #define ISL_OPTIONS_H |
12 | |
13 | #include <isl/arg.h> |
14 | #include <isl/ctx.h> |
15 | |
16 | #if defined(__cplusplus) |
17 | extern "C" { |
18 | #endif |
19 | |
20 | struct isl_options; |
21 | |
22 | ISL_ARG_DECL(isl_options, struct isl_options, isl_options_args) |
23 | |
24 | #define ISL_BOUND_BERNSTEIN 0 |
25 | #define ISL_BOUND_RANGE 1 |
26 | isl_stat isl_options_set_bound(isl_ctx *ctx, int val); |
27 | int isl_options_get_bound(isl_ctx *ctx); |
28 | |
29 | #define ISL_ON_ERROR_WARN 0 |
30 | #define ISL_ON_ERROR_CONTINUE 1 |
31 | #define ISL_ON_ERROR_ABORT 2 |
32 | isl_stat isl_options_set_on_error(isl_ctx *ctx, int val); |
33 | int isl_options_get_on_error(isl_ctx *ctx); |
34 | |
35 | isl_stat isl_options_set_gbr_only_first(isl_ctx *ctx, int val); |
36 | int isl_options_get_gbr_only_first(isl_ctx *ctx); |
37 | |
38 | #define ISL_SCHEDULE_ALGORITHM_ISL 0 |
39 | #define ISL_SCHEDULE_ALGORITHM_FEAUTRIER 1 |
40 | isl_stat isl_options_set_schedule_algorithm(isl_ctx *ctx, int val); |
41 | int isl_options_get_schedule_algorithm(isl_ctx *ctx); |
42 | |
43 | isl_stat isl_options_set_pip_symmetry(isl_ctx *ctx, int val); |
44 | int isl_options_get_pip_symmetry(isl_ctx *ctx); |
45 | |
46 | isl_stat isl_options_set_coalesce_bounded_wrapping(isl_ctx *ctx, int val); |
47 | int isl_options_get_coalesce_bounded_wrapping(isl_ctx *ctx); |
48 | |
49 | isl_stat isl_options_set_coalesce_preserve_locals(isl_ctx *ctx, int val); |
50 | int isl_options_get_coalesce_preserve_locals(isl_ctx *ctx); |
51 | |
52 | #if defined(__cplusplus) |
53 | } |
54 | #endif |
55 | |
56 | #endif |
57 | |