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