[llvm-dev] Auto-vectorization optimization passes cost

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 26 02:41:54 PDT 2016


Hi Stéphane,

Yes, you should be using only LoopVectorize and SLPVectorize in production. If you find something that BBVectorize usefully vectorizes, and SLPVectorize does not, please file a bug. SLPVectorize should cover all of the use cases that BBVectorize covers, but it uses a stricter set of heuristics to find candidates, and sometimes misses things that BBVectorize gets.

 -Hal

----- Original Message -----
> From: "Stéphane Letz via llvm-dev" <llvm-dev at lists.llvm.org>
> To: "via llvm-dev" <llvm-dev at lists.llvm.org>
> Sent: Monday, September 26, 2016 4:22:22 AM
> Subject: [llvm-dev] Auto-vectorization optimization passes cost
> 
> Hi,
> 
> I see that the BBVectorize optimization pass is awfully slow in the
> kind of LLVM IR code that we generate and JIT (tested with LLVM
> 3.8).  I also activate LoopVectorize and SLPVectorize which are much
> faster. Since AFAIR BBVectorize was developed first in the history
> of auto-vectorization passes, what is the status of these different
> passes? Can we safely only use LoopVectorize and SLPVectorize ? Do
> they cover the same use cases that BBVectorize was solving?
> 
> Thanks.
> 
> Stéphane Letz
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> 

-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory


More information about the llvm-dev mailing list