From 4e57c827880d96a16290e4b3f306c2bfec774716 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Thu, 20 Feb 2014 11:27:32 +0100 Subject: [PATCH] export pet_expr_extract_affine Now that we have given the callers of pet_expr_extract_affine a better control over what should be considered a parameter, we can expose this function for external use. Note that we currently do not expose any functionality for setting or updating any assignemnts in a pet_context. We can do so later if the need arises. Signed-off-by: Sven Verdoolaege --- context.h | 9 --------- expr.h | 4 ---- include/pet.h | 20 ++++++++++++++++++++ 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/context.h b/context.h index 3590f7b..25028df 100644 --- a/context.h +++ b/context.h @@ -11,15 +11,6 @@ extern "C" { #endif -struct pet_context; -typedef struct pet_context pet_context; - -isl_ctx *pet_context_get_ctx(__isl_keep pet_context *pc); - -__isl_give pet_context *pet_context_alloc(__isl_take isl_set *domain); -__isl_give pet_context *pet_context_copy(__isl_keep pet_context *pc); -__isl_null pet_context *pet_context_free(__isl_take pet_context *pc); - __isl_give isl_set *pet_context_get_domain(__isl_keep pet_context *pc); __isl_give isl_set *pet_context_get_gist_domain(__isl_keep pet_context *pc); __isl_give isl_space *pet_context_get_space(__isl_keep pet_context *pc); diff --git a/expr.h b/expr.h index 2eae15d..6184d63 100644 --- a/expr.h +++ b/expr.h @@ -1,8 +1,6 @@ #ifndef PET_EXPR_H #define PET_EXPR_H -#include - #include #include "context.h" @@ -111,8 +109,6 @@ __isl_give pet_expr *pet_expr_new_int(__isl_take isl_val *v); __isl_give pet_expr *pet_expr_cow(__isl_take pet_expr *expr); -__isl_give isl_pw_aff *pet_expr_extract_affine(__isl_keep pet_expr *expr, - __isl_keep pet_context *pc); __isl_give isl_pw_aff *pet_expr_extract_affine_condition( __isl_keep pet_expr *expr, __isl_keep pet_context *pc); __isl_give isl_pw_aff *pet_expr_extract_comparison(enum pet_op_type op, diff --git a/include/pet.h b/include/pet.h index 5bda348..6d7a2e7 100644 --- a/include/pet.h +++ b/include/pet.h @@ -9,6 +9,7 @@ #include #include #include +#include #if defined(__cplusplus) extern "C" { @@ -213,6 +214,25 @@ int pet_expr_foreach_access_expr(__isl_keep pet_expr *expr, int pet_expr_foreach_call_expr(__isl_keep pet_expr *expr, int (*fn)(__isl_keep pet_expr *expr, void *user), void *user); +struct pet_context; +typedef struct pet_context pet_context; + +/* Create a context with the given domain. */ +__isl_give pet_context *pet_context_alloc(__isl_take isl_set *domain); +/* Return an additional reference to "pc". */ +__isl_give pet_context *pet_context_copy(__isl_keep pet_context *pc); +/* Free a reference to "pc". */ +__isl_null pet_context *pet_context_free(__isl_take pet_context *pc); + +/* Return the isl_ctx in which "pc" was created. */ +isl_ctx *pet_context_get_ctx(__isl_keep pet_context *pc); + +/* Extract an affine expression defined over the domain of "pc" from "expr" + * or return NaN. + */ +__isl_give isl_pw_aff *pet_expr_extract_affine(__isl_keep pet_expr *expr, + __isl_keep pet_context *pc); + void pet_expr_dump(__isl_keep pet_expr *expr); enum pet_tree_type { -- 2.11.4.GIT