[polly] r286780 - [SCEVAffinator] Do not scan redundantly for parameters

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 13 13:28:07 PST 2016


Author: grosser
Date: Sun Nov 13 15:28:07 2016
New Revision: 286780

URL: http://llvm.org/viewvc/llvm-project?rev=286780&view=rev
Log:
[SCEVAffinator] Do not scan redundantly for parameters

In r286430 "SCEVValidator: add new parameters resulting from constant
extraction" we added functionality to scan for parameters after constant
extraction has taken place to ensure newly created parameters are correctly
registered. This addition made the already existing registration of parameters
redundant. Hence, we remove the corresponding call in this commit.

An alternative solution would have been to also perform constant extraction when
validating SCEV expressions and to then scan for parameters when validating
a SCEV expression. However, as SCEV validation is used during SCoP detection
where we want to be especially fast, adding additional functionality on this
hot path should be avoided if good alternatives exist. In this case, we can
choose to continue to only transform SCEV expression when actually modeling
them. As all transformations we perform are expected to not change the validity
of the SCEV expressions, this solution seems preferable.

Suggested-by: Eli Friedman <efriedma at codeaurora.org>

Modified:
    polly/trunk/lib/Support/SCEVAffinator.cpp

Modified: polly/trunk/lib/Support/SCEVAffinator.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Support/SCEVAffinator.cpp?rev=286780&r1=286779&r2=286780&view=diff
==============================================================================
--- polly/trunk/lib/Support/SCEVAffinator.cpp (original)
+++ polly/trunk/lib/Support/SCEVAffinator.cpp Sun Nov 13 15:28:07 2016
@@ -140,9 +140,6 @@ __isl_give PWACtx SCEVAffinator::getPwAf
   } else
     NumIterators = 0;
 
-  auto *Scope = getScope();
-  S->addParams(getParamsInAffineExpr(&S->getRegion(), Scope, Expr, SE));
-
   return visit(Expr);
 }
 




More information about the llvm-commits mailing list