PetScan::extract_scop: clear writes at outer level
[pet.git] / context.h
blob940bcd8c09eff17800c088efeb50179f3cbac77f
1 #ifndef PET_CONTEXT_H
2 #define PET_CONTEXT_H
4 #include <isl/space.h>
5 #include <isl/set.h>
6 #include <isl/id_to_pw_aff.h>
8 #include <pet.h>
10 #if defined(__cplusplus)
11 extern "C" {
12 #endif
14 struct pet_context;
15 typedef struct pet_context pet_context;
17 isl_ctx *pet_context_get_ctx(__isl_keep pet_context *pc);
19 __isl_give pet_context *pet_context_alloc(__isl_take isl_set *domain);
20 __isl_give pet_context *pet_context_copy(__isl_keep pet_context *pc);
21 __isl_null pet_context *pet_context_free(__isl_take pet_context *pc);
23 __isl_give isl_set *pet_context_get_domain(__isl_keep pet_context *pc);
24 __isl_give isl_space *pet_context_get_space(__isl_keep pet_context *pc);
25 unsigned pet_context_dim(__isl_keep pet_context *pc);
26 __isl_give isl_id_to_pw_aff *pet_context_get_assignments(
27 __isl_keep pet_context *pc);
28 int pet_context_is_assigned(__isl_keep pet_context *pc, __isl_keep isl_id *id);
29 __isl_give pet_context *pet_context_set_value(__isl_take pet_context *pc,
30 __isl_take isl_id *id, isl_pw_aff *value);
31 __isl_give isl_pw_aff *pet_context_get_value(__isl_keep pet_context *pc,
32 __isl_take isl_id *id);
33 __isl_give pet_context *pet_context_mark_unknown(__isl_take pet_context *pc,
34 __isl_take isl_id *id);
35 __isl_give pet_context *pet_context_mark_assigned(__isl_take pet_context *pc,
36 __isl_take isl_id *id);
37 __isl_give pet_context *pet_context_clear_value(__isl_keep pet_context *pc,
38 __isl_take isl_id *id);
39 __isl_give pet_context *pet_context_set_allow_nested(__isl_take pet_context *pc,
40 int allow_nested);
41 int pet_context_allow_nesting(__isl_keep pet_context *pc);
43 __isl_give pet_context *pet_context_clear_writes_in_expr(
44 __isl_take pet_context *pc, __isl_keep pet_expr *expr);
45 __isl_give pet_context *pet_context_clear_writes_in_tree(
46 __isl_take pet_context *pc, __isl_keep pet_tree *tree);
48 void pet_context_dump(__isl_keep pet_context *pc);
50 #if defined(__cplusplus)
52 #endif
54 #endif