4 #include <isl/schedule_node.h>
8 __isl_give isl_schedule_node
*gpu_tree_insert_shared_before_thread(
9 __isl_take isl_schedule_node
*node
);
10 int gpu_tree_node_is_kernel(__isl_keep isl_schedule_node
*node
);
11 __isl_give isl_schedule_node
*gpu_tree_move_down_to_shared(
12 __isl_take isl_schedule_node
*node
, __isl_keep isl_union_set
*core
);
13 __isl_give isl_schedule_node
*gpu_tree_move_up_to_thread(
14 __isl_take isl_schedule_node
*node
);
15 __isl_give isl_schedule_node
*gpu_tree_move_down_to_thread(
16 __isl_take isl_schedule_node
*node
, __isl_keep isl_union_set
*core
);
17 __isl_give isl_schedule_node
*gpu_tree_move_up_to_kernel(
18 __isl_take isl_schedule_node
*node
);
19 __isl_give isl_schedule_node
*gpu_tree_move_down_to_depth(
20 __isl_take isl_schedule_node
*node
, int depth
,
21 __isl_keep isl_union_set
*core
);
23 int gpu_tree_id_is_sync(__isl_keep isl_id
*id
, struct ppcg_kernel
*kernel
);
24 __isl_give isl_schedule_node
*gpu_tree_ensure_sync_after_core(
25 __isl_take isl_schedule_node
*node
, struct ppcg_kernel
*kernel
);
26 __isl_give isl_schedule_node
*gpu_tree_ensure_following_sync(
27 __isl_take isl_schedule_node
*node
, struct ppcg_kernel
*kernel
);
28 __isl_give isl_schedule_node
*gpu_tree_move_left_to_sync(
29 __isl_take isl_schedule_node
*node
, struct ppcg_kernel
*kernel
);
30 __isl_give isl_schedule_node
*gpu_tree_move_right_to_sync(
31 __isl_take isl_schedule_node
*node
, struct ppcg_kernel
*kernel
);