gpu.c: add_to_from_device: move call to node_may_persist up
[ppcg.git] / schedule.h
blob9f0ad08ed7b1c5fad5244748d3541f20d061b004
1 #ifndef _SCHEDULE_H
2 #define _SCHEDULE_H
4 #include <isl/id.h>
5 #include <isl/space.h>
6 #include <isl/schedule.h>
7 #include <isl/schedule_node.h>
9 #include "ppcg_options.h"
11 __isl_give isl_set *parametrization(__isl_take isl_space *space,
12 int len, int first, __isl_keep isl_id_list *names);
14 __isl_give isl_schedule *ppcg_compute_non_grouping_schedule(
15 __isl_take isl_schedule_constraints *sc, struct ppcg_options *options);
16 __isl_give isl_schedule *ppcg_compute_schedule(
17 __isl_take isl_schedule_constraints *sc,
18 __isl_keep isl_schedule *schedule, struct ppcg_options *options);
20 __isl_give isl_schedule *ppcg_get_schedule(isl_ctx *ctx,
21 struct ppcg_options *options,
22 __isl_give isl_schedule *(*compute)(void *user), void *user);
24 __isl_give isl_schedule_node *ppcg_set_schedule_node_type(
25 __isl_take isl_schedule_node *node, enum isl_ast_loop_type type);
27 __isl_give isl_schedule_node *ppcg_tile(__isl_take isl_schedule_node *node,
28 __isl_take isl_multi_val *sizes);
30 #endif