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