• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef PRINT_H
2 #define PRINT_H
3 
4 #include <isl/ast.h>
5 
6 #include "ppcg.h"
7 
8 extern const char *ppcg_min;
9 extern const char *ppcg_max;
10 extern const char *ppcg_fdiv_q;
11 
12 __isl_give isl_printer *ppcg_start_block(__isl_take isl_printer *p);
13 __isl_give isl_printer *ppcg_end_block(__isl_take isl_printer *p);
14 
15 __isl_give isl_printer *ppcg_set_macro_names(__isl_take isl_printer *p);
16 __isl_give isl_printer *ppcg_set_macros(__isl_take isl_printer *p,
17 	const char *min, const char *max);
18 __isl_give isl_printer *ppcg_print_macro(enum isl_ast_op_type type,
19 	__isl_take isl_printer *p);
20 __isl_give isl_printer *ppcg_ast_expr_print_macros(
21 	__isl_keep isl_ast_expr *expr, __isl_take isl_printer *p);
22 __isl_give isl_printer *ppcg_print_body_macros(__isl_take isl_printer *p,
23 	__isl_keep isl_id_to_ast_expr *ref2expr);
24 __isl_give isl_printer *ppcg_print_macros(__isl_take isl_printer *p,
25 	__isl_keep isl_ast_node *node);
26 
27 __isl_give isl_ast_expr *ppcg_build_size_expr(__isl_take isl_multi_pw_aff *size,
28 	__isl_keep isl_ast_build *build);
29 
30 __isl_give isl_printer *ppcg_print_declaration_with_size(
31 	__isl_take isl_printer *p, const char *base_type,
32 	__isl_keep isl_ast_expr *size);
33 __isl_give isl_printer *ppcg_print_declaration(__isl_take isl_printer *p,
34 	struct pet_array *array, __isl_keep isl_ast_build *build);
35 __isl_give isl_printer *ppcg_print_exposed_declarations(
36 	__isl_take isl_printer *p, struct ppcg_scop *scop);
37 __isl_give isl_printer *ppcg_print_hidden_declarations(
38 	__isl_take isl_printer *p, struct ppcg_scop *scop);
39 
40 #endif
41