[llvm] r189858 - Enable late-vectorization by default.

Hal Finkel hfinkel at anl.gov
Tue Sep 3 17:59:04 PDT 2013


----- Original Message -----
> Author: nadav
> Date: Tue Sep  3 16:33:17 2013
> New Revision: 189858
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=189858&view=rev
> Log:
> Enable late-vectorization by default.
> This patch changes the default setting for the LateVectorization flag
> that controls where the loop-vectorizer is ran.
> 
> Perf gains:
> SingleSource/Benchmarks/Shootout/matrix -37.33%
> MultiSource/Benchmarks/PAQ8p/paq8p  -22.83%
> SingleSource/Benchmarks/Linpack/linpack-pc  -16.22%
> SingleSource/Benchmarks/Shootout-C++/ary3 -15.16%
> MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt
> -10.34%
> MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/NodeSplitting-dbl
> -7.12%

Great!

> 
> Regressions:
> SingleSource/Benchmarks/Misc/lowercase  15.10%
> MultiSource/Benchmarks/TSVC/Equivalencing-flt/Equivalencing-flt
> 13.18%
> SingleSource/Benchmarks/Shootout-C++/matrix 8.27%
> SingleSource/Benchmarks/CoyoteBench/lpbench 7.30%

Do we understand anything about these? I'm specifically curious why the Shootout/matrix was helped so much while Shootout-C++/matrix was hurt?

Thanks again,
Hal

> 
> 
> Modified:
>     llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
> 
> Modified: llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp?rev=189858&r1=189857&r2=189858&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp Tue Sep  3
> 16:33:17 2013
> @@ -33,7 +33,7 @@ RunLoopVectorization("vectorize-loops",
>                       cl::desc("Run the Loop vectorization passes"));
>  
>  static cl::opt<bool>
> -LateVectorization("late-vectorize", cl::init(false), cl::Hidden,
> +LateVectorization("late-vectorize", cl::init(true), cl::Hidden,
>                    cl::desc("Run the vectorization pasess late in the
>                    pass "
>                             "pipeline (after the inliner)"));
>  
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-commits mailing list