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

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 17 02:02:50 PDT 2017


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());




More information about the llvm-commits mailing list