[polly] r310319 - Change Polly's position to "before-vectorizer"

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 8 04:32:32 PDT 2017


with that change, some of our buildbots become redundant as they
effectively all test the -polly-position=before-vectorizer

Could we consolidate them (such they run more often instead of testing
a configuration another builder already tested) or add
-polly-position=early to the ones which previously assumed that's the


2017-08-08 0:33 GMT+02:00 Tobias Grosser via llvm-commits
<llvm-commits at lists.llvm.org>:
> Author: grosser
> Date: Mon Aug  7 15:33:34 2017
> New Revision: 310319
> URL: http://llvm.org/viewvc/llvm-project?rev=310319&view=rev
> Log:
> Change Polly's position to "before-vectorizer"
> Polly has traditionally always been executed at the beginning of the pass
> pipeline as LLVM's inliner and DeLICM passes introduced plenty of scalar
> dependences which prevented any kind of useful high-level loop optimizations
> later in the pass pipeline. With DeLICM now being available, Polly can also
> run optimizations when folded into the pass pipeline. This has the benefit
> that Polly should now be more effective on C++ code and as an additional bonus,
> no additional early canonicalization phase must be run. As a result, Polly
> touches the code only if it applies a transformation. Code that does not
> benefit from Polly is not touched and consequently will have the very same
> execution time as without Polly enabled. Random performance changes, as could
> sometimes be observed with polly-position=early are consequently not possible
> any more. If performance is changed, this is due to Polly is choosing to
> perform a transformation. If this choice is wrong, it can be fixed directly
> in Polly.
> http://polly.llvm.org/docs/Architecture.html#polly-in-the-llvm-pass-pipeline
> Modified:
>     polly/trunk/lib/Support/RegisterPasses.cpp
> Modified: polly/trunk/lib/Support/RegisterPasses.cpp
> URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Support/RegisterPasses.cpp?rev=310319&r1=310318&r2=310319&view=diff
> ==============================================================================
> --- polly/trunk/lib/Support/RegisterPasses.cpp (original)
> +++ polly/trunk/lib/Support/RegisterPasses.cpp Mon Aug  7 15:33:34 2017
> @@ -78,7 +78,7 @@ static cl::opt<PassPositionChoice> PassP
>                     "After the loop optimizer (but within the inline cycle)"),
>          clEnumValN(POSITION_BEFORE_VECTORIZER, "before-vectorizer",
>                     "Right before the vectorizer")),
> -    cl::Hidden, cl::init(POSITION_EARLY), cl::ZeroOrMore,
> +    cl::Hidden, cl::init(POSITION_BEFORE_VECTORIZER), cl::ZeroOrMore,
>      cl::cat(PollyCategory));
>  static cl::opt<OptimizerChoice>
> _______________________________________________
> 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