options.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. #ifndef ISL_OPTIONS_H
  10. #define ISL_OPTIONS_H
  11. #include <isl/arg.h>
  12. #include <isl/ctx.h>
  13. #if defined(__cplusplus)
  14. extern "C" {
  15. #endif
  16. struct isl_options;
  17. ISL_ARG_DECL(isl_options, struct isl_options, isl_options_args)
  18. #define ISL_BOUND_BERNSTEIN 0
  19. #define ISL_BOUND_RANGE 1
  20. isl_stat isl_options_set_bound(isl_ctx *ctx, int val);
  21. int isl_options_get_bound(isl_ctx *ctx);
  22. #define ISL_ON_ERROR_WARN 0
  23. #define ISL_ON_ERROR_CONTINUE 1
  24. #define ISL_ON_ERROR_ABORT 2
  25. isl_stat isl_options_set_on_error(isl_ctx *ctx, int val);
  26. int isl_options_get_on_error(isl_ctx *ctx);
  27. isl_stat isl_options_set_gbr_only_first(isl_ctx *ctx, int val);
  28. int isl_options_get_gbr_only_first(isl_ctx *ctx);
  29. #define ISL_SCHEDULE_ALGORITHM_ISL 0
  30. #define ISL_SCHEDULE_ALGORITHM_FEAUTRIER 1
  31. isl_stat isl_options_set_schedule_algorithm(isl_ctx *ctx, int val);
  32. int isl_options_get_schedule_algorithm(isl_ctx *ctx);
  33. isl_stat isl_options_set_pip_symmetry(isl_ctx *ctx, int val);
  34. int isl_options_get_pip_symmetry(isl_ctx *ctx);
  35. isl_stat isl_options_set_coalesce_bounded_wrapping(isl_ctx *ctx, int val);
  36. int isl_options_get_coalesce_bounded_wrapping(isl_ctx *ctx);
  37. isl_stat isl_options_set_coalesce_preserve_locals(isl_ctx *ctx, int val);
  38. int isl_options_get_coalesce_preserve_locals(isl_ctx *ctx);
  39. #if defined(__cplusplus)
  40. }
  41. #endif
  42. #endif