[PATCH] Adding the loop vectorizer to the LTO pipeline
Renato Golin
renato.golin at linaro.org
Fri Feb 21 14:09:34 PST 2014
On 21 February 2014 21:50, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:
> I would like to add the loop vectorizer to the LTO pipeline. During LTO more loops become countable (LICM moves the loop bound load out of the loop with the help of GlobalModRef) as a consequence we can vectorize more loops. Currently, we are not making use of this opportunity.
Hi Arnold,
It looks like a no-brainer to me, if there is a way to turn it off in
case it adds serious regressions. Is there a way to control LTO at
that level of granularity?
> Link time, as measured by timing the clang link step, increases by about 1% on average over the test-suite + externals.
That sound really good.
> Performance Regressions - Execution Time Δ Previous Current σ Δ (B) σ (B)
> MultiSource/Benchmarks/mafft/pairlocalalign 2.86% 22.2553 22.8911 0.0250 0.00% 0.0250
Have you investigated what generated this regression? It's not a small
one, half of the average gain on others, and could be a deterrent for
many people using LTO.
> Performance Improvements - Execution Time Δ Previous Current σ Δ (B) σ (B)
> SingleSource/Benchmarks/Misc/matmul_f64_4x4 -28.95% 0.2660 0.1890 0.0002 0.00% 0.0002
> MultiSource/Benchmarks/TSVC/Symbolics-flt/Symbolics-flt -16.08% 1.9063 1.5998 0.0020 0.00% 0.0020
I don't know why the vectorizer can't work on these at compile time,
but they don't seem like a good example of user code, except for
specialised cases, which are not unimportant.
> MultiSource/Benchmarks/TSVC/ControlLoops-flt/ControlLoops-flt -7.77% 2.5324 2.3356 0.0000 0.00% 0.0000
> MultiSource/Benchmarks/TSVC/ControlLoops-dbl/ControlLoops-dbl -6.07% 3.2678 3.0695 0.0005 0.00% 0.0005
> MultiSource/Benchmarks/TSVC/Reductions-dbl/Reductions-dbl -5.68% 3.5590 3.3570 0.0011 0.00% 0.0011
> External/SPEC/CINT2000/300_twolf/300_twolf -4.64% 3.5099 3.3471 0.0081 0.00% 0.0081
> SingleSource/Benchmarks/Misc/mandel -4.30% 0.4304 0.4119 0.0001 0.00% 0.0001
> MultiSource/Benchmarks/TSVC/Reductions-flt/Reductions-flt -2.93% 6.8906 6.6885 0.0007 0.00% 0.0007
These are really good results!
cheers,
--renato
More information about the llvm-commits
mailing list