Polly 19.0.0git
ast_build.h
Go to the documentation of this file.
1#ifndef ISL_AST_BUILD_H
2#define ISL_AST_BUILD_H
3
4#include <isl/ctx.h>
5#include <isl/set.h>
6#include <isl/ast.h>
7#include <isl/schedule.h>
8
9#if defined(__cplusplus)
10extern "C" {
11#endif
12
15
16
19
22
25
28
31
32#define ISL_AST_BUILD_SEPARATION_BOUNDS_EXPLICIT 0
33#define ISL_AST_BUILD_SEPARATION_BOUNDS_IMPLICIT 1
36
39
42
45
47
52
58
61
66
72 __isl_take isl_id_list *iterators);
77 __isl_keep isl_ast_build *build, void *user), void *user);
81 void *user), void *user);
85 __isl_keep isl_ast_build *build, void *user), void *user);
89 void *user), void *user);
93 __isl_keep isl_ast_build *build, void *user), void *user);
97 void *user), void *user);
98
117
126
127#if defined(__cplusplus)
128}
129#endif
130
131#endif
struct isl_multi_pw_aff isl_multi_pw_aff
Definition: aff_type.h:43
__isl_give isl_ast_build * isl_ast_build_set_before_each_mark(__isl_take isl_ast_build *build, isl_stat(*fn)(__isl_keep isl_id *mark, __isl_keep isl_ast_build *build, void *user), void *user)
isl_stat isl_options_set_ast_build_detect_min_max(isl_ctx *ctx, int val)
int isl_options_get_ast_build_allow_else(isl_ctx *ctx)
__isl_overload __isl_give isl_ast_expr * isl_ast_build_access_from_pw_multi_aff(__isl_keep isl_ast_build *build, __isl_take isl_pw_multi_aff *pma)
int isl_options_get_ast_build_allow_or(isl_ctx *ctx)
__isl_give isl_ast_build * isl_ast_build_copy(__isl_keep isl_ast_build *build)
__isl_give isl_ast_build * isl_ast_build_set_before_each_for(__isl_take isl_ast_build *build, __isl_give isl_id *(*fn)(__isl_keep isl_ast_build *build, void *user), void *user)
isl_stat isl_options_set_ast_build_separation_bounds(isl_ctx *ctx, int val)
__isl_export __isl_give isl_ast_build * isl_ast_build_from_context(__isl_take isl_set *set)
__isl_export __isl_give isl_ast_node * isl_ast_build_node_from_schedule_map(__isl_keep isl_ast_build *build, __isl_take isl_union_map *schedule)
__isl_give isl_ast_node * isl_ast_build_ast_from_schedule(__isl_keep isl_ast_build *build, __isl_take isl_union_map *schedule)
__isl_overload __isl_give isl_ast_expr * isl_ast_build_expr_from_set(__isl_keep isl_ast_build *build, __isl_take isl_set *set)
isl_stat isl_options_set_ast_build_atomic_upper_bound(isl_ctx *ctx, int val)
int isl_options_get_ast_build_separation_bounds(isl_ctx *ctx)
__isl_overload __isl_give isl_ast_expr * isl_ast_build_access_from_multi_pw_aff(__isl_keep isl_ast_build *build, __isl_take isl_multi_pw_aff *mpa)
isl_stat isl_options_set_ast_build_scale_strides(isl_ctx *ctx, int val)
__isl_give isl_ast_build * isl_ast_build_set_options(__isl_take isl_ast_build *build, __isl_take isl_union_map *options)
__isl_overload __isl_give isl_ast_expr * isl_ast_build_call_from_pw_multi_aff(__isl_keep isl_ast_build *build, __isl_take isl_pw_multi_aff *pma)
int isl_options_get_ast_build_group_coscheduled(isl_ctx *ctx)
isl_stat isl_options_set_ast_build_prefer_pdiv(isl_ctx *ctx, int val)
__isl_give isl_ast_build * isl_ast_build_set_after_each_mark(__isl_take isl_ast_build *build, __isl_give isl_ast_node *(*fn)(__isl_take isl_ast_node *node, __isl_keep isl_ast_build *build, void *user), void *user)
__isl_overload __isl_give isl_ast_expr * isl_ast_build_expr_from_pw_aff(__isl_keep isl_ast_build *build, __isl_take isl_pw_aff *pa)
isl_stat isl_options_set_ast_build_allow_else(isl_ctx *ctx, int val)
__isl_null isl_ast_build * isl_ast_build_free(__isl_take isl_ast_build *build)
isl_stat isl_options_set_ast_build_allow_or(isl_ctx *ctx, int val)
__isl_give isl_space * isl_ast_build_get_schedule_space(__isl_keep isl_ast_build *build)
__isl_give isl_ast_build * isl_ast_build_restrict(__isl_take isl_ast_build *build, __isl_take isl_set *set)
__isl_overload __isl_give isl_ast_node * isl_ast_build_node_from_schedule(__isl_keep isl_ast_build *build, __isl_take isl_schedule *schedule)
__isl_constructor __isl_give isl_ast_build * isl_ast_build_alloc(isl_ctx *ctx)
isl_stat isl_options_set_ast_build_group_coscheduled(isl_ctx *ctx, int val)
__isl_export __isl_give isl_ast_build * isl_ast_build_set_at_each_domain(__isl_take isl_ast_build *build, __isl_give isl_ast_node *(*fn)(__isl_take isl_ast_node *node, __isl_keep isl_ast_build *build, void *user), void *user)
int isl_options_get_ast_build_atomic_upper_bound(isl_ctx *ctx)
__isl_export __isl_give isl_union_map * isl_ast_build_get_schedule(__isl_keep isl_ast_build *build)
int isl_options_get_ast_build_scale_strides(isl_ctx *ctx)
isl_ctx * isl_ast_build_get_ctx(__isl_keep isl_ast_build *build)
int isl_options_get_ast_build_exploit_nested_bounds(isl_ctx *ctx)
__isl_give isl_ast_build * isl_ast_build_set_after_each_for(__isl_take isl_ast_build *build, __isl_give isl_ast_node *(*fn)(__isl_take isl_ast_node *node, __isl_keep isl_ast_build *build, void *user), void *user)
__isl_give isl_ast_build * isl_ast_build_set_create_leaf(__isl_take isl_ast_build *build, __isl_give isl_ast_node *(*fn)(__isl_take isl_ast_build *build, void *user), void *user)
int isl_options_get_ast_build_prefer_pdiv(isl_ctx *ctx)
int isl_options_get_ast_build_detect_min_max(isl_ctx *ctx)
__isl_overload __isl_give isl_ast_expr * isl_ast_build_call_from_multi_pw_aff(__isl_keep isl_ast_build *build, __isl_take isl_multi_pw_aff *mpa)
__isl_give isl_ast_build * isl_ast_build_set_iterators(__isl_take isl_ast_build *build, __isl_take isl_id_list *iterators)
isl_stat isl_options_set_ast_build_exploit_nested_bounds(isl_ctx *ctx, int val)
#define __isl_export
Definition: ctx.h:31
#define __isl_take
Definition: ctx.h:22
isl_stat
Definition: ctx.h:84
#define __isl_constructor
Definition: ctx.h:37
#define __isl_give
Definition: ctx.h:19
#define __isl_null
Definition: ctx.h:28
#define __isl_keep
Definition: ctx.h:25
#define __isl_overload
Definition: ctx.h:34
__isl_export __isl_give ISL_HMAP __isl_take ISL_KEY __isl_take ISL_VAL * val
Definition: hmap.h:32
isl_stat isl_stat(* fn)(__isl_take ISL_KEY *key, __isl_take ISL_VAL *val, void *user)
Definition: hmap.h:37
isl_stat isl_stat(*) void user)
Definition: hmap.h:39
const char * schedule
Definition: isl_test.c:10697
const char * set
Definition: isl_test.c:1356
const char * pma
Definition: isl_test.c:3169
struct isl_set isl_set
Definition: map_type.h:26
isl_id_list * iterators
isl_schedule_node * node