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.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/polly/lib/External/isl/isl_flow.c b/polly/lib/External/isl/isl_flow.c
index 6e2a9a3a51a..2b0330b1adf 100644
--- a/polly/lib/External/isl/isl_flow.c
+++ b/polly/lib/External/isl/isl_flow.c
@@ -362,12 +362,21 @@ static __isl_give isl_access_info *isl_access_info_sort_sources(
static __isl_give isl_space *space_align_and_join(__isl_take isl_space *left,
__isl_take isl_space *right)
{
- if (isl_space_match(left, isl_dim_param, right, isl_dim_param))
+ isl_bool equal_params;
+
+ equal_params = isl_space_has_equal_params(left, right);
+ if (equal_params < 0)
+ goto error;
+ if (equal_params)
return isl_space_join(left, right);
left = isl_space_align_params(left, isl_space_copy(right));
right = isl_space_align_params(right, isl_space_copy(left));
return isl_space_join(left, right);
+error:
+ isl_space_free(left);
+ isl_space_free(right);
+ return NULL;
}
/* Initialize an empty isl_flow structure corresponding to a given
OpenPOWER on IntegriCloud