blob: 1738155fb9e409193410fa69de3a29f3c7289aa6 [file] [log] [blame]
/*
* Copyright 2008-2009 Katholieke Universiteit Leuven
*
* Use of this software is governed by the MIT license
*
* Written by Sven Verdoolaege, K.U.Leuven, Departement
* Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium
*/
#ifndef ISL_OPTIONS_H
#define ISL_OPTIONS_H
#include <isl/arg.h>
#include <isl/ctx.h>
#if defined(__cplusplus)
extern "C" {
#endif
struct isl_options;
ISL_ARG_DECL(isl_options, struct isl_options, isl_options_args)
#define ISL_BOUND_BERNSTEIN 0
#define ISL_BOUND_RANGE 1
isl_stat isl_options_set_bound(isl_ctx *ctx, int val);
int isl_options_get_bound(isl_ctx *ctx);
#define ISL_ON_ERROR_WARN 0
#define ISL_ON_ERROR_CONTINUE 1
#define ISL_ON_ERROR_ABORT 2
isl_stat isl_options_set_on_error(isl_ctx *ctx, int val);
int isl_options_get_on_error(isl_ctx *ctx);
isl_stat isl_options_set_gbr_only_first(isl_ctx *ctx, int val);
int isl_options_get_gbr_only_first(isl_ctx *ctx);
#define ISL_SCHEDULE_ALGORITHM_ISL 0
#define ISL_SCHEDULE_ALGORITHM_FEAUTRIER 1
isl_stat isl_options_set_schedule_algorithm(isl_ctx *ctx, int val);
int isl_options_get_schedule_algorithm(isl_ctx *ctx);
isl_stat isl_options_set_pip_symmetry(isl_ctx *ctx, int val);
int isl_options_get_pip_symmetry(isl_ctx *ctx);
isl_stat isl_options_set_coalesce_bounded_wrapping(isl_ctx *ctx, int val);
int isl_options_get_coalesce_bounded_wrapping(isl_ctx *ctx);
isl_stat isl_options_set_coalesce_preserve_locals(isl_ctx *ctx, int val);
int isl_options_get_coalesce_preserve_locals(isl_ctx *ctx);
#if defined(__cplusplus)
}
#endif
#endif