diff options
| author | Tobias Grosser <tobias@grosser.es> | 2015-11-11 17:59:53 +0000 |
|---|---|---|
| committer | Tobias Grosser <tobias@grosser.es> | 2015-11-11 17:59:53 +0000 |
| commit | a52b4da0395255406c1d40a2fc203555bfd06ac1 (patch) | |
| tree | 8689537bef574ae9767bafe1c9e7c398ad18bfed | |
| parent | 7841efbb9255126763167b9d7d59242333c6f1bd (diff) | |
| download | bcm5719-llvm-a52b4da0395255406c1d40a2fc203555bfd06ac1.tar.gz bcm5719-llvm-a52b4da0395255406c1d40a2fc203555bfd06ac1.zip | |
ScopInfo: Free set after compute out has been triggered
In certain cases isl will not free the return values of operations for which
a computeout has been triggered. Hence, make sure we free it explicitly.
No test, as I did not manage to reduce one yet.
llvm-svn: 252766
| -rw-r--r-- | polly/lib/Analysis/ScopInfo.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp index baa9bc1d6a6..b16bfa64788 100644 --- a/polly/lib/Analysis/ScopInfo.cpp +++ b/polly/lib/Analysis/ScopInfo.cpp @@ -1597,8 +1597,10 @@ void Scop::buildBoundaryContext() { BoundaryContext = isl_set_complement(BoundaryContext); - if (isl_ctx_last_error(getIslCtx()) == isl_error_quota) + if (isl_ctx_last_error(getIslCtx()) == isl_error_quota) { + isl_set_free(BoundaryContext); BoundaryContext = isl_set_empty(getParamSpace()); + } isl_options_set_on_error(getIslCtx(), ISL_ON_ERROR_ABORT); isl_ctx_reset_operations(getIslCtx()); |

