PetScan::extract_for: move up extraction of constant increment
[pet.git] / context.h
blob4527a80da8b4d669941c61433cdd6dd231fd2005
1 #ifndef PET_CONTEXT_H
2 #define PET_CONTEXT_H
4 #include <isl/space.h>
5 #include <isl/id_to_pw_aff.h>
7 #if defined(__cplusplus)
8 extern "C" {
9 #endif
11 struct pet_context;
12 typedef struct pet_context pet_context;
14 isl_ctx *pet_context_get_ctx(__isl_keep pet_context *pc);
16 __isl_give pet_context *pet_context_alloc(__isl_take isl_space *domain);
17 __isl_give pet_context *pet_context_copy(__isl_keep pet_context *pc);
18 __isl_null pet_context *pet_context_free(__isl_take pet_context *pc);
20 __isl_give isl_space *pet_context_get_space(__isl_keep pet_context *pc);
21 unsigned pet_context_dim(__isl_keep pet_context *pc);
22 __isl_give isl_id_to_pw_aff *pet_context_get_assignments(
23 __isl_keep pet_context *pc);
24 int pet_context_is_assigned(__isl_keep pet_context *pc, __isl_keep isl_id *id);
25 __isl_give pet_context *pet_context_set_value(__isl_take pet_context *pc,
26 __isl_take isl_id *id, isl_pw_aff *value);
27 __isl_give isl_pw_aff *pet_context_get_value(__isl_keep pet_context *pc,
28 __isl_take isl_id *id);
29 __isl_give pet_context *pet_context_mark_unknown(__isl_take pet_context *pc,
30 __isl_take isl_id *id);
31 __isl_give pet_context *pet_context_clear_value(__isl_keep pet_context *pc,
32 __isl_take isl_id *id);
33 __isl_give pet_context *pet_context_set_allow_nested(__isl_take pet_context *pc,
34 int allow_nested);
35 int pet_context_allow_nesting(__isl_keep pet_context *pc);
37 void pet_context_dump(__isl_keep pet_context *pc);
39 #if defined(__cplusplus)
41 #endif
43 #endif