[polly] r298053 - [ScopInfo] Do not expand getDomains() to full parameter space.

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 17 08:36:58 PDT 2017


This (or r298054) seem to have broken a buildbot:

http://lab.llvm.org:8011/builders/perf-x86_64-penryn-O3-polly-parallel-fast/builds/3607

There is also an advantage in keeping all parameters spaces equal.
Most isl_*_align operations first check whether parameter spaces are
equal and do nothing if it is. Have you done speed comparisons to
justify this change?

Michael



2017-03-17 10:02 GMT+01:00 Tobias Grosser via llvm-commits
<llvm-commits at lists.llvm.org>:
> Author: grosser
> Date: Fri Mar 17 04:02:50 2017
> New Revision: 298053
>
> URL: http://llvm.org/viewvc/llvm-project?rev=298053&view=rev
> Log:
> [ScopInfo] Do not expand getDomains() to full parameter space.
>
> Since several years, isl can perform most operations on sets with differing
> parameter spaces, by expanding the parameter space on demand relying using
> named isl ids to distinguish different parameter dimensions.
>
> By not always expanding to full dimensionality the set remain smaller and can
> likely be operated on faster. This change by itself did not yet result in
> measurable performance benefits, but it is a step into the right direction
> needed to ensure that subsequent changes indeed can work with lower-dimensional
> sets and these sets do not get blown up by accident when later intersected with
> the domain context.
>
> Modified:
>     polly/trunk/lib/Analysis/ScopInfo.cpp
>
> Modified: polly/trunk/lib/Analysis/ScopInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/ScopInfo.cpp?rev=298053&r1=298052&r2=298053&view=diff
> ==============================================================================
> --- polly/trunk/lib/Analysis/ScopInfo.cpp (original)
> +++ polly/trunk/lib/Analysis/ScopInfo.cpp Fri Mar 17 04:02:50 2017
> @@ -4234,7 +4234,8 @@ __isl_give PWACtx Scop::getPwAff(const S
>  }
>
>  __isl_give isl_union_set *Scop::getDomains() const {
> -  isl_union_set *Domain = isl_union_set_empty(getParamSpace());
> +  isl_space *EmptySpace = isl_space_params_alloc(getIslCtx(), 0);
> +  isl_union_set *Domain = isl_union_set_empty(EmptySpace);
>
>    for (const ScopStmt &Stmt : *this)
>      Domain = isl_union_set_add_set(Domain, Stmt.getDomain());
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list