Stéphane Letz via llvm-dev
2016-Sep-26 09:22 UTC
[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
Hal Finkel via llvm-dev
2016-Sep-26 09:41 UTC
[llvm-dev] Auto-vectorization optimization passes cost
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