avoid use of deprecated isl_*_fast_* functions
[ppcg.git] / ppcg_options.h
blob8fc3a498fa35c96a2146eed71187ccee5b64333f
1 #ifndef PPCG_OPTIONS_H
2 #define PPCG_OPTIONS_H
4 #include <isl/arg.h>
6 struct ppcg_debug_options {
7 int dump_schedule_constraints;
8 int dump_schedule;
9 int dump_sizes;
12 struct ppcg_options {
13 struct ppcg_debug_options *debug;
15 int scale_tile_loops;
16 int wrap;
18 char *ctx;
19 char *sizes;
21 int tile_size;
23 /* Take advantage of private memory. */
24 int use_private_memory;
26 /* Take advantage of shared memory. */
27 int use_shared_memory;
29 /* Maximal amount of shared memory. */
30 int max_shared_memory;
32 /* The target we generate code for. */
33 int target;
35 /* Generate OpenMP macros (C target only). */
36 int openmp;
38 /* Linearize all device arrays. */
39 int linearize_device_arrays;
41 /* Allow live range to be reordered. */
42 int live_range_reordering;
44 /* Options to pass to the OpenCL compiler. */
45 char *opencl_compiler_options;
46 /* Prefer GPU device over CPU. */
47 int opencl_use_gpu;
50 ISL_ARG_DECL(ppcg_debug_options, struct ppcg_debug_options,
51 ppcg_debug_options_args)
52 ISL_ARG_DECL(ppcg_options, struct ppcg_options, ppcg_options_args)
54 #define PPCG_TARGET_C 0
55 #define PPCG_TARGET_CUDA 1
56 #define PPCG_TARGET_OPENCL 2
58 #endif