[PATCH] Adding the loop vectorizer to the LTO pipeline

Arnold Schwaighofer aschwaighofer at apple.com
Fri Feb 21 14:30:57 PST 2014


On Feb 21, 2014, at 2:15 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:

> It is probably a good idea.
> 
> Out of curiosity, have you benchmarked also disabling the vectorizer
> during "clang -flto" and leaving all the vectorization work for LTO?
> If not, is that something you plan on doing in the future?
> 

I have not benchmarked this and had no immediate plans to do so. I agree this is interesting but I expect results to be a lot noisier.


> On 21 February 2014 16:50, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:
>> Hi all,
>> 
>> 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.
>> 
>> In my measurements on arm and x86 I saw no serious regressions and some bumps in performance. The one benchmark that benefits from this significantly is twolf/ref dataset (~5% on an arm architecture and ~5% on x86-64 sandy bridge) and some internal benchmarks.
>> 
>> Link time, as measured by timing the clang link step, increases by about 1% on average over the test-suite + externals.
>> 
>> The results on x86-64 -mavx -O3 -flto:
>> 
>> 
>> Performance Regressions - Execution Time                Δ       Previous Current σ      Δ (B)   σ (B)
>> MultiSource/Benchmarks/mafft/pairlocalalign             2.86%   22.2553 22.8911 0.0250  0.00%   0.0250
>> 
>> 
>> 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
>> 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
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>> 





More information about the llvm-commits mailing list