summaryrefslogtreecommitdiffstats
path: root/polly/lib/External/isl/doc/user.pod
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/External/isl/doc/user.pod')
-rw-r--r--polly/lib/External/isl/doc/user.pod72
1 files changed, 70 insertions, 2 deletions
diff --git a/polly/lib/External/isl/doc/user.pod b/polly/lib/External/isl/doc/user.pod
index 04e8cedebd8..00fe4cf25f8 100644
--- a/polly/lib/External/isl/doc/user.pod
+++ b/polly/lib/External/isl/doc/user.pod
@@ -611,6 +611,10 @@ in which the object was created.
isl_ctx *isl_stride_info_get_ctx(
__isl_keep isl_stride_info *si);
+ #include <isl/fixed_box.h>
+ isl_ctx *isl_fixed_box_get_ctx(
+ __isl_keep isl_fixed_box *box);
+
=head2 Return Types
C<isl> uses two special return types for functions that either return
@@ -1116,6 +1120,10 @@ of the original object.
__isl_give isl_space *isl_point_get_space(
__isl_keep isl_point *pnt);
+ #include <isl/fixed_box.h>
+ __isl_give isl_space *isl_fixed_box_get_space(
+ __isl_keep isl_fixed_box *box);
+
The number of dimensions of a given type of space
may be read off from a space or an object that lives
in a space using the following functions.
@@ -3453,6 +3461,27 @@ the following functions.
__isl_keep isl_union_pw_qpolynomial *upwqp,
__isl_take isl_space *space);
+It is also possible to obtain a list of the base expressions using
+the following functions.
+
+ #include <isl/aff.h>
+ __isl_give isl_pw_aff_list *
+ isl_union_pw_aff_get_pw_aff_list(
+ __isl_keep isl_union_pw_aff *upa);
+ __isl_give isl_pw_multi_aff_list *
+ isl_union_pw_multi_aff_get_pw_multi_aff_list(
+ __isl_keep isl_union_pw_multi_aff *upma);
+
+ #include <isl/polynomial.h>
+ __isl_give isl_pw_qpolynomial_list *
+ isl_union_pw_qpolynomial_get_pw_qpolynomial_list(
+ __isl_keep isl_union_pw_qpolynomial *upwqp);
+ __isl_give isl_pw_qpolynomial_fold_list *
+ isl_union_pw_qpolynomial_fold_get_pw_qpolynomial_fold_list(
+ __isl_keep isl_union_pw_qpolynomial_fold *upwf);
+
+The returned list can be manipulated using the functions in L<"Lists">.
+
=head2 Input and Output
For set and relation,
@@ -5227,6 +5256,42 @@ that contains the whole input set or relation.
In case of union sets and relations, the polyhedral hull is computed
per space.
+=item * Box hull
+
+ #include <isl/map.h>
+ __isl_give isl_fixed_box *
+ isl_map_get_range_simple_fixed_box_hull(
+ __isl_keep isl_map *map);
+
+This function tries to approximate the range of the map by a box of fixed size.
+The box is described in terms of an offset living in the same space as
+the input map and a size living in the range space. For any element
+in the input map, the range value is greater than or equal to
+the offset applied to the domain value and the difference with
+this offset is strictly smaller than the size.
+If no fixed-size approximation of the range can be found,
+an I<invalid> box is returned, i.e., one for which
+C<isl_fixed_box_is_valid> below returns false.
+
+The validity, the offset and the size of the box can be obtained using
+the following functions.
+
+ #include <isl/fixed_box.h>
+ isl_bool isl_fixed_box_is_valid(
+ __isl_keep isl_fixed_box *box);
+ __isl_give isl_multi_aff *isl_fixed_box_get_offset(
+ __isl_keep isl_fixed_box *box);
+ __isl_give isl_multi_val *isl_fixed_box_get_size(
+ __isl_keep isl_fixed_box *box);
+
+The box can be copied and freed using the following functions.
+
+ #include <isl/fixed_box.h>
+ __isl_give isl_fixed_box *isl_fixed_box_copy(
+ __isl_keep isl_fixed_box *box);
+ __isl_null isl_fixed_box *isl_fixed_box_free(
+ __isl_take isl_fixed_box *box);
+
=item * Other approximations
#include <isl/set.h>
@@ -7722,8 +7787,11 @@ where C<cond> is zero.
=head2 Lists
Lists are defined over several element types, including
-C<isl_val>, C<isl_id>, C<isl_aff>, C<isl_pw_aff>, C<isl_union_pw_aff>,
-C<isl_union_pw_multi_aff>, C<isl_constraint>,
+C<isl_val>, C<isl_id>, C<isl_aff>, C<isl_pw_aff>, C<isl_pw_multi_aff>,
+C<isl_union_pw_aff>,
+C<isl_union_pw_multi_aff>,
+C<isl_pw_qpolynomial>, C<isl_pw_qpolynomial_fold>,
+C<isl_constraint>,
C<isl_basic_set>, C<isl_set>, C<isl_basic_map>, C<isl_map>, C<isl_union_set>,
C<isl_union_map>, C<isl_ast_expr> and C<isl_ast_node>.
Here we take lists of C<isl_set>s as an example.
OpenPOWER on IntegriCloud