#include <string.h>
#include <isl/id.h>
#include <isl/stream.h>
#include <isl/val.h>
#include <isl_ast_private.h>
#undef EL_BASE
#define EL_BASE …
#include <isl_list_templ.c>
#undef EL_BASE
#define EL_BASE …
#include <isl_list_templ.c>
isl_ctx *isl_ast_print_options_get_ctx(
__isl_keep isl_ast_print_options *options)
{ … }
__isl_give isl_ast_print_options *isl_ast_print_options_alloc(isl_ctx *ctx)
{ … }
__isl_give isl_ast_print_options *isl_ast_print_options_dup(
__isl_keep isl_ast_print_options *options)
{ … }
__isl_give isl_ast_print_options *isl_ast_print_options_cow(
__isl_take isl_ast_print_options *options)
{ … }
__isl_give isl_ast_print_options *isl_ast_print_options_copy(
__isl_keep isl_ast_print_options *options)
{ … }
__isl_null isl_ast_print_options *isl_ast_print_options_free(
__isl_take isl_ast_print_options *options)
{ … }
__isl_give isl_ast_print_options *isl_ast_print_options_set_print_user(
__isl_take isl_ast_print_options *options,
__isl_give isl_printer *(*print_user)(__isl_take isl_printer *p,
__isl_take isl_ast_print_options *options,
__isl_keep isl_ast_node *node, void *user),
void *user)
{ … }
__isl_give isl_ast_print_options *isl_ast_print_options_set_print_for(
__isl_take isl_ast_print_options *options,
__isl_give isl_printer *(*print_for)(__isl_take isl_printer *p,
__isl_take isl_ast_print_options *options,
__isl_keep isl_ast_node *node, void *user),
void *user)
{ … }
static __isl_give isl_ast_expr *alloc_op(enum isl_ast_expr_op_type op,
__isl_take isl_ast_expr_list *args)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_alloc_op(isl_ctx *ctx,
enum isl_ast_expr_op_type op, int n_arg)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_copy(__isl_keep isl_ast_expr *expr)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_dup(__isl_keep isl_ast_expr *expr)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_cow(__isl_take isl_ast_expr *expr)
{ … }
__isl_null isl_ast_expr *isl_ast_expr_free(__isl_take isl_ast_expr *expr)
{ … }
isl_ctx *isl_ast_expr_get_ctx(__isl_keep isl_ast_expr *expr)
{ … }
enum isl_ast_expr_type isl_ast_expr_get_type(__isl_keep isl_ast_expr *expr)
{ … }
__isl_give isl_val *isl_ast_expr_int_get_val(__isl_keep isl_ast_expr *expr)
{ … }
__isl_give isl_val *isl_ast_expr_get_val(__isl_keep isl_ast_expr *expr)
{ … }
__isl_give isl_id *isl_ast_expr_id_get_id(__isl_keep isl_ast_expr *expr)
{ … }
__isl_give isl_id *isl_ast_expr_get_id(__isl_keep isl_ast_expr *expr)
{ … }
static isl_stat isl_ast_expr_check_op(__isl_keep isl_ast_expr *expr)
{ … }
enum isl_ast_expr_op_type isl_ast_expr_op_get_type(
__isl_keep isl_ast_expr *expr)
{ … }
enum isl_ast_expr_op_type isl_ast_expr_get_op_type(
__isl_keep isl_ast_expr *expr)
{ … }
isl_size isl_ast_expr_op_get_n_arg(__isl_keep isl_ast_expr *expr)
{ … }
isl_size isl_ast_expr_get_op_n_arg(__isl_keep isl_ast_expr *expr)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_op_get_arg(__isl_keep isl_ast_expr *expr,
int pos)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_get_op_arg(__isl_keep isl_ast_expr *expr,
int pos)
{ … }
static __isl_give isl_ast_expr_list *isl_ast_expr_op_get_args(
__isl_keep isl_ast_expr *expr)
{ … }
static __isl_give isl_ast_expr_list *isl_ast_expr_op_take_args(
__isl_keep isl_ast_expr *expr)
{ … }
static __isl_give isl_ast_expr *isl_ast_expr_op_restore_args(
__isl_take isl_ast_expr *expr, __isl_take isl_ast_expr_list *args)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_op_add_arg(__isl_take isl_ast_expr *expr,
__isl_take isl_ast_expr *arg)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_set_op_arg(__isl_take isl_ast_expr *expr,
int pos, __isl_take isl_ast_expr *arg)
{ … }
static isl_bool isl_ast_expr_list_is_equal(__isl_keep isl_ast_expr_list *list1,
__isl_keep isl_ast_expr_list *list2)
{ … }
isl_bool isl_ast_expr_is_equal(__isl_keep isl_ast_expr *expr1,
__isl_keep isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_from_id(__isl_take isl_id *id)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_alloc_int_si(isl_ctx *ctx, int i)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_from_val(__isl_take isl_val *v)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_alloc_unary(
enum isl_ast_expr_op_type type, __isl_take isl_ast_expr *arg)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_neg(__isl_take isl_ast_expr *arg)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_address_of(__isl_take isl_ast_expr *expr)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_alloc_binary(
enum isl_ast_expr_op_type type,
__isl_take isl_ast_expr *expr1, __isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_add(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_sub(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_mul(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_div(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_pdiv_q(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_pdiv_r(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_and(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_and_then(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_or(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_or_else(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_le(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_lt(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_ge(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_gt(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_eq(__isl_take isl_ast_expr *expr1,
__isl_take isl_ast_expr *expr2)
{ … }
static __isl_give isl_ast_expr *ast_expr_with_arguments(
enum isl_ast_expr_op_type type, __isl_take isl_ast_expr *arg0,
__isl_take isl_ast_expr_list *arguments)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_access(__isl_take isl_ast_expr *array,
__isl_take isl_ast_expr_list *indices)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_call(__isl_take isl_ast_expr *function,
__isl_take isl_ast_expr_list *arguments)
{ … }
static __isl_give isl_ast_expr *substitute_ids(__isl_take isl_ast_expr *expr,
void *user)
{ … }
__isl_give isl_ast_expr *isl_ast_expr_substitute_ids(
__isl_take isl_ast_expr *expr, __isl_take isl_id_to_ast_expr *id2expr)
{ … }
isl_ctx *isl_ast_node_get_ctx(__isl_keep isl_ast_node *node)
{ … }
enum isl_ast_node_type isl_ast_node_get_type(__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_node *isl_ast_node_alloc(isl_ctx *ctx,
enum isl_ast_node_type type)
{ … }
__isl_give isl_ast_node *isl_ast_node_alloc_if(__isl_take isl_ast_expr *guard)
{ … }
__isl_give isl_ast_node *isl_ast_node_alloc_for(__isl_take isl_id *id)
{ … }
__isl_give isl_ast_node *isl_ast_node_alloc_mark(__isl_take isl_id *id,
__isl_take isl_ast_node *node)
{ … }
__isl_give isl_ast_node *isl_ast_node_user_from_expr(
__isl_take isl_ast_expr *expr)
{ … }
__isl_give isl_ast_node *isl_ast_node_alloc_user(__isl_take isl_ast_expr *expr)
{ … }
__isl_give isl_ast_node *isl_ast_node_block_from_children(
__isl_take isl_ast_node_list *list)
{ … }
__isl_give isl_ast_node *isl_ast_node_alloc_block(
__isl_take isl_ast_node_list *list)
{ … }
__isl_give isl_ast_node *isl_ast_node_from_ast_node_list(
__isl_take isl_ast_node_list *list)
{ … }
__isl_give isl_ast_node *isl_ast_node_copy(__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_node *isl_ast_node_dup(__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_node *isl_ast_node_cow(__isl_take isl_ast_node *node)
{ … }
__isl_null isl_ast_node *isl_ast_node_free(__isl_take isl_ast_node *node)
{ … }
static isl_stat isl_ast_node_check_type(__isl_keep isl_ast_node *node,
enum isl_ast_node_type type, const char *msg)
{ … }
static isl_stat isl_ast_node_check_block(__isl_keep isl_ast_node *node)
{ … }
static isl_stat isl_ast_node_check_if(__isl_keep isl_ast_node *node)
{ … }
static isl_stat isl_ast_node_check_for(__isl_keep isl_ast_node *node)
{ … }
static isl_stat isl_ast_node_check_mark(__isl_keep isl_ast_node *node)
{ … }
static isl_stat isl_ast_node_check_user(__isl_keep isl_ast_node *node)
{ … }
#undef NODE_TYPE
#define NODE_TYPE …
#undef FIELD_NAME
#define FIELD_NAME …
#undef FIELD_TYPE
#define FIELD_TYPE …
#undef FIELD
#define FIELD …
#include "isl_ast_node_set_field_templ.c"
#undef NODE_TYPE
#define NODE_TYPE …
#undef FIELD_NAME
#define FIELD_NAME …
#undef FIELD_TYPE
#define FIELD_TYPE …
#undef FIELD
#define FIELD …
#include "isl_ast_node_set_field_templ.c"
#undef NODE_TYPE
#define NODE_TYPE …
#undef FIELD_NAME
#define FIELD_NAME …
#undef FIELD_TYPE
#define FIELD_TYPE …
#undef FIELD
#define FIELD …
#include "isl_ast_node_set_field_templ.c"
#undef NODE_TYPE
#define NODE_TYPE …
#undef FIELD_NAME
#define FIELD_NAME …
#undef FIELD_TYPE
#define FIELD_TYPE …
#undef FIELD
#define FIELD …
#include "isl_ast_node_set_field_templ.c"
static __isl_give isl_ast_node *isl_ast_node_for_take_body(
__isl_keep isl_ast_node *node)
{ … }
static __isl_give isl_ast_node *isl_ast_node_for_restore_body(
__isl_take isl_ast_node *node, __isl_take isl_ast_node *body)
{ … }
__isl_give isl_ast_node *isl_ast_node_for_get_body(
__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_node *isl_ast_node_for_mark_degenerate(
__isl_take isl_ast_node *node)
{ … }
isl_bool isl_ast_node_for_is_degenerate(__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_expr *isl_ast_node_for_get_iterator(
__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_expr *isl_ast_node_for_get_init(
__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_expr *isl_ast_node_for_get_cond(
__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_expr *isl_ast_node_for_get_inc(
__isl_keep isl_ast_node *node)
{ … }
#undef NODE_TYPE
#define NODE_TYPE …
#undef FIELD_NAME
#define FIELD_NAME …
#undef FIELD_TYPE
#define FIELD_TYPE …
#undef FIELD
#define FIELD …
#include "isl_ast_node_set_field_templ.c"
static __isl_give isl_ast_node *isl_ast_node_if_take_then_node(
__isl_keep isl_ast_node *node)
{ … }
static __isl_give isl_ast_node *isl_ast_node_if_restore_then_node(
__isl_take isl_ast_node *node, __isl_take isl_ast_node *child)
{ … }
__isl_give isl_ast_node *isl_ast_node_if_get_then_node(
__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_node *isl_ast_node_if_get_then(
__isl_keep isl_ast_node *node)
{ … }
isl_bool isl_ast_node_if_has_else_node(__isl_keep isl_ast_node *node)
{ … }
isl_bool isl_ast_node_if_has_else(__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_node *isl_ast_node_if_get_else_node(
__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_node *isl_ast_node_if_get_else(
__isl_keep isl_ast_node *node)
{ … }
#undef NODE_TYPE
#define NODE_TYPE …
#undef FIELD_NAME
#define FIELD_NAME …
#undef FIELD_TYPE
#define FIELD_TYPE …
#undef FIELD
#define FIELD …
static
#include "isl_ast_node_set_field_templ.c"
static __isl_give isl_ast_node *isl_ast_node_if_take_else_node(
__isl_keep isl_ast_node *node)
{ … }
static __isl_give isl_ast_node *isl_ast_node_if_restore_else_node(
__isl_take isl_ast_node *node, __isl_take isl_ast_node *child)
{ … }
__isl_give isl_ast_expr *isl_ast_node_if_get_cond(
__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_node_list *isl_ast_node_block_get_children(
__isl_keep isl_ast_node *node)
{ … }
#undef NODE_TYPE
#define NODE_TYPE …
#undef FIELD_NAME
#define FIELD_NAME …
#undef FIELD_TYPE
#define FIELD_TYPE …
#undef FIELD
#define FIELD …
static
#include "isl_ast_node_set_field_templ.c"
static __isl_give isl_ast_node_list *isl_ast_node_block_take_children(
__isl_keep isl_ast_node *node)
{ … }
static __isl_give isl_ast_node *isl_ast_node_block_restore_children(
__isl_take isl_ast_node *node, __isl_take isl_ast_node_list *children)
{ … }
__isl_give isl_ast_expr *isl_ast_node_user_get_expr(
__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_id *isl_ast_node_mark_get_id(__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_ast_node *isl_ast_node_mark_get_node(
__isl_keep isl_ast_node *node)
{ … }
#undef NODE_TYPE
#define NODE_TYPE …
#undef FIELD_NAME
#define FIELD_NAME …
#undef FIELD_TYPE
#define FIELD_TYPE …
#undef FIELD
#define FIELD …
static
#include "isl_ast_node_set_field_templ.c"
static __isl_give isl_ast_node *isl_ast_node_mark_take_node(
__isl_keep isl_ast_node *node)
{ … }
static __isl_give isl_ast_node *isl_ast_node_mark_restore_node(
__isl_take isl_ast_node *node, __isl_take isl_ast_node *child)
{ … }
__isl_give isl_id *isl_ast_node_get_annotation(__isl_keep isl_ast_node *node)
{ … }
static isl_stat isl_ast_node_check_any(__isl_keep isl_ast_node *node)
{ … }
#undef NODE_TYPE
#define NODE_TYPE …
#undef FIELD_NAME
#define FIELD_NAME …
#undef FIELD_TYPE
#define FIELD_TYPE …
#undef FIELD
#define FIELD …
static
#include "isl_ast_node_set_field_templ.c"
__isl_give isl_ast_node *isl_ast_node_set_annotation(
__isl_take isl_ast_node *node, __isl_take isl_id *annotation)
{ … }
static __isl_give isl_ast_node *traverse(__isl_take isl_ast_node *node,
__isl_give isl_ast_node *(*enter)(__isl_take isl_ast_node *node,
int *more, void *user),
__isl_give isl_ast_node *(*leave)(__isl_take isl_ast_node *node,
void *user),
void *user);
static __isl_give isl_ast_node_list *traverse_list(
__isl_take isl_ast_node_list *list,
__isl_give isl_ast_node *(*enter)(__isl_take isl_ast_node *node,
int *more, void *user),
__isl_give isl_ast_node *(*leave)(__isl_take isl_ast_node *node,
void *user),
void *user)
{ … }
static __isl_give isl_ast_node *traverse(__isl_take isl_ast_node *node,
__isl_give isl_ast_node *(*enter)(__isl_take isl_ast_node *node,
int *more, void *user),
__isl_give isl_ast_node *(*leave)(__isl_take isl_ast_node *node,
void *user),
void *user)
{ … }
struct isl_ast_node_preorder_data { … };
static __isl_give isl_ast_node *preorder_enter(__isl_take isl_ast_node *node,
int *more, void *user)
{ … }
static __isl_give isl_ast_node *preorder_leave(__isl_take isl_ast_node *node,
void *user)
{ … }
isl_stat isl_ast_node_foreach_descendant_top_down(
__isl_keep isl_ast_node *node,
isl_bool (*fn)(__isl_keep isl_ast_node *node, void *user), void *user)
{ … }
struct isl_ast_node_postorder_data { … };
static __isl_give isl_ast_node *postorder_enter(__isl_take isl_ast_node *node,
int *more, void *user)
{ … }
static __isl_give isl_ast_node *postorder_leave(__isl_take isl_ast_node *node,
void *user)
{ … }
__isl_give isl_ast_node *isl_ast_node_map_descendant_bottom_up(
__isl_take isl_ast_node *node,
__isl_give isl_ast_node *(*fn)(__isl_take isl_ast_node *node,
void *user), void *user)
{ … }
static char *op_str_c[] = …;
static int op_prec[] = …;
static int op_left[] = …;
static int is_and(enum isl_ast_expr_op_type op)
{ … }
static int is_or(enum isl_ast_expr_op_type op)
{ … }
static int is_add_sub(enum isl_ast_expr_op_type op)
{ … }
static int is_div_mod(enum isl_ast_expr_op_type op)
{ … }
static __isl_give isl_printer *print_ast_expr_c(__isl_take isl_printer *p,
__isl_keep isl_ast_expr *expr);
static int sub_expr_need_parens(enum isl_ast_expr_op_type op,
__isl_keep isl_ast_expr *expr, int left)
{ … }
static __isl_give isl_printer *print_sub_expr_c(__isl_take isl_printer *p,
__isl_keep isl_ast_expr *expr, int pos, int left)
{ … }
#define isl_ast_expr_op_last …
struct isl_ast_expr_op_names { … };
static void *create_names(isl_ctx *ctx)
{ … }
static void free_names(void *user)
{ … }
static __isl_give isl_id *names_id(isl_ctx *ctx)
{ … }
static __isl_give isl_printer *alloc_note(__isl_take isl_printer *p,
__isl_keep isl_id *id, void *(*note_create)(isl_ctx *),
void (*note_free)(void *))
{ … }
static __isl_give isl_printer *alloc_names(__isl_take isl_printer *p,
__isl_keep isl_id *id)
{ … }
static void *get_note(__isl_keep isl_printer *p, __isl_keep isl_id *id)
{ … }
__isl_give isl_printer *isl_ast_expr_op_type_set_print_name(
__isl_take isl_printer *p, enum isl_ast_expr_op_type type,
__isl_keep const char *name)
{ … }
__isl_give isl_printer *isl_ast_op_type_set_print_name(
__isl_take isl_printer *p, enum isl_ast_expr_op_type type,
__isl_keep const char *name)
{ … }
static const char *get_op_str_c(__isl_keep isl_printer *p,
enum isl_ast_expr_op_type type)
{ … }
static __isl_give isl_printer *print_at_c(__isl_take isl_printer *p,
__isl_keep isl_ast_expr_list *list, int pos)
{ … }
static __isl_give isl_printer *print_min_max_c(__isl_take isl_printer *p,
__isl_keep isl_ast_expr *expr)
{ … }
static __isl_give isl_printer *print_call_c(__isl_take isl_printer *p,
__isl_keep isl_ast_expr *expr)
{ … }
static __isl_give isl_printer *print_access_c(__isl_take isl_printer *p,
__isl_keep isl_ast_expr *expr)
{ … }
static __isl_give isl_printer *print_ast_expr_c(__isl_take isl_printer *p,
__isl_keep isl_ast_expr *expr)
{ … }
static char *op_str[] = …;
static __isl_give isl_printer *print_ast_expr_isl(__isl_take isl_printer *p,
__isl_keep isl_ast_expr *expr);
static __isl_give isl_printer *print_arguments(__isl_take isl_printer *p,
__isl_keep isl_ast_expr *expr)
{ … }
static char *expr_str[] = …;
static __isl_give isl_printer *print_ast_expr_isl(__isl_take isl_printer *p,
__isl_keep isl_ast_expr *expr)
{ … }
__isl_give isl_printer *isl_printer_print_ast_expr(__isl_take isl_printer *p,
__isl_keep isl_ast_expr *expr)
{ … }
#undef KEY
#define KEY …
#undef KEY_ERROR
#define KEY_ERROR …
#undef KEY_END
#define KEY_END …
#undef KEY_STR
#define KEY_STR …
#undef KEY_EXTRACT
#define KEY_EXTRACT …
#undef KEY_GET
#define KEY_GET …
#include "extract_key.c"
static __isl_give char *next_key(__isl_keep isl_stream *s)
{ … }
static isl_stat eat_key(__isl_keep isl_stream *s, const char *expected)
{ … }
#undef EL_BASE
#define EL_BASE …
#include <isl_list_read_yaml_templ.c>
static __isl_give isl_ast_expr *read_op(__isl_keep isl_stream *s)
{ … }
static __isl_give isl_ast_expr *read_id(__isl_keep isl_stream *s)
{ … }
static __isl_give isl_ast_expr *read_int(__isl_keep isl_stream *s)
{ … }
#undef KEY
#define KEY …
#undef KEY_ERROR
#define KEY_ERROR …
#undef KEY_END
#define KEY_END …
#undef KEY_STR
#define KEY_STR …
#undef KEY_EXTRACT
#define KEY_EXTRACT …
#undef KEY_GET
#define KEY_GET …
#include "extract_key.c"
__isl_give isl_ast_expr *isl_stream_read_ast_expr(__isl_keep isl_stream *s)
{ … }
static __isl_give isl_printer *print_ast_node_isl(__isl_take isl_printer *p,
__isl_keep isl_ast_node *node);
static __isl_give isl_printer *print_ast_node_list(__isl_take isl_printer *p,
__isl_keep isl_ast_node_list *list)
{ … }
static __isl_give isl_printer *print_ast_node_isl(__isl_take isl_printer *p,
__isl_keep isl_ast_node *node)
{ … }
static int need_block(__isl_keep isl_ast_node *node)
{ … }
static __isl_give isl_printer *print_ast_node_c(__isl_take isl_printer *p,
__isl_keep isl_ast_node *node,
__isl_keep isl_ast_print_options *options, int in_block, int in_list);
static __isl_give isl_printer *print_if_c(__isl_take isl_printer *p,
__isl_keep isl_ast_node *node,
__isl_keep isl_ast_print_options *options, int new_line,
int force_block);
static __isl_give isl_printer *print_body_c(__isl_take isl_printer *p,
__isl_keep isl_ast_node *node, __isl_keep isl_ast_node *else_node,
__isl_keep isl_ast_print_options *options, int force_block)
{ … }
static __isl_give isl_printer *start_block(__isl_take isl_printer *p)
{ … }
static __isl_give isl_printer *end_block(__isl_take isl_printer *p)
{ … }
static __isl_give isl_printer *print_for_c(__isl_take isl_printer *p,
__isl_keep isl_ast_node *node,
__isl_keep isl_ast_print_options *options, int in_block, int in_list)
{ … }
static __isl_give isl_printer *print_if_c(__isl_take isl_printer *p,
__isl_keep isl_ast_node *node,
__isl_keep isl_ast_print_options *options, int new_line,
int force_block)
{ … }
static __isl_give isl_printer *print_ast_node_c(__isl_take isl_printer *p,
__isl_keep isl_ast_node *node,
__isl_keep isl_ast_print_options *options, int in_block, int in_list)
{ … }
__isl_give isl_printer *isl_ast_node_for_print(__isl_keep isl_ast_node *node,
__isl_take isl_printer *p, __isl_take isl_ast_print_options *options)
{ … }
__isl_give isl_printer *isl_ast_node_if_print(__isl_keep isl_ast_node *node,
__isl_take isl_printer *p, __isl_take isl_ast_print_options *options)
{ … }
__isl_give isl_printer *isl_ast_node_print(__isl_keep isl_ast_node *node,
__isl_take isl_printer *p, __isl_take isl_ast_print_options *options)
{ … }
__isl_give isl_printer *isl_printer_print_ast_node(__isl_take isl_printer *p,
__isl_keep isl_ast_node *node)
{ … }
__isl_give isl_printer *isl_ast_node_list_print(
__isl_keep isl_ast_node_list *list, __isl_take isl_printer *p,
__isl_keep isl_ast_print_options *options)
{ … }
static isl_bool next_is_sequence(__isl_keep isl_stream *s)
{ … }
#undef EL_BASE
#define EL_BASE …
#include <isl_list_read_yaml_templ.c>
static __isl_give isl_ast_node *read_block(__isl_keep isl_stream *s)
{ … }
static char *node_first_str[] = …;
#undef KEY
#define KEY …
#undef KEY_ERROR
#define KEY_ERROR …
#undef KEY_END
#define KEY_END …
#undef KEY_STR
#define KEY_STR …
#undef KEY_EXTRACT
#define KEY_EXTRACT …
#undef KEY_GET
#define KEY_GET …
#include "extract_key.c"
static __isl_give isl_ast_node *read_body(__isl_keep isl_stream *s,
__isl_take isl_ast_node *node)
{ … }
static __isl_give isl_ast_node *read_for(__isl_keep isl_stream *s)
{ … }
static __isl_give isl_ast_node *read_mark(__isl_keep isl_stream *s)
{ … }
static __isl_give isl_ast_node *read_user(__isl_keep isl_stream *s)
{ … }
static __isl_give isl_ast_node *read_if(__isl_keep isl_stream *s)
{ … }
__isl_give isl_ast_node *isl_stream_read_ast_node(__isl_keep isl_stream *s)
{ … }
#define ISL_AST_MACRO_FDIV_Q …
#define ISL_AST_MACRO_MIN …
#define ISL_AST_MACRO_MAX …
#define ISL_AST_MACRO_ALL …
static int ast_expr_required_macros(__isl_keep isl_ast_expr *expr, int macros);
static isl_stat entry_required_macros(__isl_take isl_ast_expr *expr, void *user)
{ … }
static int ast_expr_required_macros(__isl_keep isl_ast_expr *expr, int macros)
{ … }
static int ast_node_list_required_macros(__isl_keep isl_ast_node_list *list,
int macros);
static int ast_node_required_macros(__isl_keep isl_ast_node *node, int macros)
{ … }
static int ast_node_list_required_macros(__isl_keep isl_ast_node_list *list,
int macros)
{ … }
struct isl_ast_expr_op_printed { … };
static void *create_printed(isl_ctx *ctx)
{ … }
static void free_printed(void *user)
{ … }
static __isl_give isl_printer *alloc_printed(__isl_take isl_printer *p,
__isl_keep isl_id *id)
{ … }
static __isl_give isl_id *printed_id(isl_ctx *ctx)
{ … }
static isl_bool already_printed_once(__isl_keep isl_printer *p,
enum isl_ast_expr_op_type type)
{ … }
__isl_give isl_printer *isl_ast_expr_op_type_print_macro(
enum isl_ast_expr_op_type type, __isl_take isl_printer *p)
{ … }
__isl_give isl_printer *isl_ast_op_type_print_macro(
enum isl_ast_expr_op_type type, __isl_take isl_printer *p)
{ … }
static isl_stat foreach_ast_expr_op_type(int macros,
isl_stat (*fn)(enum isl_ast_expr_op_type type, void *user), void *user)
{ … }
isl_stat isl_ast_expr_foreach_ast_expr_op_type(__isl_keep isl_ast_expr *expr,
isl_stat (*fn)(enum isl_ast_expr_op_type type, void *user), void *user)
{ … }
isl_stat isl_ast_expr_foreach_ast_op_type(__isl_keep isl_ast_expr *expr,
isl_stat (*fn)(enum isl_ast_expr_op_type type, void *user), void *user)
{ … }
isl_stat isl_ast_node_foreach_ast_expr_op_type(__isl_keep isl_ast_node *node,
isl_stat (*fn)(enum isl_ast_expr_op_type type, void *user), void *user)
{ … }
isl_stat isl_ast_node_foreach_ast_op_type(__isl_keep isl_ast_node *node,
isl_stat (*fn)(enum isl_ast_expr_op_type type, void *user), void *user)
{ … }
static isl_stat ast_op_type_print_macro(enum isl_ast_expr_op_type type,
void *user)
{ … }
__isl_give isl_printer *isl_ast_expr_print_macros(
__isl_keep isl_ast_expr *expr, __isl_take isl_printer *p)
{ … }
__isl_give isl_printer *isl_ast_node_print_macros(
__isl_keep isl_ast_node *node, __isl_take isl_printer *p)
{ … }
__isl_give char *isl_ast_expr_to_C_str(__isl_keep isl_ast_expr *expr)
{ … }
__isl_give char *isl_ast_node_to_C_str(__isl_keep isl_ast_node *node)
{ … }