summaryrefslogtreecommitdiffstats
path: root/polly/lib/External/isl/isl_flow.c
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/External/isl/isl_flow.c')
-rw-r--r--polly/lib/External/isl/isl_flow.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/polly/lib/External/isl/isl_flow.c b/polly/lib/External/isl/isl_flow.c
index 374a5075409..5034c285e38 100644
--- a/polly/lib/External/isl/isl_flow.c
+++ b/polly/lib/External/isl/isl_flow.c
@@ -1345,6 +1345,29 @@ error:
return NULL;
}
+__isl_give isl_union_access_info *isl_union_access_info_copy(
+ __isl_keep isl_union_access_info *access)
+{
+ isl_union_access_info *copy;
+
+ if (!access)
+ return NULL;
+ copy = isl_union_access_info_from_sink(
+ isl_union_map_copy(access->sink));
+ copy = isl_union_access_info_set_must_source(copy,
+ isl_union_map_copy(access->must_source));
+ copy = isl_union_access_info_set_may_source(copy,
+ isl_union_map_copy(access->may_source));
+ if (access->schedule)
+ copy = isl_union_access_info_set_schedule(copy,
+ isl_schedule_copy(access->schedule));
+ else
+ copy = isl_union_access_info_set_schedule_map(copy,
+ isl_union_map_copy(access->schedule_map));
+
+ return copy;
+}
+
/* Update the fields of "access" such that they all have the same parameters,
* keeping in mind that the schedule_map field may be NULL and ignoring
* the schedule field.
@@ -1450,6 +1473,13 @@ struct isl_union_flow {
isl_union_map *may_no_source;
};
+/* Return the isl_ctx to which "flow" belongs.
+ */
+isl_ctx *isl_union_flow_get_ctx(__isl_keep isl_union_flow *flow)
+{
+ return flow ? isl_union_map_get_ctx(flow->must_dep) : NULL;
+}
+
/* Free "flow" and return NULL.
*/
__isl_null isl_union_flow *isl_union_flow_free(__isl_take isl_union_flow *flow)
OpenPOWER on IntegriCloud