pet.cc: pet_transform: handle NULL input
[pet.git] / nest.h
blob53c6d03766cb6700ed1060f92ffdb866aff3ecba
1 #ifndef PET_NEST_H
2 #define PET_NEST_H
4 #include <isl/aff.h>
5 #include <isl/id.h>
6 #include <isl/space.h>
7 #include <isl/set.h>
8 #include <isl/map.h>
10 #include "pet.h"
12 #if defined(__cplusplus)
13 extern "C" {
14 #endif
16 __isl_give isl_id *pet_nested_pet_expr(__isl_take pet_expr *expr);
17 __isl_give pet_expr *pet_nested_extract_expr(__isl_keep isl_id *id);
19 int pet_nested_in_id(__isl_keep isl_id *id);
20 int pet_nested_in_map(__isl_keep isl_map *map, int pos);
21 int pet_nested_any_in_space(__isl_keep isl_space *space);
22 int pet_nested_any_in_pw_aff(__isl_keep isl_pw_aff *pa);
23 int pet_nested_n_in_space(__isl_keep isl_space *space);
24 int pet_nested_n_in_set(__isl_keep isl_set *set);
25 int pet_nested_n_in_map(__isl_keep isl_map *map);
27 __isl_give isl_space *pet_nested_remove_from_space(__isl_take isl_space *space);
28 __isl_give isl_set *pet_nested_remove_from_set(__isl_take isl_set *set);
30 struct pet_stmt *pet_stmt_remove_nested_parameters(struct pet_stmt *stmt);
32 int pet_extract_nested_from_space(__isl_keep isl_space *space,
33 int n_arg, __isl_give pet_expr **args, int *param2pos);
35 __isl_give pet_expr *pet_expr_resolve_nested(__isl_take pet_expr *expr,
36 __isl_keep isl_space *domain);
37 __isl_give pet_tree *pet_tree_resolve_nested(__isl_take pet_tree *tree,
38 __isl_keep isl_space *space);
39 struct pet_scop *pet_scop_resolve_nested(struct pet_scop *scop);
41 #if defined(__cplusplus)
43 #endif
45 #endif