[llvm-commits] [PATCH] BasicBlock Autovectorization Pass

Hal Finkel hfinkel at anl.gov
Tue Nov 8 07:02:47 PST 2011


On Tue, 2011-11-08 at 15:46 +0100, Duncan Sands wrote:
> Hi Hal,
> 
> > Generally, I've observed slowdowns from the introduction of too many
> > permutations per chain (the chain selection procedure can be changed to
> > help this, and I'll work on that). Also, sometimes legalization of
> > non-native vector operations creates inefficient code, and I'll also
> > look at these cases in more detail.
> 
> the same problem applies when using LLVM to codegen the output of the
> GCC auto-vectorizer (you can do this using dragonegg): in some cases
> the code generators scalarize IR that maps directly to x86 instructions.
> There's a plan to have a codegen option output a message when it
> scalarizes something (probably this would be a private patch rather than
> something that would go into LLVM), and then systematically compile lots
> of code using the gcc auto-vectorizer and fix x86 until all such messages
> go away.

This sounds like a great idea. I think that it would be perfectly
appropriate to just add this to the general debug output. The base LLVM
code generates more than O(#statements) debug output lines anyway, so it
would not make it much more verbose than it already is.

 -Hal

> 
> Ciao, Duncan.
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory




More information about the llvm-commits mailing list