static void print_kernel_iterators(FILE *out, struct ppcg_kernel *kernel) { isl_ctx *ctx = isl_ast_node_get_ctx(kernel->tree); const char *type; const char *block_dims[] = { "blockIdx.x", "blockIdx.y" }; const char *thread_dims[] = { "threadIdx.x", "threadIdx.y", "threadIdx.z" }; type = isl_options_get_ast_iterator_type(ctx); print_iterators(out, type, kernel->block_ids, block_dims); print_iterators(out, type, kernel->thread_ids, thread_dims); }
static __isl_give isl_printer *opencl_print_kernel_iterators( __isl_take isl_printer *p, struct ppcg_kernel *kernel) { isl_ctx *ctx = isl_ast_node_get_ctx(kernel->tree); const char *type; type = isl_options_get_ast_iterator_type(ctx); p = print_iterators(p, type, kernel->block_ids, "get_group_id"); p = print_iterators(p, type, kernel->thread_ids, "get_local_id"); return p; }