diff options
author | Tobias Grosser <tobias@grosser.es> | 2018-05-28 07:45:25 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2018-05-28 07:45:25 +0000 |
commit | 613954f21a08090dbd67b10af56dc876550db26b (patch) | |
tree | 22eb9de58b80f913d132ef9be58eeddeade85b6b /polly | |
parent | f77b5112af414455f55ca56ffab48d18f218a65b (diff) |
[ScopInfo] Update Scop::addUserContext() to C++ interface
Summary: This patch updates `Scop::addUserContext()` function to the new C++ interface and replaces the `auto` keyword with explicit type wherever used in this function.
Reviewers: grosser, bollu, philip.pfaffe, chelini, Meinersbur
Reviewed By: grosser
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D47438
Diffstat (limited to 'polly')
-rw-r--r-- | polly/lib/Analysis/ScopInfo.cpp | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp index 471ade2991e..de4f3eae851 100644 --- a/polly/lib/Analysis/ScopInfo.cpp +++ b/polly/lib/Analysis/ScopInfo.cpp @@ -2112,29 +2112,23 @@ void Scop::addUserContext() { if (UserContextStr.empty()) return; - isl_set *UserContext = - isl_set_read_from_str(getIslCtx().get(), UserContextStr.c_str()); - isl_space *Space = getParamSpace().release(); - if (isl_space_dim(Space, isl_dim_param) != - isl_set_dim(UserContext, isl_dim_param)) { - auto SpaceStr = isl_space_to_str(Space); + isl::set UserContext = isl::set(getIslCtx(), UserContextStr.c_str()); + isl::space Space = getParamSpace(); + if (Space.dim(isl::dim::param) != UserContext.dim(isl::dim::param)) { + std::string SpaceStr = Space.to_str(); errs() << "Error: the context provided in -polly-context has not the same " << "number of dimensions than the computed context. Due to this " << "mismatch, the -polly-context option is ignored. Please provide " << "the context in the parameter space: " << SpaceStr << ".\n"; - free(SpaceStr); - isl_set_free(UserContext); - isl_space_free(Space); return; } - for (unsigned i = 0; i < isl_space_dim(Space, isl_dim_param); i++) { + for (unsigned i = 0; i < Space.dim(isl::dim::param); i++) { std::string NameContext = Context.get_dim_name(isl::dim::param, i); - std::string NameUserContext = - isl_set_get_dim_name(UserContext, isl_dim_param, i); + std::string NameUserContext = UserContext.get_dim_name(isl::dim::param, i); if (NameContext != NameUserContext) { - auto SpaceStr = isl_space_to_str(Space); + std::string SpaceStr = Space.to_str(); errs() << "Error: the name of dimension " << i << " provided in -polly-context " << "is '" << NameUserContext << "', but the name in the computed " @@ -2142,19 +2136,14 @@ void Scop::addUserContext() { << "'. Due to this name mismatch, " << "the -polly-context option is ignored. Please provide " << "the context in the parameter space: " << SpaceStr << ".\n"; - free(SpaceStr); - isl_set_free(UserContext); - isl_space_free(Space); return; } - UserContext = - isl_set_set_dim_id(UserContext, isl_dim_param, i, - isl_space_get_dim_id(Space, isl_dim_param, i)); + UserContext = UserContext.set_dim_id(isl::dim::param, i, + Space.get_dim_id(isl::dim::param, i)); } - Context = Context.intersect(isl::manage(UserContext)); - isl_space_free(Space); + Context = Context.intersect(UserContext); } void Scop::buildInvariantEquivalenceClasses() { |